diff --git a/apps/api-gateway/src/ecosystem/ecosystem.controller.ts b/apps/api-gateway/src/ecosystem/ecosystem.controller.ts index 7858a1791..51fc3262c 100644 --- a/apps/api-gateway/src/ecosystem/ecosystem.controller.ts +++ b/apps/api-gateway/src/ecosystem/ecosystem.controller.ts @@ -68,8 +68,8 @@ export class EcosystemController { @Param('orgId') orgId: string, @Query() getAllEndorsementsDto: GetAllEndorsementsDto, @Res() res: Response - ): Promise { - + ): Promise { + const ecosystemList = await this.ecosystemService.getEndorsementTranasactions(ecosystemId, orgId, getAllEndorsementsDto); const finalResponse: IResponseType = { statusCode: HttpStatus.OK, @@ -88,7 +88,7 @@ export class EcosystemController { async getEcosystem( @Param('orgId') orgId: string, @Res() res: Response - ): Promise { + ): Promise { const ecosystemList = await this.ecosystemService.getAllEcosystem(orgId); const finalResponse: IResponseType = { statusCode: HttpStatus.OK, @@ -128,7 +128,7 @@ export class EcosystemController { @Query() getAllInvitationsDto: GetAllSentEcosystemInvitationsDto, @Param('orgId') orgId: string, @User() user: user, @Res() res: Response): Promise { - + if (!Object.values(Invitation).includes(getAllInvitationsDto.status)) { throw new BadRequestException(ResponseMessages.ecosystem.error.invalidInvitationStatus); } @@ -249,15 +249,15 @@ export class EcosystemController { return res.status(HttpStatus.CREATED).json(finalResponse); } - @Post('/:orgId/transaction/schema') + @Post('/:ecosystemId/:orgId/transaction/schema') @ApiOperation({ summary: 'Request new schema', description: 'Request new schema' }) @ApiResponse({ status: 201, description: 'Success', type: ApiResponseDto }) @UseGuards(AuthGuard('jwt'), EcosystemRolesGuard, OrgRolesGuard) @ApiBearerAuth() - @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_OWNER, EcosystemRoles.ECOSYSTEM_LEAD) - @Roles(OrgRoles.OWNER, OrgRoles.ADMIN) - async requestSchemaTransaction(@Body() requestSchemaPayload: RequestSchemaDto, @Param('orgId') orgId: number, @Res() res: Response): Promise { - await this.ecosystemService.schemaEndorsementRequest(requestSchemaPayload, orgId); + @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_MEMBER) + @Roles(OrgRoles.OWNER, OrgRoles.ADMIN, OrgRoles.ISSUER) + async requestSchemaTransaction(@Body() requestSchemaPayload: RequestSchemaDto, @Param('orgId') orgId: number, @Param('ecosystemId') ecosystemId: string, @Res() res: Response): Promise { + await this.ecosystemService.schemaEndorsementRequest(requestSchemaPayload, orgId, ecosystemId); const finalResponse: IResponseType = { statusCode: HttpStatus.CREATED, message: ResponseMessages.ecosystem.success.schemaRequest @@ -266,30 +266,31 @@ export class EcosystemController { } - @Post('/:orgId/transaction/cred-def') + @Post('/:ecosystemId/:orgId/transaction/cred-def') @ApiOperation({ summary: 'Request new credential-definition', description: 'Request new credential-definition' }) @ApiResponse({ status: 201, description: 'Success', type: ApiResponseDto }) @UseGuards(AuthGuard('jwt'), EcosystemRolesGuard, OrgRolesGuard) @ApiBearerAuth() - @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_OWNER, EcosystemRoles.ECOSYSTEM_LEAD) - @Roles(OrgRoles.OWNER, OrgRoles.ADMIN) - async requestCredDefTransaction(@Body() requestCredDefPayload: RequestCredDefDto, @Param('orgId') orgId: number, @Res() res: Response): Promise { - await this.ecosystemService.credDefEndorsementRequest(requestCredDefPayload, orgId); + @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_MEMBER) + @Roles(OrgRoles.OWNER, OrgRoles.ADMIN, OrgRoles.ISSUER) + async requestCredDefTransaction(@Body() requestCredDefPayload: RequestCredDefDto, @Param('orgId') orgId: number, @Param('ecosystemId') ecosystemId: string, @Res() res: Response): Promise { + await this.ecosystemService.credDefEndorsementRequest(requestCredDefPayload, orgId, ecosystemId); const finalResponse: IResponseType = { statusCode: HttpStatus.CREATED, message: ResponseMessages.ecosystem.success.schemaRequest }; return res.status(HttpStatus.CREATED).json(finalResponse); } - @Post('transaction/sign/:endorsementId') + + @Post('/:ecosystemId/transaction/sign/:endorsementId') @ApiOperation({ summary: 'Sign transaction', description: 'Sign transaction' }) @ApiResponse({ status: 201, description: 'Success', type: ApiResponseDto }) @UseGuards(AuthGuard('jwt'), EcosystemRolesGuard, OrgRolesGuard) @ApiBearerAuth() - @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_OWNER, EcosystemRoles.ECOSYSTEM_LEAD) + @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_LEAD) @Roles(OrgRoles.OWNER, OrgRoles.ADMIN) - async SignEndorsementRequests(@Param('endorsementId') endorsementId: string, @Res() res: Response): Promise { - await this.ecosystemService.signTransaction(endorsementId); + async SignEndorsementRequests(@Param('endorsementId') endorsementId: string, @Param('ecosystemId') ecosystemId: string, @Res() res: Response): Promise { + await this.ecosystemService.signTransaction(endorsementId, ecosystemId); const finalResponse: IResponseType = { statusCode: HttpStatus.CREATED, message: ResponseMessages.ecosystem.success.sign @@ -297,15 +298,15 @@ export class EcosystemController { return res.status(HttpStatus.CREATED).json(finalResponse); } - @Post('transaction/sumbit/:endorsementId') + @Post('/:ecosystemId/transaction/sumbit/:endorsementId') @ApiOperation({ summary: 'Sumbit transaction', description: 'Sumbit transaction' }) @ApiResponse({ status: 201, description: 'Success', type: ApiResponseDto }) @UseGuards(AuthGuard('jwt'), EcosystemRolesGuard, OrgRolesGuard) @ApiBearerAuth() - @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_OWNER, EcosystemRoles.ECOSYSTEM_LEAD) - @Roles(OrgRoles.OWNER, OrgRoles.ADMIN) - async SumbitEndorsementRequests(@Param('endorsementId') endorsementId: string, @Res() res: Response): Promise { - await this.ecosystemService.submitTransaction(endorsementId); + @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_MEMBER) + @Roles(OrgRoles.OWNER, OrgRoles.ADMIN, OrgRoles.ISSUER) + async SumbitEndorsementRequests(@Param('endorsementId') endorsementId: string, @Param('ecosystemId') ecosystemId: string, @Res() res: Response): Promise { + await this.ecosystemService.submitTransaction(endorsementId, ecosystemId); const finalResponse: IResponseType = { statusCode: HttpStatus.CREATED, message: ResponseMessages.ecosystem.success.sign @@ -331,9 +332,9 @@ export class EcosystemController { @EcosystemsRoles(EcosystemRoles.ECOSYSTEM_OWNER, EcosystemRoles.ECOSYSTEM_LEAD) @Roles(OrgRoles.OWNER, OrgRoles.ADMIN) async createInvitation(@Body() bulkInvitationDto: BulkEcosystemInvitationDto, - @Param('ecosystemId') ecosystemId: string, - @Param('orgId') orgId: string, - @User() user: user, @Res() res: Response): Promise { + @Param('ecosystemId') ecosystemId: string, + @Param('orgId') orgId: string, + @User() user: user, @Res() res: Response): Promise { bulkInvitationDto.ecosystemId = ecosystemId; await this.ecosystemService.createInvitation(bulkInvitationDto, String(user.id)); @@ -347,33 +348,33 @@ export class EcosystemController { } - /** - * - * @param acceptRejectEcosystemInvitation - * @param reqUser - * @param res - * @returns Ecosystem invitation status - */ - @Post('/:orgId/invitations/:invitationId') - @ApiOperation({ - summary: 'Accept or reject ecosystem invitation', - description: 'Accept or Reject ecosystem invitations' - }) - @UseGuards(AuthGuard('jwt'), OrgRolesGuard) - @ApiBearerAuth() - @Roles(OrgRoles.OWNER) - async acceptRejectEcosystemInvitaion(@Body() acceptRejectEcosystemInvitation: AcceptRejectEcosystemInvitationDto, @Param('orgId') orgId: string, @Param('invitationId') invitationId: string, @User() user: user, @Res() res: Response): Promise { - acceptRejectEcosystemInvitation.orgId = orgId; - acceptRejectEcosystemInvitation.invitationId = invitationId; + /** + * + * @param acceptRejectEcosystemInvitation + * @param reqUser + * @param res + * @returns Ecosystem invitation status + */ + @Post('/:orgId/invitations/:invitationId') + @ApiOperation({ + summary: 'Accept or reject ecosystem invitation', + description: 'Accept or Reject ecosystem invitations' + }) + @UseGuards(AuthGuard('jwt'), OrgRolesGuard) + @ApiBearerAuth() + @Roles(OrgRoles.OWNER) + async acceptRejectEcosystemInvitaion(@Body() acceptRejectEcosystemInvitation: AcceptRejectEcosystemInvitationDto, @Param('orgId') orgId: string, @Param('invitationId') invitationId: string, @User() user: user, @Res() res: Response): Promise { + acceptRejectEcosystemInvitation.orgId = orgId; + acceptRejectEcosystemInvitation.invitationId = invitationId; - const invitationRes = await this.ecosystemService.acceptRejectEcosystemInvitaion(acceptRejectEcosystemInvitation, user.email); + const invitationRes = await this.ecosystemService.acceptRejectEcosystemInvitaion(acceptRejectEcosystemInvitation, user.email); - const finalResponse: IResponseType = { - statusCode: HttpStatus.CREATED, - message: invitationRes.response - }; - return res.status(HttpStatus.CREATED).json(finalResponse); - } + const finalResponse: IResponseType = { + statusCode: HttpStatus.CREATED, + message: invitationRes.response + }; + return res.status(HttpStatus.CREATED).json(finalResponse); + } @Put('/:ecosystemId/:orgId') @ApiOperation({ summary: 'Edit ecosystem', description: 'Edit existing ecosystem' }) @@ -395,7 +396,7 @@ export class EcosystemController { return res.status(HttpStatus.OK).json(finalResponse); } - + @Delete('/:ecosystemId/:orgId/invitations/:invitationId') @ApiOperation({ summary: 'Delete ecosystem pending invitations', description: 'Delete ecosystem pending invitations' }) @ApiResponse({ status: 200, description: 'Success', type: ApiResponseDto }) @@ -404,11 +405,11 @@ export class EcosystemController { @Roles(OrgRoles.OWNER) @ApiBearerAuth() async deleteEcosystemInvitations( - @Param('ecosystemId') ecosystemId: string, - @Param('invitationId') invitationId: string, - @Param('orgId') orgId: string, + @Param('ecosystemId') ecosystemId: string, + @Param('invitationId') invitationId: string, + @Param('orgId') orgId: string, @Res() res: Response): Promise { - + await this.ecosystemService.deleteEcosystemInvitations(invitationId); const finalResponse: IResponseType = { statusCode: HttpStatus.OK, diff --git a/apps/api-gateway/src/ecosystem/ecosystem.service.ts b/apps/api-gateway/src/ecosystem/ecosystem.service.ts index 058c2d8e9..ca7ae4ab7 100644 --- a/apps/api-gateway/src/ecosystem/ecosystem.service.ts +++ b/apps/api-gateway/src/ecosystem/ecosystem.service.ts @@ -130,23 +130,23 @@ export class EcosystemService extends BaseService { } - async schemaEndorsementRequest(requestSchemaPayload: RequestSchemaDto, orgId: number): Promise { - const payload = { requestSchemaPayload, orgId}; + async schemaEndorsementRequest(requestSchemaPayload: RequestSchemaDto, orgId: number, ecosystemId:string): Promise { + const payload = { requestSchemaPayload, orgId, ecosystemId}; return this.sendNats(this.serviceProxy, 'schema-endorsement-request', payload); } - async credDefEndorsementRequest(requestCredDefPayload: RequestCredDefDto, orgId: number): Promise { - const payload = { requestCredDefPayload, orgId}; + async credDefEndorsementRequest(requestCredDefPayload: RequestCredDefDto, orgId: number, ecosystemId:string): Promise { + const payload = { requestCredDefPayload, orgId, ecosystemId}; return this.sendNats(this.serviceProxy, 'credDef-endorsement-request', payload); } - async signTransaction(endorsementId:string): Promise { - const payload = { endorsementId }; + async signTransaction(endorsementId:string, ecosystemId:string): Promise { + const payload = { endorsementId, ecosystemId }; return this.sendNats(this.serviceProxy, 'sign-endorsement-transaction', payload); } - async submitTransaction(endorsementId:string): Promise { - const payload = { endorsementId }; + async submitTransaction(endorsementId:string, ecosystemId:string): Promise { + const payload = { endorsementId, ecosystemId }; return this.sendNats(this.serviceProxy, 'sumbit-endorsement-transaction', payload); } } diff --git a/apps/ecosystem/interfaces/ecosystem.interfaces.ts b/apps/ecosystem/interfaces/ecosystem.interfaces.ts index 2d01cbebb..1ca0aff37 100644 --- a/apps/ecosystem/interfaces/ecosystem.interfaces.ts +++ b/apps/ecosystem/interfaces/ecosystem.interfaces.ts @@ -1,8 +1,14 @@ +export interface AttributeValue { + attributeName: string; + schemaDataType: string; + displayName: string; +} + export interface RequestSchemaEndorsement { orgId: number name: string; version: string; - attributes: IAttributeValue[]; + attributes: AttributeValue[]; endorse?: boolean; } diff --git a/apps/ecosystem/src/ecosystem.controller.ts b/apps/ecosystem/src/ecosystem.controller.ts index 86d5c28a2..c4d07d871 100644 --- a/apps/ecosystem/src/ecosystem.controller.ts +++ b/apps/ecosystem/src/ecosystem.controller.ts @@ -146,9 +146,9 @@ export class EcosystemController { */ @MessagePattern({ cmd: 'schema-endorsement-request' }) async schemaEndorsementRequest( - @Body() payload: { requestSchemaPayload: RequestSchemaEndorsement; orgId: number } + @Body() payload: { requestSchemaPayload: RequestSchemaEndorsement; orgId: number, ecosystemId: string } ): Promise { - return this.ecosystemService.requestSchemaEndorsement(payload.requestSchemaPayload, payload.orgId); + return this.ecosystemService.requestSchemaEndorsement(payload.requestSchemaPayload, payload.orgId, payload.ecosystemId); } /** @@ -158,9 +158,9 @@ export class EcosystemController { */ @MessagePattern({ cmd: 'credDef-endorsement-request' }) async credDefEndorsementRequest( - @Body() payload: { requestCredDefPayload: RequestCredDeffEndorsement; orgId: number } + @Body() payload: { requestCredDefPayload: RequestCredDeffEndorsement; orgId: number; ecosystemId:string} ): Promise { - return this.ecosystemService.requestCredDeffEndorsement(payload.requestCredDefPayload, payload.orgId); + return this.ecosystemService.requestCredDeffEndorsement(payload.requestCredDefPayload, payload.orgId, payload.ecosystemId); } /** @@ -170,9 +170,9 @@ export class EcosystemController { */ @MessagePattern({ cmd: 'sign-endorsement-transaction' }) async signTransaction( - @Body() payload: { endorsementId: string } + @Body() payload: { endorsementId: string, ecosystemId:string } ): Promise { - return this.ecosystemService.signTransaction(payload.endorsementId); + return this.ecosystemService.signTransaction(payload.endorsementId, payload.ecosystemId); } /** @@ -182,8 +182,8 @@ export class EcosystemController { */ @MessagePattern({ cmd: 'sumbit-endorsement-transaction' }) async submitTransaction( - @Body() payload: { endorsementId: string } + @Body() payload: { endorsementId: string, ecosystemId:string } ): Promise { - return this.ecosystemService.submitTransaction(payload.endorsementId); + return this.ecosystemService.submitTransaction(payload.endorsementId, payload.ecosystemId); } } diff --git a/apps/ecosystem/src/ecosystem.repository.ts b/apps/ecosystem/src/ecosystem.repository.ts index 96e3a5166..f89ec9c7c 100644 --- a/apps/ecosystem/src/ecosystem.repository.ts +++ b/apps/ecosystem/src/ecosystem.repository.ts @@ -4,7 +4,7 @@ import { PrismaService } from '@credebl/prisma-service'; import { ecosystem, ecosystem_invitations, ecosystem_orgs, ecosystem_roles, endorsement_transaction, org_agents, platform_config } from '@prisma/client'; import { EcosystemInvitationStatus, EcosystemOrgStatus, EcosystemRoles, endorsementTransactionStatus, endorsementTransactionType } from '../enums/ecosystem.enum'; import { updateEcosystemOrgsDto } from '../dtos/update-ecosystemOrgs.dto'; -import { SchemaTransactionResponse } from '../interfaces/ecosystem.interfaces'; +import { SchemaTransactionResponse } from '../interfaces/ecosystem.interfaces'; import { ResponseMessages } from '@credebl/common/response-messages'; // eslint-disable-next-line camelcase @@ -464,13 +464,16 @@ export class EcosystemRepository { } /** - * Description: Get getAgentEndPoint by orgId - * @param orgId + * Description: Get getAgentEndPoint by invalidEcosystemId + * @param invalidEcosystemId * @returns Get getAgentEndPoint details */ // eslint-disable-next-line camelcase - async getEcosystemLeadDetails(): Promise { + async getEcosystemLeadDetails(ecosystemId:string): Promise { try { + if (!ecosystemId) { + throw new InternalServerErrorException(ResponseMessages.ecosystem.error.invalidEcosystemId); + } const ecosystemRoleDetails = await this.prisma.ecosystem_roles.findFirst({ where: { name: EcosystemRoles.ECOSYSTEM_LEAD @@ -478,7 +481,8 @@ export class EcosystemRepository { }); const ecosystemLeadDetails = await this.prisma.ecosystem_orgs.findFirst({ where: { - ecosystemRoleId: ecosystemRoleDetails.id + ecosystemRoleId: ecosystemRoleDetails.id, + ecosystemId } }); return ecosystemLeadDetails; @@ -507,6 +511,7 @@ export class EcosystemRepository { async storeTransactionRequest( schemaTransactionResponse: SchemaTransactionResponse, + requestBody: object, type: endorsementTransactionType ): Promise { try { @@ -519,7 +524,8 @@ export class EcosystemRepository { status, ecosystemOrgId, responsePayload: '', - type + type, + requestBody } }); } catch (error) { diff --git a/apps/ecosystem/src/ecosystem.service.ts b/apps/ecosystem/src/ecosystem.service.ts index a213a84e5..4cb2160c8 100644 --- a/apps/ecosystem/src/ecosystem.service.ts +++ b/apps/ecosystem/src/ecosystem.service.ts @@ -266,8 +266,9 @@ export class EcosystemService { * @param RequestSchemaEndorsement * @returns */ - async requestSchemaEndorsement(requestSchemaPayload: RequestSchemaEndorsement, orgId: number): Promise { + async requestSchemaEndorsement(requestSchemaPayload: RequestSchemaEndorsement, orgId: number, ecosystemId:string): Promise { try { + const ecosystemMemberDetails = await this.ecosystemRepository.getAgentDetails(orgId); if (!ecosystemMemberDetails) { throw new InternalServerErrorException(ResponseMessages.ecosystem.error.notFound); @@ -280,7 +281,7 @@ export class EcosystemService { const attributeArray = requestSchemaPayload.attributes.map(item => item.attributeName); - const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(); + const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(ecosystemId); const ecosystemLeadAgentDetails = await this.ecosystemRepository.getAgentDetails(Number(getEcosystemLeadDetails.orgId)); @@ -311,7 +312,7 @@ export class EcosystemService { if ('failed' === schemaTransactionRequest.message.schemaState.state) { throw new InternalServerErrorException(ResponseMessages.ecosystem.error.requestSchemaTransaction); } - return this.ecosystemRepository.storeTransactionRequest(schemaTransactionResponse, endorsementTransactionType.SCHEMA); + return this.ecosystemRepository.storeTransactionRequest(schemaTransactionResponse, requestSchemaPayload, endorsementTransactionType.SCHEMA); } catch (error) { this.logger.error(`In request schema endorsement : ${JSON.stringify(error)}`); @@ -319,7 +320,7 @@ export class EcosystemService { } } - async requestCredDeffEndorsement(requestCredDefPayload: RequestCredDeffEndorsement, orgId: number): Promise { + async requestCredDeffEndorsement(requestCredDefPayload: RequestCredDeffEndorsement, orgId: number, ecosystemId:string): Promise { try { const ecosystemMemberDetails = await this.ecosystemRepository.getAgentDetails(orgId); if (!ecosystemMemberDetails) { @@ -333,7 +334,7 @@ export class EcosystemService { // const attributeArray = requestSchemaPayload.attributes.map(item => item.attributeName); - const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(); + const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(ecosystemId); const ecosystemLeadAgentDetails = await this.ecosystemRepository.getAgentDetails(Number(getEcosystemLeadDetails.orgId)); @@ -364,7 +365,7 @@ export class EcosystemService { throw new InternalServerErrorException(ResponseMessages.ecosystem.error.requestCredDefTransaction); } - return this.ecosystemRepository.storeTransactionRequest(schemaTransactionResponse, endorsementTransactionType.CREDENTIAL_DEFINITION); + return this.ecosystemRepository.storeTransactionRequest(schemaTransactionResponse, requestCredDefPayload, endorsementTransactionType.CREDENTIAL_DEFINITION); } catch (error) { this.logger.error(`In request cred-def endorsement : ${JSON.stringify(error)}`); @@ -420,14 +421,14 @@ export class EcosystemService { } } - async signTransaction(endorsementId: string): Promise { + async signTransaction(endorsementId: string, ecosystemId:string): Promise { try { const endorsementTransactionPayload = await this.ecosystemRepository.getEndorsementTransactionById(endorsementId, endorsementTransactionStatus.REQUESTED); if (!endorsementTransactionPayload) { throw new InternalServerErrorException(ResponseMessages.ecosystem.error.invalidTransaction); } - const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(); + const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(ecosystemId); if (!getEcosystemLeadDetails) { throw new InternalServerErrorException(ResponseMessages.ecosystem.error.leadNotFound); @@ -504,7 +505,7 @@ export class EcosystemService { } } - async submitTransaction(endorsementId: string): Promise { + async submitTransaction(endorsementId: string, ecosystemId:string): Promise { try { const endorsementTransactionPayload: EndorsementTransactionPayload = await this.ecosystemRepository.getEndorsementTransactionById(endorsementId, endorsementTransactionStatus.SIGNED); if (!endorsementTransactionPayload) { @@ -512,7 +513,7 @@ export class EcosystemService { } const ecosystemMemberDetails = await this.ecosystemRepository.getAgentDetails(Number(endorsementTransactionPayload.ecosystemOrgs.orgId)); - const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(); + const getEcosystemLeadDetails = await this.ecosystemRepository.getEcosystemLeadDetails(ecosystemId); // eslint-disable-next-line camelcase const platformConfig: platform_config = await this.ecosystemRepository.getPlatformConfigDetails(); diff --git a/libs/common/src/response-messages/index.ts b/libs/common/src/response-messages/index.ts index e4390a52d..d0525378b 100644 --- a/libs/common/src/response-messages/index.ts +++ b/libs/common/src/response-messages/index.ts @@ -211,6 +211,7 @@ export const ResponseMessages = { notFound: 'Organization not found', leadNotFound: 'Lead details not found', invalidOrgId: 'Invalid organization Id', + invalidEcosystemId: 'Invalid ecosystem Id', invalidTransaction: 'Transaction does not exist', invalidAgentUrl: 'Invalid agent url' } diff --git a/libs/prisma-service/prisma/migrations/20231010055923_endorsement_transaction_schema_body/migration.sql b/libs/prisma-service/prisma/migrations/20231010055923_endorsement_transaction_schema_body/migration.sql new file mode 100644 index 000000000..77f492116 --- /dev/null +++ b/libs/prisma-service/prisma/migrations/20231010055923_endorsement_transaction_schema_body/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "endorsement_transaction" ADD COLUMN "requestBody" JSONB; diff --git a/libs/prisma-service/prisma/schema.prisma b/libs/prisma-service/prisma/schema.prisma index 45aa68dd9..4f2373d54 100644 --- a/libs/prisma-service/prisma/schema.prisma +++ b/libs/prisma-service/prisma/schema.prisma @@ -382,18 +382,19 @@ model ecosystem_orgs { } model endorsement_transaction { - id String @id @default(uuid()) - endorserDid String - authorDid String - requestPayload String - responsePayload String - type String? - createDateTime DateTime @default(now()) @db.Timestamptz(6) - createdBy Int @default(1) - lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6) - lastChangedBy Int @default(1) - deletedAt DateTime? @db.Timestamp(6) - status String - ecosystemOrgId String - ecosystemOrgs ecosystem_orgs @relation(fields: [ecosystemOrgId], references: [id]) + id String @id @default(uuid()) + endorserDid String + authorDid String + requestPayload String + responsePayload String + type String? + createDateTime DateTime @default(now()) @db.Timestamptz(6) + createdBy Int @default(1) + lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6) + lastChangedBy Int @default(1) + deletedAt DateTime? @db.Timestamp(6) + status String + ecosystemOrgId String + requestBody Json? + ecosystemOrgs ecosystem_orgs @relation(fields: [ecosystemOrgId], references: [id]) }