From 5b8466ba78d64cd817509c3b3d81087507a0c258 Mon Sep 17 00:00:00 2001
From: pallavicoder
Date: Thu, 23 Nov 2023 22:24:53 +0530
Subject: [PATCH 1/5] refact:changed email template and added social media logo
Signed-off-by: pallavicoder
---
.../out-of-band-issuance.template.ts | 122 ++++++++++--------
1 file changed, 68 insertions(+), 54 deletions(-)
diff --git a/apps/issuance/templates/out-of-band-issuance.template.ts b/apps/issuance/templates/out-of-band-issuance.template.ts
index 61464c339..c0f105831 100644
--- a/apps/issuance/templates/out-of-band-issuance.template.ts
+++ b/apps/issuance/templates/out-of-band-issuance.template.ts
@@ -2,61 +2,75 @@ export class OutOfBandIssuance {
public outOfBandIssuance(email: string, orgName: string, agentEndPoint: string): string {
try {
return `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hello user ,
-
-
- The organization ${orgName} has requested your assistance in issuing your credential.
- We are delighted to notify you that a credential has been successfully issued to you. To acknowledge and access it, kindly proceed with the instructions outlined below:
-
- Download the ADEYA Wallet from the Play Store.
- Create an Account.
- Scan the QR code provided below.
- Accept the Credential request.
- Check your wallet to access the issued Credential.
- To obtain your credential, you can either click the button below or scan the QR code provided in the attachment.
-
-
- If you need help or have any questions, don't hesitate to reach out to our dedicated support team.
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hello user,
+
+
+ The organization ${orgName} has initiated issuance of your digital credential.
+
+ To acknowledge and access your credential, kindly proceed with following steps:
+
+ Download the ADEYA SSI
+ Android Play Store /
+iOS App Store .
+ Complete the onboarding process.
+ Open the link provided in the ADEYA SSI App.
+ Accept the Credential.
+ Check "Credentials" tab in the ADEYA SSI App to view the issued Credential.
+
+
+
+
+
+ Note: If the above steps do not work for you, please open the attached QR Code image on another device, and scan the QR code using the ADEYA SSI App from your mobile device.
+ The QR Code is single-use.
+
+
+
+
+ If you need help, don't hesitate to reach out to our dedicated support team at support@blockster.global .
+
-
-
-
-
-
- `;
+
+
+
+
+
+ `;
} catch (error) {}
}
}
From af0d7cc5363bbb141af42ac7ceda75d2c88b4f99 Mon Sep 17 00:00:00 2001
From: KulkarniShashank
Date: Fri, 24 Nov 2023 23:40:00 +0530
Subject: [PATCH 2/5] feat: network url fetch on the ledger table
---
.../src/connection/connection.controller.ts | 4 +-
.../src/connection/connection.service.ts | 2 +-
.../src/issuance/issuance.service.ts | 2 +-
.../src/platform/platform.controller.ts | 24 +++++++-
.../src/platform/platform.service.ts | 9 +++
apps/connection/src/connection.repository.ts | 11 +---
.../interfaces/issuance.interfaces.ts | 13 +++-
apps/issuance/src/issuance.controller.ts | 9 ++-
apps/issuance/src/issuance.repository.ts | 21 +++----
apps/issuance/src/issuance.service.ts | 10 +--
apps/ledger/src/ledger.controller.ts | 7 +++
apps/ledger/src/ledger.service.ts | 17 ++++++
.../src/repositories/ledger.repository.ts | 19 ++++++
.../migration.sql | 48 +++++++++++++++
libs/prisma-service/prisma/schema.prisma | 61 +++++++++----------
15 files changed, 187 insertions(+), 70 deletions(-)
create mode 100644 libs/prisma-service/prisma/migrations/20231124163136_ledger_network_url/migration.sql
diff --git a/apps/api-gateway/src/connection/connection.controller.ts b/apps/api-gateway/src/connection/connection.controller.ts
index 7e1d04c14..8c598a292 100644
--- a/apps/api-gateway/src/connection/connection.controller.ts
+++ b/apps/api-gateway/src/connection/connection.controller.ts
@@ -165,10 +165,10 @@ export class ConnectionController {
@ApiResponse({ status: 200, description: 'Success', type: AuthTokenResponse })
async getConnectionWebhook(
@Body() connectionDto: ConnectionDto,
- @Param('id') id: number,
+ @Param('id') id: string,
@Res() res: Response
): Promise {
- this.logger.debug(`connectionDto ::: ${JSON.stringify(connectionDto)}`);
+ this.logger.debug(`connectionDto ::: ${JSON.stringify(connectionDto)} ${id}`);
const connectionData = await this.connectionService.getConnectionWebhook(connectionDto, id);
const finalResponse: IResponseType = {
statusCode: HttpStatus.CREATED,
diff --git a/apps/api-gateway/src/connection/connection.service.ts b/apps/api-gateway/src/connection/connection.service.ts
index 0a2413d14..702556404 100644
--- a/apps/api-gateway/src/connection/connection.service.ts
+++ b/apps/api-gateway/src/connection/connection.service.ts
@@ -28,7 +28,7 @@ export class ConnectionService extends BaseService {
}
}
- getConnectionWebhook(connectionDto: ConnectionDto, id: number): Promise<{
+ getConnectionWebhook(connectionDto: ConnectionDto, id: string): Promise<{
response: object;
}> {
const payload = { connectionId: connectionDto.id, state: connectionDto.state, orgDid: connectionDto.theirDid, theirLabel: connectionDto.theirLabel, autoAcceptConnection: connectionDto.autoAcceptConnection, outOfBandId: connectionDto.outOfBandId, createDateTime: connectionDto.createdAt, lastChangedDateTime: connectionDto.updatedAt, orgId: id };
diff --git a/apps/api-gateway/src/issuance/issuance.service.ts b/apps/api-gateway/src/issuance/issuance.service.ts
index 6f32c6cb2..15d45a990 100644
--- a/apps/api-gateway/src/issuance/issuance.service.ts
+++ b/apps/api-gateway/src/issuance/issuance.service.ts
@@ -50,7 +50,7 @@ export class IssuanceService extends BaseService {
getIssueCredentialWebhook(issueCredentialDto: IssuanceDto, id: string): Promise<{
response: object;
}> {
- const payload = { createDateTime: issueCredentialDto.createdAt, connectionId: issueCredentialDto.connectionId, threadId: issueCredentialDto.threadId, protocolVersion: issueCredentialDto.protocolVersion, credentialAttributes: issueCredentialDto.credentialAttributes, orgId: id };
+ const payload = { issueCredentialDto, id };
return this.sendNats(this.issuanceProxy, 'webhook-get-issue-credential', payload);
}
diff --git a/apps/api-gateway/src/platform/platform.controller.ts b/apps/api-gateway/src/platform/platform.controller.ts
index 2905c9e49..92fc479be 100644
--- a/apps/api-gateway/src/platform/platform.controller.ts
+++ b/apps/api-gateway/src/platform/platform.controller.ts
@@ -1,4 +1,4 @@
-import { Controller, Get, HttpStatus, Logger, Query, Res, UseFilters, UseGuards } from '@nestjs/common';
+import { Controller, Get, HttpStatus, Logger, Param, Query, Res, UseFilters, UseGuards } from '@nestjs/common';
import { PlatformService } from './platform.service';
import { ApiBearerAuth, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';
import { ApiResponseDto } from '../dtos/apiResponse.dto';
@@ -71,5 +71,27 @@ export class PlatformController {
};
return res.status(HttpStatus.OK).json(finalResponse);
}
+
+ @Get('/network/url/:indyNamespace')
+ @ApiTags('ledgers')
+ @ApiOperation({
+ summary: 'Get network url from platform.',
+ description: 'Get network url from platform.'
+ })
+ @UseGuards(AuthGuard('jwt'))
+ @ApiResponse({ status: 200, description: 'Success', type: ApiResponseDto })
+ async getNetwrkUrl(
+ @Param('indyNamespace') indyNamespace: string,
+ @Res() res: Response
+ ): Promise {
+ const networksResponse = await this.platformService.getNetworkUrl(indyNamespace);
+
+ const finalResponse: IResponseType = {
+ statusCode: HttpStatus.OK,
+ message: ResponseMessages.ledger.success.fetch,
+ data: networksResponse.response
+ };
+ return res.status(HttpStatus.OK).json(finalResponse);
+ }
}
diff --git a/apps/api-gateway/src/platform/platform.service.ts b/apps/api-gateway/src/platform/platform.service.ts
index e15742fd6..1d91103ca 100644
--- a/apps/api-gateway/src/platform/platform.service.ts
+++ b/apps/api-gateway/src/platform/platform.service.ts
@@ -26,4 +26,13 @@ export class PlatformService extends BaseService {
const payload = {};
return this.sendNats(this.platformServiceProxy, 'get-all-ledgers', payload);
}
+
+ async getNetworkUrl(indyNamespace: string): Promise<{
+ response: object;
+ }> {
+ const payload = {
+ indyNamespace
+ };
+ return this.sendNats(this.platformServiceProxy, 'get-network-url', payload);
+ }
}
diff --git a/apps/connection/src/connection.repository.ts b/apps/connection/src/connection.repository.ts
index 38331f0c7..770c92fc2 100644
--- a/apps/connection/src/connection.repository.ts
+++ b/apps/connection/src/connection.repository.ts
@@ -96,6 +96,7 @@ export class ConnectionRepository {
// eslint-disable-next-line camelcase
async saveConnectionWebhook(createDateTime: string, lastChangedDateTime: string, connectionId: string, state: string, orgDid: string, theirLabel: string, autoAcceptConnection: boolean, outOfBandId: string, orgId: string): Promise {
try {
+
const agentDetails = await this.prisma.connections.upsert({
where: {
connectionId
@@ -103,11 +104,7 @@ export class ConnectionRepository {
update: {
lastChangedDateTime,
lastChangedBy: orgId,
- state,
- orgDid,
- theirLabel,
- autoAcceptConnection,
- outOfBandId
+ state
},
create: {
createDateTime,
@@ -116,10 +113,6 @@ export class ConnectionRepository {
lastChangedBy: orgId,
connectionId,
state,
- orgDid,
- theirLabel,
- autoAcceptConnection,
- outOfBandId,
orgId
}
});
diff --git a/apps/issuance/interfaces/issuance.interfaces.ts b/apps/issuance/interfaces/issuance.interfaces.ts
index 3b1804b5b..4725e367d 100644
--- a/apps/issuance/interfaces/issuance.interfaces.ts
+++ b/apps/issuance/interfaces/issuance.interfaces.ts
@@ -37,6 +37,13 @@ export interface IIssuanceWebhookInterface {
protocolVersion: string;
credentialAttributes: ICredentialAttributesInterface[];
orgId: string;
+ id: string;
+ state: string;
+}
+
+export interface IssueCredentialWebhookPayload {
+ issueCredentialDto: IIssuanceWebhookInterface;
+ id: string;
}
export interface ICredentialAttributesInterface {
@@ -87,10 +94,10 @@ export interface FileUpload {
name?: string;
upload_type?: string;
status?: string;
- orgId?: string;
+ orgId?: string;
createDateTime?: Date;
lastChangedDateTime?: Date;
- }
+}
export interface FileUploadData {
fileUpload: string;
@@ -104,7 +111,7 @@ export interface FileUploadData {
}
export interface ClientDetails {
-
+
clientId: string;
userId?: string;
diff --git a/apps/issuance/src/issuance.controller.ts b/apps/issuance/src/issuance.controller.ts
index e538fe2c4..6e789c488 100644
--- a/apps/issuance/src/issuance.controller.ts
+++ b/apps/issuance/src/issuance.controller.ts
@@ -1,6 +1,6 @@
import { Controller, Logger } from '@nestjs/common';
import { MessagePattern } from '@nestjs/microservices';
-import { ClientDetails, IIssuance, IIssuanceWebhookInterface, IIssueCredentials, IIssueCredentialsDefinitions, ImportFileDetails, OutOfBandCredentialOffer, PreviewRequest } from '../interfaces/issuance.interfaces';
+import { ClientDetails, IIssuance, IIssueCredentials, IIssueCredentialsDefinitions, ImportFileDetails, IssueCredentialWebhookPayload, OutOfBandCredentialOffer, PreviewRequest } from '../interfaces/issuance.interfaces';
import { IssuanceService } from './issuance.service';
@Controller()
@@ -35,10 +35,9 @@ export class IssuanceController {
}
@MessagePattern({ cmd: 'webhook-get-issue-credential' })
- async getIssueCredentialWebhook(payload: IIssuanceWebhookInterface): Promise {
- const { createDateTime, connectionId, threadId, protocolVersion, credentialAttributes, orgId } = payload;
-
- return this.issuanceService.getIssueCredentialWebhook(createDateTime, connectionId, threadId, protocolVersion, credentialAttributes, orgId);
+ async getIssueCredentialWebhook(payload: IssueCredentialWebhookPayload): Promise {
+ const { issueCredentialDto, id } = payload;
+ return this.issuanceService.getIssueCredentialWebhook(issueCredentialDto, id);
}
@MessagePattern({ cmd: 'out-of-band-credential-offer' })
diff --git a/apps/issuance/src/issuance.repository.ts b/apps/issuance/src/issuance.repository.ts
index f9faeab40..d84b5b4aa 100644
--- a/apps/issuance/src/issuance.repository.ts
+++ b/apps/issuance/src/issuance.repository.ts
@@ -4,7 +4,7 @@ import { PrismaService } from '@credebl/prisma-service';
// eslint-disable-next-line camelcase
import { agent_invitations, credentials, file_data, file_upload, org_agents, organisation, platform_config, shortening_url } from '@prisma/client';
import { ResponseMessages } from '@credebl/common/response-messages';
-import { FileUploadData, PreviewRequest, SchemaDetails } from '../interfaces/issuance.interfaces';
+import { FileUploadData, IIssuanceWebhookInterface, PreviewRequest, SchemaDetails } from '../interfaces/issuance.interfaces';
import { FileUploadStatus } from 'apps/api-gateway/src/enum';
@Injectable()
export class IssuanceRepository {
@@ -48,9 +48,10 @@ export class IssuanceRepository {
* @returns Get saved credential details
*/
// eslint-disable-next-line camelcase
- async saveIssuedCredentialDetails(createDateTime: string, connectionId: string, threadId: string, protocolVersion: string, credentialAttributes: object[], orgId: string): Promise {
+ async saveIssuedCredentialDetails(payload: IIssuanceWebhookInterface, orgId: string): Promise {
try {
+ const { connectionId, createDateTime, id, threadId, state } = payload;
const credentialDetails = await this.prisma.credentials.upsert({
where: {
threadId
@@ -59,19 +60,17 @@ export class IssuanceRepository {
lastChangedBy: orgId,
createDateTime,
threadId,
- protocolVersion,
- credentialAttributes,
- orgId: String(orgId)
+ state
},
create: {
createDateTime,
lastChangedBy: orgId,
createdBy: orgId,
connectionId,
+ state,
threadId,
- protocolVersion,
- credentialAttributes,
- orgId: String(orgId)
+ credentialExchangeId: id,
+ orgId
}
});
return credentialDetails;
@@ -284,7 +283,7 @@ export class IssuanceRepository {
skip: (getAllfileDetails?.pageNumber - 1) * getAllfileDetails?.pageSize,
orderBy: {
createDateTime: 'desc'
- }
+ }
});
const fileListWithDetails = await Promise.all(
@@ -343,7 +342,7 @@ export class IssuanceRepository {
skip: (getAllfileDetails?.pageNumber - 1) * getAllfileDetails?.pageSize,
orderBy: {
createDateTime: 'desc'
- }
+ }
});
const fileCount = await this.prisma.file_data.count({
where: {
@@ -386,7 +385,7 @@ export class IssuanceRepository {
return this.prisma.file_data.update({
where: { id: jobId },
data: {
- credential_data: null
+ credential_data: null
}
});
}
diff --git a/apps/issuance/src/issuance.service.ts b/apps/issuance/src/issuance.service.ts
index 96ad7b155..a8b8f847b 100644
--- a/apps/issuance/src/issuance.service.ts
+++ b/apps/issuance/src/issuance.service.ts
@@ -8,7 +8,7 @@ import { CommonConstants } from '@credebl/common/common.constant';
import { ResponseMessages } from '@credebl/common/response-messages';
import { ClientProxy, RpcException } from '@nestjs/microservices';
import { map } from 'rxjs';
-import { ClientDetails, FileUploadData, ICredentialAttributesInterface, ImportFileDetails, OutOfBandCredentialOfferPayload, PreviewRequest, SchemaDetails } from '../interfaces/issuance.interfaces';
+import { ClientDetails, FileUploadData, IIssuanceWebhookInterface, ImportFileDetails, OutOfBandCredentialOfferPayload, PreviewRequest, SchemaDetails } from '../interfaces/issuance.interfaces';
import { OrgAgentType } from '@credebl/enum/enum';
import { platform_config } from '@prisma/client';
import * as QRCode from 'qrcode';
@@ -262,9 +262,9 @@ export class IssuanceService {
}
}
- async getIssueCredentialWebhook(createDateTime: string, connectionId: string, threadId: string, protocolVersion: string, credentialAttributes: ICredentialAttributesInterface[], orgId: string): Promise {
+ async getIssueCredentialWebhook(payload: IIssuanceWebhookInterface, id: string): Promise {
try {
- const agentDetails = await this.issuanceRepository.saveIssuedCredentialDetails(createDateTime, connectionId, threadId, protocolVersion, credentialAttributes, orgId);
+ const agentDetails = await this.issuanceRepository.saveIssuedCredentialDetails(payload, id);
return agentDetails;
} catch (error) {
this.logger.error(`[getIssueCredentialsbyCredentialRecordId] - error in get credentials : ${JSON.stringify(error)}`);
@@ -624,7 +624,7 @@ export class IssuanceService {
}
await this.validateFileHeaders(fileHeader, attributeNameArray);
- await this.validateFileData(fileData);
+ await this.validateFileData(fileData);
const resData = {
schemaLedgerId: credDefResponse.schemaLedgerId,
@@ -632,7 +632,7 @@ export class IssuanceService {
fileData: parsedData,
fileName: importFileDetails.fileName
};
-
+
const newCacheKey = uuidv4();
await this.cacheManager.set(newCacheKey, JSON.stringify(resData), 3600);
diff --git a/apps/ledger/src/ledger.controller.ts b/apps/ledger/src/ledger.controller.ts
index 03b57fc2d..f7c38642e 100644
--- a/apps/ledger/src/ledger.controller.ts
+++ b/apps/ledger/src/ledger.controller.ts
@@ -11,4 +11,11 @@ export class LedgerController {
async getAllLedgers(): Promise {
return this.ledgerService.getAllLedgers();
}
+
+ @MessagePattern({ cmd: 'get-network-url' })
+ async getNetworkUrl(payload: object): Promise<{
+ networkUrl: string;
+ }> {
+ return this.ledgerService.getNetworkUrl(payload);
+ }
}
diff --git a/apps/ledger/src/ledger.service.ts b/apps/ledger/src/ledger.service.ts
index b8254d3f4..d13c2668b 100644
--- a/apps/ledger/src/ledger.service.ts
+++ b/apps/ledger/src/ledger.service.ts
@@ -28,4 +28,21 @@ export class LedgerService extends BaseService {
throw new RpcException(error.response ? error.response : error);
}
}
+
+ async getNetworkUrl(payload: object): Promise<{
+ networkUrl: string;
+ }> {
+ try {
+ const getNetworkUrl = await this.ledgerRepository.getNetworkUrl(payload);
+
+ if (!getNetworkUrl) {
+ throw new NotFoundException(ResponseMessages.ledger.error.NotFound);
+ }
+
+ return getNetworkUrl;
+ } catch (error) {
+ this.logger.error(`Error in retrieving network url: ${error}`);
+ throw new RpcException(error.response ? error.response : error);
+ }
+ }
}
diff --git a/apps/ledger/src/repositories/ledger.repository.ts b/apps/ledger/src/repositories/ledger.repository.ts
index c1f39ef33..db2b290be 100644
--- a/apps/ledger/src/repositories/ledger.repository.ts
+++ b/apps/ledger/src/repositories/ledger.repository.ts
@@ -19,4 +19,23 @@ export class LedgerRepository {
throw error;
}
}
+
+ async getNetworkUrl(payload: object): Promise<{
+ networkUrl: string;
+ }> {
+
+ try {
+ return this.prisma.ledgers.findFirst({
+ where: {
+ indyNamespace: payload["indyNamespace"]
+ },
+ select: {
+ networkUrl: true
+ }
+ });
+ } catch (error) {
+ this.logger.error(`Error in getNetworkUrl: ${error}`);
+ throw error;
+ }
+ }
}
\ No newline at end of file
diff --git a/libs/prisma-service/prisma/migrations/20231124163136_ledger_network_url/migration.sql b/libs/prisma-service/prisma/migrations/20231124163136_ledger_network_url/migration.sql
new file mode 100644
index 000000000..afef77bcd
--- /dev/null
+++ b/libs/prisma-service/prisma/migrations/20231124163136_ledger_network_url/migration.sql
@@ -0,0 +1,48 @@
+/*
+ Warnings:
+
+ - You are about to drop the column `autoAcceptConnection` on the `connections` table. All the data in the column will be lost.
+ - You are about to drop the column `orgDid` on the `connections` table. All the data in the column will be lost.
+ - You are about to drop the column `outOfBandId` on the `connections` table. All the data in the column will be lost.
+ - You are about to drop the column `theirLabel` on the `connections` table. All the data in the column will be lost.
+ - You are about to drop the column `credentialAttributes` on the `credentials` table. All the data in the column will be lost.
+ - You are about to drop the column `protocolVersion` on the `credentials` table. All the data in the column will be lost.
+
+*/
+-- DropForeignKey
+ALTER TABLE "connections" DROP CONSTRAINT "connections_orgId_fkey";
+
+-- DropForeignKey
+ALTER TABLE "credentials" DROP CONSTRAINT "credentials_orgId_fkey";
+
+-- DropForeignKey
+ALTER TABLE "presentations" DROP CONSTRAINT "presentations_orgId_fkey";
+
+-- AlterTable
+ALTER TABLE "connections" DROP COLUMN "autoAcceptConnection",
+DROP COLUMN "orgDid",
+DROP COLUMN "outOfBandId",
+DROP COLUMN "theirLabel",
+ALTER COLUMN "orgId" DROP NOT NULL;
+
+-- AlterTable
+ALTER TABLE "credentials" DROP COLUMN "credentialAttributes",
+DROP COLUMN "protocolVersion",
+ADD COLUMN "credentialExchangeId" TEXT NOT NULL DEFAULT '',
+ADD COLUMN "state" TEXT NOT NULL DEFAULT '',
+ALTER COLUMN "orgId" DROP NOT NULL;
+
+-- AlterTable
+ALTER TABLE "ledgers" ADD COLUMN "networkUrl" VARCHAR;
+
+-- AlterTable
+ALTER TABLE "presentations" ALTER COLUMN "orgId" DROP NOT NULL;
+
+-- AddForeignKey
+ALTER TABLE "connections" ADD CONSTRAINT "connections_orgId_fkey" FOREIGN KEY ("orgId") REFERENCES "organisation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
+
+-- AddForeignKey
+ALTER TABLE "credentials" ADD CONSTRAINT "credentials_orgId_fkey" FOREIGN KEY ("orgId") REFERENCES "organisation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
+
+-- AddForeignKey
+ALTER TABLE "presentations" ADD CONSTRAINT "presentations_orgId_fkey" FOREIGN KEY ("orgId") REFERENCES "organisation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
diff --git a/libs/prisma-service/prisma/schema.prisma b/libs/prisma-service/prisma/schema.prisma
index f3747dca8..24e1ea358 100644
--- a/libs/prisma-service/prisma/schema.prisma
+++ b/libs/prisma-service/prisma/schema.prisma
@@ -206,6 +206,7 @@ model ledgers {
registerDIDEndpoint String @db.VarChar
registerDIDPayload Json?
indyNamespace String? @db.VarChar
+ networkUrl String? @db.VarChar
org_agents org_agents[]
schema schema[]
}
@@ -275,47 +276,43 @@ model agent_invitations {
}
model connections {
- id String @id @default(uuid()) @db.Uuid
- createDateTime DateTime @default(now()) @db.Timestamptz(6)
- createdBy String @db.Uuid
- lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6)
- lastChangedBy String @db.Uuid
- connectionId String @unique
- state String
- orgDid String
- theirLabel String
- autoAcceptConnection Boolean
- outOfBandId String
- orgId String @db.Uuid
- organisation organisation @relation(fields: [orgId], references: [id])
+ id String @id @default(uuid()) @db.Uuid
+ createDateTime DateTime @default(now()) @db.Timestamptz(6)
+ createdBy String @db.Uuid
+ lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6)
+ lastChangedBy String @db.Uuid
+ connectionId String @unique
+ state String
+ orgId String? @db.Uuid
+ organisation organisation? @relation(fields: [orgId], references: [id])
}
model credentials {
- id String @id @default(uuid()) @db.Uuid
- createDateTime DateTime @default(now()) @db.Timestamptz(6)
- createdBy String @db.Uuid
- lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6)
- lastChangedBy String @db.Uuid
+ id String @id @default(uuid()) @db.Uuid
+ createDateTime DateTime @default(now()) @db.Timestamptz(6)
+ createdBy String @db.Uuid
+ lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6)
+ lastChangedBy String @db.Uuid
connectionId String?
- threadId String @unique
- protocolVersion String?
- credentialAttributes Json[]
- orgId String @db.Uuid
- organisation organisation @relation(fields: [orgId], references: [id])
+ threadId String @unique
+ credentialExchangeId String @default("")
+ state String @default("")
+ orgId String? @db.Uuid
+ organisation organisation? @relation(fields: [orgId], references: [id])
}
model presentations {
- id String @id @default(uuid()) @db.Uuid
- createDateTime DateTime @default(now()) @db.Timestamptz(6)
- createdBy String @db.Uuid
- lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6)
- lastChangedBy String @db.Uuid
+ id String @id @default(uuid()) @db.Uuid
+ createDateTime DateTime @default(now()) @db.Timestamptz(6)
+ createdBy String @db.Uuid
+ lastChangedDateTime DateTime @default(now()) @db.Timestamptz(6)
+ lastChangedBy String @db.Uuid
connectionId String?
state String?
- threadId String @unique
+ threadId String @unique
isVerified Boolean?
- orgId String @db.Uuid
- organisation organisation @relation(fields: [orgId], references: [id])
+ orgId String? @db.Uuid
+ organisation organisation? @relation(fields: [orgId], references: [id])
}
model ecosystem_roles {
@@ -433,7 +430,7 @@ model file_upload {
deletedAt DateTime? @db.Timestamp(6)
file_data file_data[]
organisation organisation? @relation(fields: [orgId], references: [id])
- orgId String? @db.Uuid
+ orgId String? @db.Uuid
}
model file_data {
From 247e3bef4de0141f6621e095f9aa42e0848a00d2 Mon Sep 17 00:00:00 2001
From: Nishad
Date: Sat, 25 Nov 2023 10:33:57 +0530
Subject: [PATCH 3/5] refactored certificate templates
Signed-off-by: Nishad
---
apps/user/templates/arbiter-template.ts | 2 +-
apps/user/templates/participant-template.ts | 2 +-
apps/user/templates/winner-template.ts | 2 +-
apps/user/templates/world-record-template.ts | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/apps/user/templates/arbiter-template.ts b/apps/user/templates/arbiter-template.ts
index 147329589..483c0f296 100644
--- a/apps/user/templates/arbiter-template.ts
+++ b/apps/user/templates/arbiter-template.ts
@@ -87,7 +87,7 @@ export class ArbiterTemplate {
Date: 24, 25, 26 November 2023 | Place: Cidco Exhibition Centre, Navi Mumbai, India
- Blockchain-based certificate issued using "credebl.id", by Blockster Labs Pvt. Ltd.
+ Blockchain-based certificate issued using credebl.id, by Blockster Labs Pvt. Ltd.
diff --git a/apps/user/templates/participant-template.ts b/apps/user/templates/participant-template.ts
index 25399510f..75b4f0cac 100644
--- a/apps/user/templates/participant-template.ts
+++ b/apps/user/templates/participant-template.ts
@@ -83,7 +83,7 @@ export class ParticipantTemplate {
exceptional memory skills demonstrated during the competition.
Date: 24, 25, 26 November 2023 | Place: Cidco Exhibition Centre, Navi Mumbai, India
- Blockchain-based certificate issued using "credebl.id", by Blockster Labs Pvt. Ltd.
+ Blockchain-based certificate issued using credebl.id, by Blockster Labs Pvt. Ltd.
diff --git a/apps/user/templates/winner-template.ts b/apps/user/templates/winner-template.ts
index f38aea4df..49526e6da 100644
--- a/apps/user/templates/winner-template.ts
+++ b/apps/user/templates/winner-template.ts
@@ -87,7 +87,7 @@ export class WinnerTemplate {
exceptional memory skills demonstrated during the competition.
Date: 24, 25, 26 November 2023 | Place: Cidco Exhibition Centre, Navi Mumbai, India
- Blockchain-based certificate issued using "credebl.id", by Blockster Labs Pvt. Ltd.
+ Blockchain-based certificate issued using credebl.id, by Blockster Labs Pvt. Ltd.
diff --git a/apps/user/templates/world-record-template.ts b/apps/user/templates/world-record-template.ts
index 3df9edcb4..70f9b8d36 100644
--- a/apps/user/templates/world-record-template.ts
+++ b/apps/user/templates/world-record-template.ts
@@ -85,7 +85,7 @@ export class WorldRecordTemplate {
exceptional memory skills demonstrated during the competition.
Date: 24, 25, 26 November 2023 | Place: Cidco Exhibition Centre, Navi Mumbai, India
- Blockchain-based certificate issued using "credebl.id", by Blockster Labs Pvt. Ltd.
+ Blockchain-based certificate issued using credebl.id, by Blockster Labs Pvt. Ltd.
From 3d1f320a826735d21c1bcdf5cec49864c39bf149 Mon Sep 17 00:00:00 2001
From: Nishad
Date: Sat, 25 Nov 2023 12:13:39 +0530
Subject: [PATCH 4/5] refactor credebl logo in template
Signed-off-by: Nishad
---
apps/issuance/templates/out-of-band-issuance.template.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/issuance/templates/out-of-band-issuance.template.ts b/apps/issuance/templates/out-of-band-issuance.template.ts
index c0f105831..05bcb335f 100644
--- a/apps/issuance/templates/out-of-band-issuance.template.ts
+++ b/apps/issuance/templates/out-of-band-issuance.template.ts
@@ -13,7 +13,7 @@ export class OutOfBandIssuance {
-
+
From cb73a1cdd364a46a73bad4ab7cd02c682577e74a Mon Sep 17 00:00:00 2001
From: Nishad
Date: Sat, 25 Nov 2023 12:43:47 +0530
Subject: [PATCH 5/5] refactor credebl loho url
Signed-off-by: Nishad
---
.../templates/out-of-band-issuance.template.ts | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/apps/issuance/templates/out-of-band-issuance.template.ts b/apps/issuance/templates/out-of-band-issuance.template.ts
index 05bcb335f..94e6cb561 100644
--- a/apps/issuance/templates/out-of-band-issuance.template.ts
+++ b/apps/issuance/templates/out-of-band-issuance.template.ts
@@ -53,16 +53,7 @@ export class OutOfBandIssuance {