diff --git a/src/repositories/invitation.repository.ts b/src/repositories/invitation.repository.ts index b3143528..e956362b 100644 --- a/src/repositories/invitation.repository.ts +++ b/src/repositories/invitation.repository.ts @@ -40,6 +40,24 @@ export class InvitationRepository { this.client = client; } + async replyInvitation({ + invitationId, + invitationSharedSecret, + action = 'accept', + }: { + invitationId: string; + invitationSharedSecret: string; + action?: string; + }) { + const params = { action }; + const payload = { + invitationId, + invitationSharedSecret, + isGenericInvitation: false, + }; + return await this.client.request.invitation.replyInvitation({ invitationId, params, payload }); + } + getSentInvitations({ skip = 0, limit = 100 } = {}): InvitationScroller { return new InvitationScroller({ skip, diff --git a/src/requests/invitation.request.ts b/src/requests/invitation.request.ts index c1d98dc9..b8e192e5 100644 --- a/src/requests/invitation.request.ts +++ b/src/requests/invitation.request.ts @@ -9,6 +9,18 @@ export class InvitationRequest { this.request = request; } + async replyInvitation({ + invitationId, + params, + payload, + }: { + invitationId: string; + params: { action: string }; + payload: { invitationId: string; invitationSharedSecret: string; isGenericInvitation: boolean }; + }): Promise { + return this.request.post(`relationships/invitations/${invitationId}?action=${params.action}`, payload); + } + sendInvitation({ profileId, trackingId, message }: { profileId: string; trackingId: string; message?: string }): Promise { const requestPayload = { trackingId,