Skip to content

Commit b6bd0d9

Browse files
committed
prisma init + template API cleanup
1 parent 6aa8346 commit b6bd0d9

File tree

10 files changed

+40
-7
lines changed

10 files changed

+40
-7
lines changed

Diff for: prisma/migrations/20241224030945_init/migration.sql

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-- CreateTable
2+
CREATE TABLE "Schema" (
3+
"id" TEXT NOT NULL,
4+
"name" TEXT NOT NULL,
5+
"description" TEXT NOT NULL,
6+
"tags" TEXT[] DEFAULT ARRAY[]::TEXT[],
7+
8+
CONSTRAINT "Schema_pkey" PRIMARY KEY ("id")
9+
);
10+
11+
-- CreateTable
12+
CREATE TABLE "Template" (
13+
"id" TEXT NOT NULL,
14+
"name" TEXT NOT NULL,
15+
"description" TEXT NOT NULL,
16+
"type" TEXT NOT NULL,
17+
"verificationTemplateId" TEXT,
18+
19+
CONSTRAINT "Template_pkey" PRIMARY KEY ("id")
20+
);
21+
22+
-- AddForeignKey
23+
ALTER TABLE "Template" ADD CONSTRAINT "Template_verificationTemplateId_fkey" FOREIGN KEY ("verificationTemplateId") REFERENCES "Template"("id") ON DELETE SET NULL ON UPDATE CASCADE;

Diff for: prisma/migrations/migration_lock.toml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Please do not edit this file manually
2+
# It should be added in your version-control system (i.e. Git)
3+
provider = "postgresql"

Diff for: prisma/schema.prisma

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ generator client {
1111
datasource db {
1212
provider = "postgresql"
1313
url = env("C4GT_BFF_POSTGRES_BASE_URL")
14+
shadowDatabaseUrl = env("C4GT_BFF_POSTGRES_BASE_URL_SHADOW")
1415
}
1516

1617
model Schema {

Diff for: src/certificate/certificate.controller.ts

+1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ export class CertificateController {
1818
createCertificatePayload.saveToMinio = false;
1919
return await this.certificateService.renderCertificate(createCertificatePayload);
2020
}
21+
2122
}

Diff for: src/config/configuration.ts

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { identity } from "rxjs";
33
export default () => ({
44
schemaService: {
55
baseUrl: process.env.SCHEMA_BASE_URL,
6+
defaultSchemaVersion: '1.0.0',
67
},
78
credentialService: {
89
baseUrl: process.env.CREDENTIAL_BASE_URL,

Diff for: src/schema/schema.controller.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Body, Controller, Get, Post, Put, Param } from '@nestjs/common';
1+
import { Body, Controller, Get, Param, Post, Put, Query } from '@nestjs/common';
22
import { SchemaService } from './schema.service';
33
import { CreateSchemaDTO } from './schema.dto';
44

Diff for: src/schema/schema.interface.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export interface RCWSchemaServiceConfig {
22
baseUrl: string;
3+
defaultSchemaVersion: string;
34
}

Diff for: src/schema/schema.service.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { RCWSchemaServiceConfig } from './schema.interface';
88

99
@Injectable()
1010
export class SchemaService {
11-
private rcwSchemaServiceConfig;
11+
private rcwSchemaServiceConfig: RCWSchemaServiceConfig;
1212
private readonly logger = new Logger(SchemaService.name);
1313
constructor(
1414
private readonly configService: ConfigService,
@@ -19,6 +19,7 @@ export class SchemaService {
1919
}
2020
async getCredentialSchema(id: string): Promise<Schema[] | Schema | AxiosResponse> {
2121
try {
22+
this.logger.log("ID",id)
2223
if (!id) {
2324
this.logger.debug('Fetching all schemas from the database');
2425
const schemas = await this.prisma.schema.findMany();
@@ -64,10 +65,10 @@ export class SchemaService {
6465
'https://w3id.org/security/suites/ed25519-2020/v1',
6566
],
6667
type: 'https://w3c-ccg.github.io/vc-json-schemas/',
67-
version: '1.0',
68+
version: this.rcwSchemaServiceConfig.defaultSchemaVersion,
6869
id: '',
6970
name: createSchemaPayload.name,
70-
author: process.env.C4GT_DID, // Hardcoded to C4GT DID
71+
author: 'did:C4GT:09a5be7c-31bc-4510-b29f-a972ee7d088f',
7172
authored: new Date().toISOString(),
7273
schema: {
7374
$id: createSchemaPayload.name,

Diff for: src/template/template.controller.ts

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { TemplateService } from './template.service';
55
@Controller('template')
66
export class TemplateController {
77
constructor(private readonly templateService: TemplateService) {}
8+
89
@Get(':id?')
910
async getCredentialRenderingTemplate(@Param('id') id?: string, @Query('schemaId') schemaId?: string) {
1011
return await this.templateService.getTemplates(id, schemaId);

Diff for: src/template/template.service.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { template } from 'handlebars';
88

99
@Injectable()
1010
export class TemplateService {
11-
private rcwSchemaServiceConfig;
11+
private rcwSchemaServiceConfig:RCWSchemaServiceConfig;
1212
private readonly logger = new Logger(TemplateService.name);
1313
constructor(
1414
private readonly prisma: PrismaClient,
@@ -48,6 +48,7 @@ export class TemplateService {
4848
try {
4949
const payload = {
5050
schemaId: createCredentialRenderingTemplatePayload.schemaId,
51+
schemaVersion: this.rcwSchemaServiceConfig.defaultSchemaVersion,
5152
template: createCredentialRenderingTemplatePayload.template,
5253
type: createCredentialRenderingTemplatePayload.type,
5354
};
@@ -60,12 +61,12 @@ export class TemplateService {
6061
);
6162

6263
this.logger.debug(
63-
`Rendering template created successfully with ID: ${renderingTemplateCreationResponse.data.templateId}`,
64+
`Rendering template created successfully with ID: ${JSON.stringify(renderingTemplateCreationResponse.data.template.templateId)}`,
6465
);
6566

6667
const renderingTemplateRegistration = await this.prisma.template.create({
6768
data: {
68-
id: renderingTemplateCreationResponse.data.templateId,
69+
id: renderingTemplateCreationResponse.data.template.templateId,
6970
name: createCredentialRenderingTemplatePayload.name,
7071
description: createCredentialRenderingTemplatePayload.description,
7172
type: createCredentialRenderingTemplatePayload.type,

0 commit comments

Comments
 (0)