diff --git a/agent-swagger.json b/agent-swagger.json index 0f7708e8f07f507cb284bed4d82a0d82a28d357d..36a7939c1d8ff5118882a4bfcb80090733e8be13 100644 --- a/agent-swagger.json +++ b/agent-swagger.json @@ -82,6 +82,24 @@ } }, "/api/v1/invitations/{id}": { + "get": { + "operationId": "RestController_getInvitationById", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + } + } + }, "delete": { "operationId": "RestController_deleteInvitationById", "parameters": [ diff --git a/libs/askar/src/askar-rest/rest.controller.ts b/libs/askar/src/askar-rest/rest.controller.ts index cf4f1dd1d2576f1c368ace73f3b71849f5d891e4..a2fc06e3d1134ca81392622af07aeb7a11137fab 100644 --- a/libs/askar/src/askar-rest/rest.controller.ts +++ b/libs/askar/src/askar-rest/rest.controller.ts @@ -46,6 +46,11 @@ export class RestController { return this.agentService.createInvitation(createInvitationRequestDto); } + @Get("/invitations/:id") + getInvitationById(@Param("id") id: string) { + return this.agentService.getInvitationById(id); + } + @Delete("/invitations/:id") deleteInvitationById(@Param("id") id: string) { return this.agentService.deleteInvitationById(id); diff --git a/libs/askar/src/askar/agent.service.ts b/libs/askar/src/askar/agent.service.ts index f648dccf3f4aed0e64a1319fbc5278d1bfe49d65..0dd9a78f93f685060e9f9ba11ac5b9142361f4eb 100644 --- a/libs/askar/src/askar/agent.service.ts +++ b/libs/askar/src/askar/agent.service.ts @@ -135,6 +135,18 @@ export class AgentService { return invitationsResponse; }; + getInvitationById = async (oobId: string) => { + const invitation = await this.askar.agent.oob.getById(oobId); + + const response = new CreateInvitationResponseDto(); + response.outOfBandId = invitation.id; + response.createdAt = invitation.createdAt; + response.updatedAt = invitation.updatedAt; + response.role = invitation.role; + response.state = invitation.state; + return response; + }; + async fetchConnections(): Promise<ConnectionRecordDto[]> { const agentResponse = await this.askar.agent.connections.getAll();