diff --git a/apps/connection-manager/src/app/app.controller.ts b/apps/connection-manager/src/app/app.controller.ts index 4eefca2f82328f195d1ba16ce0ddc6914a51d934..98d111dc28bada9384fdf7523a07af58d1f1d2f3 100644 --- a/apps/connection-manager/src/app/app.controller.ts +++ b/apps/connection-manager/src/app/app.controller.ts @@ -7,8 +7,8 @@ import { ConnectionEvent, CreateInvitationResponseDto, GatewayAcceptedResponseDto, - ConnectionReqDto, makeEvent, + IdReqDto, } from "@ocm-engine/dtos"; @Controller() @@ -21,7 +21,7 @@ export class AppController { async create( @Body() payload: { - data: null | CreateInvitationResponseDto | ConnectionReqDto; + data: null | CreateInvitationResponseDto | IdReqDto; type: ConnectionEvent; source: string; }, diff --git a/apps/gateway/src/app/managers/attestation.controller.ts b/apps/gateway/src/app/managers/attestation.controller.ts index a51fdf1b81582cac5bd97af1573f1f1527ff41a7..ce4577f7b73c5e5ae3a75ea8ebf63b7ddd983de6 100644 --- a/apps/gateway/src/app/managers/attestation.controller.ts +++ b/apps/gateway/src/app/managers/attestation.controller.ts @@ -2,7 +2,6 @@ import { Body, Controller, Get, Param, Post, UseFilters } from "@nestjs/common"; import { AllExceptionsHandler } from "../exception.handler"; import { AttestationManagerClient } from "@ocm-engine/clients"; import { - CredentialReqDto, CreateCredentialDefinitionRequsetDto, CreateSchemaRequestDto, CRED_DEF_CREATE, @@ -11,13 +10,13 @@ import { CRED_OFFER_ACCEPT, CRED_OFFER_LIST, GatewayAcceptedResponseDto, - SchemaReqDto, IssueCredentialRequestDto, MakeBasicMessageRequestDto, MESSAGE_MAKE, SCHEMA_CREATE, SCHEMA_GET, SCHEMA_LIST, + IdReqDto, } from "@ocm-engine/dtos"; import { ApiBadRequestResponse, @@ -165,8 +164,8 @@ export class AttestationController { "Method will fetch specific schema or return null. The id of the response will be matched when you receive event from the websocket", tags: ["Schema"], }) - async getSchemaById(@Body() schemaRequestDto: SchemaReqDto) { - return this.amClient.sendPayload<SchemaReqDto>({ + async getSchemaById(@Body() schemaRequestDto: IdReqDto) { + return this.amClient.sendPayload<IdReqDto>({ pattern: "schemas", payload: { source: "/schemas-by-id", @@ -504,8 +503,8 @@ export class AttestationController { tags: ["Credentials Offers"], }) acceptCredential(@Param("credential_record_id") credentialRecordId: string) { - const data = new CredentialReqDto(); - data.credentialRecordId = credentialRecordId; + const data = new IdReqDto(); + data.id = credentialRecordId; return this.amClient.sendPayload({ pattern: "credentials", payload: { diff --git a/apps/gateway/src/app/managers/connection.controller.ts b/apps/gateway/src/app/managers/connection.controller.ts index aa29861f256c4d47dea449b9eb02c7c2f2e57d3b..7fd5db4fef50123344cc31d171493ec452f2ae31 100644 --- a/apps/gateway/src/app/managers/connection.controller.ts +++ b/apps/gateway/src/app/managers/connection.controller.ts @@ -15,7 +15,7 @@ import { CONNECTION_LIST, CreateInvitationResponseDto, GatewayAcceptedResponseDto, - ConnectionReqDto, + IdReqDto, } from "@ocm-engine/dtos"; import { AllExceptionsHandler } from "../exception.handler"; import { @@ -238,10 +238,10 @@ export class ConnectionController { tags: ["Connections"], }) async getById(@Param("id") id: string) { - const request = new ConnectionReqDto(); - request.connectionId = id; + const request = new IdReqDto(); + request.id = id; - return this.cmClient.sendPayload<ConnectionReqDto>({ + return this.cmClient.sendPayload<IdReqDto>({ pattern: "connections", payload: { source: "/connections/:id", diff --git a/apps/gateway/src/app/managers/proof.controller.ts b/apps/gateway/src/app/managers/proof.controller.ts index c90bad7c0ffa0ddd4e10067b51936e0d85a6f092..1bf74b4461d98f1a9c8770010f3301ef0f0b5d2e 100644 --- a/apps/gateway/src/app/managers/proof.controller.ts +++ b/apps/gateway/src/app/managers/proof.controller.ts @@ -2,13 +2,13 @@ import { Body, Controller, Get, Param, Post, UseFilters } from "@nestjs/common"; import { ProofReqDto, GatewayAcceptedResponseDto, - SchemaReqDto, IssueProofRequestDto, PROOF_ACCEPT, PROOF_DECLINE, PROOF_GET, PROOF_ISSUE, PROOF_LIST, + IdReqDto, } from "@ocm-engine/dtos"; import { AllExceptionsHandler } from "../exception.handler"; import { ProofManagerClient } from "@ocm-engine/clients"; @@ -60,7 +60,7 @@ export class ProofController { tags: ["Credentials Proof"], }) proofs() { - return this.pmClient.sendPayload<SchemaReqDto>({ + return this.pmClient.sendPayload<IdReqDto>({ pattern: "proofs", payload: { source: "/credential/proofs", @@ -106,10 +106,10 @@ export class ProofController { tags: ["Credentials Proof"], }) getProofById(@Param("proof_record_id") proofRecordId: string) { - const data = new ProofReqDto(); - data.proofRecordId = proofRecordId; + const data = new IdReqDto(); + data.id = proofRecordId; - return this.pmClient.sendPayload<ProofReqDto>({ + return this.pmClient.sendPayload<IdReqDto>({ pattern: "proofs", payload: { source: "/credentials/proof/:proof_record_id", @@ -275,10 +275,10 @@ export class ProofController { tags: ["Credentials Proof"], }) declineProofRequest(@Param("proof_record_id") proofRecordId: string) { - const data = new ProofReqDto(); - data.proofRecordId = proofRecordId; + const data = new IdReqDto(); + data.id = proofRecordId; - return this.pmClient.sendPayload<ProofReqDto>({ + return this.pmClient.sendPayload<IdReqDto>({ pattern: "proofs", payload: { source: "/credentials/proof/:proof_record_id/decline", diff --git a/libs/askar/src/askar-nats/event.handler.service.ts b/libs/askar/src/askar-nats/event.handler.service.ts index 2c5b440988d57e40b3e48dafbc234875cc7f604c..ee08bcbb3fd70a173e0451e362c704f34034f51b 100644 --- a/libs/askar/src/askar-nats/event.handler.service.ts +++ b/libs/askar/src/askar-nats/event.handler.service.ts @@ -1,7 +1,6 @@ import { Injectable, Logger } from "@nestjs/common"; import { AgentService } from "../askar/agent.service"; import { - CredentialReqDto, ProofReqDto, CloudEventDto, CONNECTION_ACCEPT, @@ -16,8 +15,6 @@ import { CRED_LIST, CRED_OFFER_ACCEPT, CRED_OFFER_LIST, - ConnectionReqDto, - SchemaReqDto, IssueCredentialRequestDto, IssueProofRequestDto, MakeBasicMessageRequestDto, @@ -30,6 +27,7 @@ import { SCHEMA_GET, SCHEMA_LIST, PROOF_DECLINE, + IdReqDto, } from "@ocm-engine/dtos"; import asyncRetry from "async-retry"; @@ -58,8 +56,8 @@ export class EventHandlerService { break; case CONNECTION_GET: - dto = event.data as ConnectionReqDto; - data = await this.agentService.getConnectionById(dto.connectionId); + dto = event.data as IdReqDto; + data = await this.agentService.getConnectionById(dto.id); break; case SCHEMA_CREATE: @@ -71,8 +69,8 @@ export class EventHandlerService { break; case SCHEMA_GET: - dto = event.data as SchemaReqDto; - data = await this.agentService.getSchemaById(dto.schemaId); + dto = event.data as IdReqDto; + data = await this.agentService.getSchemaById(dto.id); break; case CRED_DEF_CREATE: data = await this.agentService.createCredentialDefinition( @@ -95,9 +93,9 @@ export class EventHandlerService { break; case CRED_OFFER_ACCEPT: - dto = event.data as CredentialReqDto; + dto = event.data as IdReqDto; data = await this.agentService.acceptCredential( - dto.credentialRecordId, + dto.id, ); break; @@ -111,8 +109,8 @@ export class EventHandlerService { break; case PROOF_GET: - dto = event.data as ProofReqDto; - data = await this.agentService.getProofById(dto.proofRecordId); + dto = event.data as IdReqDto; + data = await this.agentService.getProofById(dto.id); break; case PROOF_ACCEPT: @@ -122,9 +120,9 @@ export class EventHandlerService { break; case PROOF_DECLINE: - dto = event.data as ProofReqDto; + dto = event.data as IdReqDto; data = await this.agentService.declineProofRequest( - dto.proofRecordId, + dto.id, ); break; diff --git a/libs/askar/src/askar-rest/rest.controller.ts b/libs/askar/src/askar-rest/rest.controller.ts index f8ca05f41c17afa0ae5b166df56be1fc02793985..d6e208587137e1fa71e61cb98e1a96e3f3270408 100644 --- a/libs/askar/src/askar-rest/rest.controller.ts +++ b/libs/askar/src/askar-rest/rest.controller.ts @@ -9,6 +9,7 @@ import { CreateSchemaRequestDto, MakeBasicMessageRequestDto, ProofReqDto, + IdReqDto, } from "@ocm-engine/dtos"; import { AllExceptionsHandler } from "./exception.handler"; @@ -79,8 +80,8 @@ export class RestController { } @Get("credential/proof/:proof_record_id") - getProof(@Param("proof_record_id") data: ProofReqDto) { - return this.agentService.getProofById(data.proofRecordId); + getProof(@Param("proof_record_id") data: IdReqDto) { + return this.agentService.getProofById(data.id); } @Post(`/credential/proof/accept`) diff --git a/libs/askar/src/askar/agent.service.ts b/libs/askar/src/askar/agent.service.ts index 9f62532a6b88bdfbd35799ce296cf867668014f7..a4622aa538b7c2a09f4fe533b6fc5bfd712209a7 100644 --- a/libs/askar/src/askar/agent.service.ts +++ b/libs/askar/src/askar/agent.service.ts @@ -410,7 +410,8 @@ export class AgentService { if (acceptProofDto.proofUrl) { return this.acceptOobProof(acceptProofDto.proofUrl); } - return this.acceptConnectionProof(acceptProofDto.proofRecordId); + // REVIEW: should the undefined case be covered inside acceptConnectionProof? + return this.acceptConnectionProof(acceptProofDto.proofRecordId as string); }; acceptOobProof = async (url: string) => { diff --git a/libs/dtos/src/dtos/requests/connection.req.dto.ts b/libs/dtos/src/dtos/requests/connection.req.dto.ts deleted file mode 100644 index cd091613ec41267276175aa50064d743a1d0bf1c..0000000000000000000000000000000000000000 --- a/libs/dtos/src/dtos/requests/connection.req.dto.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { IsNotEmpty, IsString } from "class-validator"; - - -export class ConnectionReqDto { - //@example 6464b521-005a-4379-91e0-a3692b31cafd - @IsNotEmpty() - @IsString() - connectionId: string; -} diff --git a/libs/dtos/src/dtos/requests/credential.req.dto.ts b/libs/dtos/src/dtos/requests/credential.req.dto.ts deleted file mode 100644 index f94a268201126e6f8a18ff0a0ad68f80ba233bbe..0000000000000000000000000000000000000000 --- a/libs/dtos/src/dtos/requests/credential.req.dto.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { IsNotEmpty, IsString } from "class-validator"; - - -export class CredentialReqDto { - //@example cf8395a5-9a53-4e06-8a5d-04e0fc00ca04 - @IsNotEmpty() - @IsString() - credentialRecordId: string; -} \ No newline at end of file diff --git a/libs/dtos/src/dtos/requests/creddef.req.dto.ts b/libs/dtos/src/dtos/requests/id.req.dto.ts similarity index 58% rename from libs/dtos/src/dtos/requests/creddef.req.dto.ts rename to libs/dtos/src/dtos/requests/id.req.dto.ts index 681e3eeceb5dde3cd2a064f9b5bb16b722ad8482..5873b7f9ce70563d5fb8dc933470fc2204db80fd 100644 --- a/libs/dtos/src/dtos/requests/creddef.req.dto.ts +++ b/libs/dtos/src/dtos/requests/id.req.dto.ts @@ -1,8 +1,8 @@ import { IsNotEmpty, IsString } from "class-validator"; -export class CreddefReqDto { +export class IdReqDto { @IsNotEmpty() @IsString() - credentialDefinitionId: string; + id: string; } diff --git a/libs/dtos/src/dtos/requests/proof.req.dto.ts b/libs/dtos/src/dtos/requests/proof.req.dto.ts index 4b33d3639d20e659c71aa9efcbac7d57cb4a1b90..8e995435c423e9b450bbab572ebc3a2a61eeb187 100644 --- a/libs/dtos/src/dtos/requests/proof.req.dto.ts +++ b/libs/dtos/src/dtos/requests/proof.req.dto.ts @@ -2,15 +2,13 @@ import { IsNotEmpty, IsString, ValidateIf } from "class-validator"; export class ProofReqDto { - @ValidateIf((o) => o.proofUrl === undefined) + @ValidateIf((o) => o.proofUrl === undefined, { always: true }) @IsString() - @ValidateIf((o) => o.proofUrl === undefined) @IsNotEmpty() - proofRecordId: string; + proofRecordId: string | undefined; - @ValidateIf((o) => o.proofRecordId === undefined) + @ValidateIf((o) => o.proofRecordId === undefined, { always: true }) @IsString() - @ValidateIf((o) => o.proofRecordId === undefined) @IsNotEmpty() - proofUrl: string; + proofUrl: string | undefined; } \ No newline at end of file diff --git a/libs/dtos/src/dtos/requests/schema.req.dto.ts b/libs/dtos/src/dtos/requests/schema.req.dto.ts deleted file mode 100644 index 4bf2cb6ceb4d9a8b3e761e634781cd429f5098f2..0000000000000000000000000000000000000000 --- a/libs/dtos/src/dtos/requests/schema.req.dto.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { IsNotEmpty, IsString } from "class-validator"; - - -export class SchemaReqDto { - //@example "did:indy:LEDNGER:SXM76gQwRnjkgoz2oBnGjd/anoncreds/v0/SCHEMA/test schema/1.0.2" - @IsNotEmpty() - @IsString() - schemaId: string; -} diff --git a/libs/dtos/src/events/dtoToEventTransformer.ts b/libs/dtos/src/events/dtoToEventTransformer.ts index 9d885143d1236127e5d81ffc1127ded67733c694..586f96f1312f76783b3771430e76605698e03fe1 100644 --- a/libs/dtos/src/events/dtoToEventTransformer.ts +++ b/libs/dtos/src/events/dtoToEventTransformer.ts @@ -11,24 +11,22 @@ import { ConnectionUnsupportedTypeError } from "../errors/connection.unsupported import { CreateCredentialDefinitionRequsetDto } from "../dtos/requests/create.credential.definition.request.dto"; import { CreateInvitationResponseDto } from "../dtos/responses/create.invitation.response.dto"; import { CreateSchemaRequestDto } from "../dtos/requests/create.schema.request.dto"; -import { ConnectionReqDto } from "../dtos/requests/connection.req.dto"; import { IssueCredentialRequestDto } from "../dtos/requests/issue.credential.request.dto"; import { IssueProofRequestDto } from "../dtos/requests/issue.proof.request.dto"; -import { CredentialReqDto } from "../dtos/requests/credential.req.dto"; import { MessageRecordDto } from "../dtos/generics/message.record.dto"; import { MakeBasicMessageRequestDto } from "../dtos/requests/make.basic.message.request.dto"; import { ProofReqDto } from "../dtos/requests/proof.req.dto"; import { ProofRecordDto } from "../dtos/generics/proof.record.dto"; +import { IdReqDto } from "../dtos/requests/id.req.dto"; export const makeEvent = (payload: { data: | null | IssueProofRequestDto - | CredentialReqDto | CreateInvitationResponseDto - | ConnectionReqDto | CreateSchemaRequestDto | ProofReqDto + | IdReqDto | CreateSchemaRequestDto | CreateCredentialDefinitionRequsetDto | ProofRecordDto diff --git a/libs/dtos/src/index.ts b/libs/dtos/src/index.ts index 46976e38624544097708d0d773e174b0592fdfb6..df61e7a5816899986b8da6bd0e412faa3b632dc7 100644 --- a/libs/dtos/src/index.ts +++ b/libs/dtos/src/index.ts @@ -8,12 +8,8 @@ export * from "./dtos/generics/proof.record.dto"; export * from "./dtos/generics/schema.record.dto"; export * from "./dtos/generics/message.record.dto"; - -export * from "./dtos/requests/connection.req.dto"; -export * from "./dtos/requests/creddef.req.dto"; -export * from "./dtos/requests/credential.req.dto"; export * from "./dtos/requests/proof.req.dto"; -export * from "./dtos/requests/schema.req.dto"; +export * from "./dtos/requests/id.req.dto"; export * from "./dtos/requests/create.schema.request.dto"; export * from "./dtos/requests/create.credential.definition.request.dto";