Skip to content

Commit

Permalink
feat: extending Agent.acceptInvitation to handle OOB + Prism (hyperle…
Browse files Browse the repository at this point in the history
…dger#111)

Signed-off-by: Francisco Javier Ribó Labrador <[email protected]>
  • Loading branch information
curtis-h authored and elribonazo committed May 2, 2024
1 parent 5c5a6f8 commit 31b02f0
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 6 deletions.
2 changes: 1 addition & 1 deletion demos/browser/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ const OOB: React.FC<{ agent: SDK.Agent, pluto: SDK.Domain.Pluto; }> = props => {
return;
}
const parsed = await props.agent.parseOOBInvitation(new URL(oob));
await props.agent.acceptDIDCommInvitation(parsed);
await props.agent.acceptInvitation(parsed);
}

const connection = connections.at(0);
Expand Down
14 changes: 13 additions & 1 deletion src/prism-agent/Agent.Invitations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,18 @@ export class AgentInvitations implements AgentInvitationsClass {
throw new AgentError.UnknownInvitationTypeError();
}

async acceptInvitation(invitation: InvitationType): Promise<void> {
if (invitation.type === ProtocolType.Didcomminvitation) {
return this.acceptDIDCommInvitation(invitation);
}

if (invitation instanceof PrismOnboardingInvitation) {
return this.acceptPrismOnboardingInvitation(invitation);
}

throw new AgentError.InvitationIsInvalidError();
}

/**
* Asyncronously accept a didcomm v2 invitation, will create a pair between the Agent
* its connecting with and the current owner's did
Expand Down Expand Up @@ -101,7 +113,7 @@ export class AgentInvitations implements AgentInvitationsClass {
* @param {PrismOnboardingInvitation} invitation
* @returns {Promise<void>}
*/
async acceptInvitation(invitation: PrismOnboardingInvitation): Promise<void> {
async acceptPrismOnboardingInvitation(invitation: PrismOnboardingInvitation): Promise<void> {
if (!invitation.from) {
throw new AgentError.UnknownInvitationTypeError();
}
Expand Down
9 changes: 5 additions & 4 deletions src/prism-agent/Agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -321,13 +321,13 @@ export default class Agent
}

/**
* Asyncronously accept a prism onboarding invitation, used to onboard the current did in a prism agent.
*
* Handle an invitation to create a connection
*
* @async
* @param {PrismOnboardingInvitation} invitation
* @param {InvitationType} invitation - an OOB or PrismOnboarding invitation
* @returns {Promise<void>}
*/
async acceptInvitation(invitation: PrismOnboardingInvitation): Promise<void> {
async acceptInvitation(invitation: InvitationType): Promise<void> {
return this.agentInvitations.acceptInvitation(invitation);
}

Expand Down Expand Up @@ -369,6 +369,7 @@ export default class Agent
* Asyncronously accept a didcomm v2 invitation, will create a pair between the Agent
* its connecting with and the current owner's did
*
* @deprecated - use `acceptInvitation`
* @async
* @param {OutOfBandInvitation} invitation
* @returns {*}
Expand Down

0 comments on commit 31b02f0

Please sign in to comment.