From cebd2e3f5f9a4e5b3fc108c689c6f963ed3bfd04 Mon Sep 17 00:00:00 2001 From: Zdravko Iliev <zdravko.iliev@vereign.com> Date: Tue, 5 Dec 2023 15:45:09 +0000 Subject: [PATCH] feat: add invitation get by id endpoint --- agent-swagger.json | 18 ++++++++++++++++++ libs/askar/src/askar-rest/rest.controller.ts | 5 +++++ libs/askar/src/askar/agent.service.ts | 12 ++++++++++++ 3 files changed, 35 insertions(+) diff --git a/agent-swagger.json b/agent-swagger.json index 0f7708e8..36a7939c 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 cf4f1dd1..a2fc06e3 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 f648dccf..0dd9a78f 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(); -- GitLab