Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
686982c
feat: oidc implementation
Sep 12, 2025
25ea007
feat: oid4vc issuance (#1455)
Oct 7, 2025
89fbbda
refactor: updated the docker file for oid4vc-issuance
Oct 7, 2025
2c6559b
refactor: update oid4vc flows (#1471)
Oct 8, 2025
17b2683
Initial changes for x509 support (#1482)
RinkalBhojani Oct 15, 2025
b21b11c
fixing eslint issues
RinkalBhojani Oct 13, 2025
b8db657
fix: linting issues
RinkalBhojani Oct 23, 2025
7514357
Feat/manage x509 cert (#1492)
RinkalBhojani Oct 26, 2025
426e57c
namespace changes
GHkrishna Oct 22, 2025
eaf7867
added x509 cert for mdoc
RinkalBhojani Oct 21, 2025
cc803e7
feat: seperate mdoc builder method
Oct 26, 2025
01d8eee
feat: credential path changes
Oct 27, 2025
ea0b29d
fix: added support for nested attribute and updated builder function
RinkalBhojani Oct 27, 2025
3d0a4ef
refactor:updated example for issuer and added logic to fetch issuer d…
Oct 27, 2025
f0a7381
fix: correction in create offer functions for validations and builder…
RinkalBhojani Oct 27, 2025
2110fc4
refactor: create and update template
Oct 28, 2025
08e6a81
fix: added validityInfo for credential validity check
RinkalBhojani Oct 28, 2025
6e9f245
feat: added docker file
Oct 28, 2025
c51351e
removed commented code and refactored
RinkalBhojani Oct 29, 2025
6adc03d
fix: resolved coderabbit suggested chnages
RinkalBhojani Oct 29, 2025
30d473d
feat: added webhook
Oct 30, 2025
803c46e
fix: fixed issue with signeroption did in sdjwt create offer
RinkalBhojani Oct 30, 2025
ee1b5cf
fix: Reverted accidental changes done in credebl-master-table.json fi…
RinkalBhojani Oct 30, 2025
c0cb76c
feat: oid4vc verification (#1501)
GHkrishna Nov 3, 2025
5af3d90
refactor: updated CI file
Nov 3, 2025
d3881d4
fix: issuance build
Nov 3, 2025
7759c7d
feat: debug logs (#1505)
GHkrishna Nov 6, 2025
1175e2d
feat: verification webhook (#1507)
Nov 6, 2025
c663ee3
refactor: webhook logic
Nov 7, 2025
d816189
feat: added x509 support
Nov 7, 2025
07a255e
fix: fixed issues with webhooks and columns
RinkalBhojani Nov 10, 2025
028932f
fix: issuance webhook fix
Nov 10, 2025
7486905
fix: refactored code and added missing condition for ed25519 in verif…
RinkalBhojani Nov 10, 2025
69415da
hotfix: added missing Nkey for oid4vc-veriifcation service
RinkalBhojani Nov 10, 2025
6f8ef8d
feat: trace contextId across services (#1509)
GHkrishna Nov 12, 2025
5bed811
feat: optionally enable OIDC modules (#1516)
GHkrishna Nov 14, 2025
ef8c4a8
fix: nats call microservices (#1514)
GHkrishna Nov 14, 2025
3995015
fixed coderabbit comments for PR:1517
RinkalBhojani Nov 18, 2025
5c93023
fix: fixed coderabbitai suggestions and PR comments
RinkalBhojani Nov 18, 2025
4eb48de
fix: fixed minor issues
RinkalBhojani Nov 19, 2025
1ca64f1
fix: refactored code
RinkalBhojani Nov 21, 2025
3832ca2
fix: changed error message
Nov 28, 2025
3856b8d
feat: dcapi support (#1530)
Dec 4, 2025
c25d509
fix: fixed minor issues and refactored code
RinkalBhojani Dec 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .env.demo
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@ UTILITIES_NKEY_SEED=
CLOUD_WALLET_NKEY_SEED=
GEOLOCATION_NKEY_SEED=
NOTIFICATION_NKEY_SEED=
X509_NKEY_SEED=
OIDC4VC_ISSUANCE_NKEY_SEED=
OIDC4VC_VERIFICATION_NKEY_SEED=

KEYCLOAK_DOMAIN=http://localhost:8080/
KEYCLOAK_ADMIN_URL=http://localhost:8080
Expand Down Expand Up @@ -139,6 +142,8 @@ ELK_PASSWORD=xxxxxx # ELK user password
ORGANIZATION=credebl
CONTEXT=platform
APP=api
# Default is true too, if nothing is passed
HIDE_EXPERIMENTAL_OIDC_CONTROLLERS=true

#Schema-file-server
APP_PORT=4000
Expand Down
30 changes: 17 additions & 13 deletions .env.sample
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ POSTGRES_PORT=5432
POSTGRES_USER='postgres'
POSTGRES_PASSWORD='xxxxx'
POSTGRES_DATABASE= // Please provide your DB name

# Default is true too, set to 'false', to view OIDC controllers in openAPI docs
HIDE_EXPERIMENTAL_OIDC_CONTROLLERS=true
SENDGRID_API_KEY=xxxxxxxxxxxxxx // Please provide your sendgrid API key

FRONT_END_URL=http://localhost:3000
Expand Down Expand Up @@ -109,18 +110,21 @@ AGENT_PROTOCOL=http
GEO_LOCATION_MASTER_DATA_IMPORT_SCRIPT=/prisma/scripts/geo_location_data_import.sh
UPDATE_CLIENT_CREDENTIAL_SCRIPT=/prisma/scripts/update_client_credential_data.sh

USER_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for user service
API_GATEWAY_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for api-gateway
ORGANIZATION_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for organization service
AGENT_PROVISIONING_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for agent provisioning service
AGENT_SERVICE_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for agent service
VERIFICATION_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for verification service
ISSUANCE_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for issuance service
CONNECTION_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for connection service
CREDENTAILDEFINITION_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for credential-definition service
SCHEMA_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for schema service
UTILITIES_NKEY_SEED= xxxxxxxxxxxxx // Please provide Nkeys secret for utilities service
GEOLOCATION_NKEY_SEED= xxxxxxxxxxx // Please provide Nkeys secret for geo-location service
USER_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for user service
API_GATEWAY_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for api-gateway
ORGANIZATION_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for organization service
AGENT_PROVISIONING_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for agent provisioning service
AGENT_SERVICE_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for agent service
VERIFICATION_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for verification service
ISSUANCE_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for issuance service
CONNECTION_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for connection service
CREDENTAILDEFINITION_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for credential-definition service
SCHEMA_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for schema service
UTILITIES_NKEY_SEED=xxxxxxxxxxxxx // Please provide Nkeys secret for utilities service
GEOLOCATION_NKEY_SEED=xxxxxxxxxxx // Please provide Nkeys secret for geo-location service
X509_NKEY_SEED=xxxxxxxxxxx // Please provide Nkeys secret for x509 service
OIDC4VC_ISSUANCE_NKEY_SEED=xxxxxxxxxxx // Please provide Nkeys secret for x509 service
OIDC4VC_VERIFICATION_NKEY_SEED=xxxxxxxxxxx // Please provide Nkeys secret for x509 service

# This was inserted by prisma init:
# Environment variables declared in this file are automatically made available to Prisma.
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/continuous-delivery.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ jobs:
- webhook
- organization
- seed
- x509
- oid4vc-issuance
- oid4vc-verification

permissions:
contents: read
Expand Down
43 changes: 43 additions & 0 deletions Dockerfiles/Dockerfile.oid4vc-issuance
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Stage 1: Build the application
FROM node:18-alpine as build

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use uppercase "AS" for Dockerfile multi-stage build syntax.

Docker best practices recommend using uppercase keywords for Dockerfile instructions, including the multi-stage build alias.

Apply this diff:

-FROM node:18-alpine as build
+FROM node:18-alpine AS build
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
FROM node:18-alpine as build
FROM node:18-alpine AS build
🤖 Prompt for AI Agents
In Dockerfiles/Dockerfile.oid4vc-issuance around line 2, the multi-stage build
alias uses lowercase "as"; change "as" to uppercase "AS" so the FROM instruction
reads with "AS" to follow Dockerfile keyword casing conventions and best
practices.

# Install OpenSSL
RUN apk add --no-cache openssl
RUN npm install -g pnpm
# Set the working directory
WORKDIR /app

# Copy package.json and package-lock.json
COPY package.json ./
COPY pnpm-workspace.yaml ./
Comment on lines +9 to +11

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Update comment to match the actual code.

The comment on line 9 references copying package-lock.json, but the code copies pnpm-workspace.yaml instead.

Apply this diff:

-# Copy package.json and package-lock.json
+# Copy package.json and pnpm-workspace.yaml
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Copy package.json and package-lock.json
COPY package.json ./
COPY pnpm-workspace.yaml ./
# Copy package.json and pnpm-workspace.yaml
COPY package.json ./
COPY pnpm-workspace.yaml ./
🤖 Prompt for AI Agents
In Dockerfiles/Dockerfile.oid4vc-issuance around lines 9 to 11, the comment says
"Copy package.json and package-lock.json" but the commands copy package.json and
pnpm-workspace.yaml; update the comment to accurately reflect the files being
copied (e.g., "Copy package.json and pnpm-workspace.yaml") so the comment
matches the actual COPY instructions.


ENV PUPPETEER_SKIP_DOWNLOAD=true

# Install dependencies while ignoring scripts (including Puppeteer's installation)
RUN pnpm i --ignore-scripts

# Copy the rest of the application code
COPY . .
RUN cd libs/prisma-service && npx prisma generate

# Build the oid4vc-issuance service
RUN npm run build oid4vc-issuance


# Stage 2: Create the final image
FROM node:18-alpine
# Install OpenSSL
RUN apk add --no-cache openssl

# Set the working directory
WORKDIR /app

# Copy the compiled code from the build stage
COPY --from=build /app/dist/apps/oid4vc-issuance/ ./dist/apps/oid4vc-issuance/

# Copy the libs folder from the build stage
COPY --from=build /app/libs/ ./libs/

COPY --from=build /app/node_modules ./node_modules

# Set the command to run the microservice
CMD ["sh", "-c", "cd libs/prisma-service && npx prisma migrate deploy && npx prisma generate && cd ../.. && node dist/apps/oid4vc-issuance/main.js"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Avoid running migrations in the container startup command.

Running prisma migrate deploy in the CMD can cause race conditions in multi-replica deployments and conflates deployment tasks with application runtime. Migration failures will trigger container restarts rather than failing the deployment cleanly.

Consider one of these approaches:

  • Run migrations in a separate Kubernetes init container or job before app deployment
  • Use a dedicated migration step in your CI/CD pipeline before deploying new containers
  • Ensure only one replica runs during migration windows if keeping this pattern

If migrations must run on startup for development/testing, add a lock mechanism to prevent concurrent migration attempts.

44 changes: 44 additions & 0 deletions Dockerfiles/Dockerfile.oid4vc-verification
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Stage 1: Build the application
FROM node:18-alpine as build
# Install OpenSSL
RUN apk add --no-cache openssl
RUN npm install -g pnpm
# Set the working directory
WORKDIR /app

# Copy package.json and package-lock.json
COPY package.json ./
COPY pnpm-workspace.yaml ./
Comment on lines +9 to +11

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Update comment to match the actual files being copied.

The comment references package-lock.json, but the code copies pnpm-workspace.yaml instead.

Apply this diff:

-# Copy package.json and package-lock.json
+# Copy package.json and pnpm-workspace.yaml
 COPY package.json ./
 COPY pnpm-workspace.yaml ./
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Copy package.json and package-lock.json
COPY package.json ./
COPY pnpm-workspace.yaml ./
# Copy package.json and pnpm-workspace.yaml
COPY package.json ./
COPY pnpm-workspace.yaml ./
🤖 Prompt for AI Agents
In Dockerfiles/Dockerfile.oid4vc-verification around lines 9 to 11, the comment
"Copy package.json and package-lock.json" is incorrect because the Dockerfile
actually copies package.json and pnpm-workspace.yaml; update the comment to
accurately reflect the files being copied (e.g., "Copy package.json and
pnpm-workspace.yaml") so the comment matches the COPY instructions.


ENV PUPPETEER_SKIP_DOWNLOAD=true

# Install dependencies while ignoring scripts (including Puppeteer's installation)
RUN pnpm i --ignore-scripts

# Copy the rest of the application code
COPY . .

RUN cd libs/prisma-service && npx prisma generate

# Build the oid4vc-verification service
RUN npm run build oid4vc-verification


# Stage 2: Create the final image
FROM node:18-alpine
# Install OpenSSL
RUN apk add --no-cache openssl

# Set the working directory
WORKDIR /app

# Copy the compiled code from the build stage
COPY --from=build /app/dist/apps/oid4vc-verification/ ./dist/apps/oid4vc-verification/

# Copy the libs folder from the build stage
COPY --from=build /app/libs/ ./libs/

COPY --from=build /app/node_modules ./node_modules

# Set the command to run the microservice
CMD ["sh", "-c", "cd libs/prisma-service && npx prisma migrate deploy && npx prisma generate && cd ../.. && node dist/apps/oid4vc-verification/main.js"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Avoid running migrations in the container startup command.

Running prisma migrate deploy in the CMD can cause race conditions in multi-replica deployments and conflates deployment tasks with application runtime. Migration failures will trigger container restarts rather than failing the deployment cleanly.

Consider one of these approaches:

  • Run migrations in a separate Kubernetes init container or job before app deployment
  • Use a dedicated migration step in your CI/CD pipeline before deploying new containers
  • Ensure only one replica runs during migration windows if keeping this pattern

If migrations must run on startup for development/testing, add a lock mechanism to prevent concurrent migration attempts.

🤖 Prompt for AI Agents
In Dockerfiles/Dockerfile.oid4vc-verification around line 45, the CMD currently
runs `prisma migrate deploy` at container startup which can cause race
conditions and restarts; remove migration commands from the Docker CMD so the
container only starts the app (e.g., run node
dist/apps/oid4vc-verification/main.js). Implement migrations outside the
container runtime: run `npx prisma migrate deploy && npx prisma generate` as a
separate Kubernetes initContainer or a one-off migration Job, or as a dedicated
CI/CD deployment step that runs before scaling replicas; if you must allow
startup-time migration for dev, gate it behind an environment flag and add a
distributed lock to prevent concurrent executions.

43 changes: 43 additions & 0 deletions Dockerfiles/Dockerfile.x509
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Stage 1: Build the application
FROM node:18-alpine as build

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use uppercase "AS" for Dockerfile multi-stage build syntax.

Docker best practices and linters recommend using uppercase keywords for Dockerfile instructions, including the multi-stage build alias.

Apply this diff:

-FROM node:18-alpine as build
+FROM node:18-alpine AS build
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
FROM node:18-alpine as build
FROM node:18-alpine AS build
🧰 Tools
🪛 GitHub Check: SonarCloud Code Analysis

[warning] 2-2: Replace "as" with upper case format "AS".

See more on https://sonarcloud.io/project/issues?id=credebl_platform&issues=AZqQljX5_PQbb07SJZGK&open=AZqQljX5_PQbb07SJZGK&pullRequest=1517

🤖 Prompt for AI Agents
In Dockerfiles/Dockerfile.x509 around line 2, the multi-stage build alias uses
lowercase "as" ("FROM node:18-alpine as build"); update it to use uppercase "AS"
to conform with Dockerfile syntax conventions and linters by changing the
instruction to "FROM node:18-alpine AS build".

# Install OpenSSL
RUN apk add --no-cache openssl
RUN npm install -g pnpm
# Set the working directory
WORKDIR /app

COPY package.json ./
COPY pnpm-workspace.yaml ./

ENV PUPPETEER_SKIP_DOWNLOAD=true

# Install dependencies while ignoring scripts (including Puppeteer's installation)
RUN pnpm i --ignore-scripts

# Copy the rest of the application code
COPY . .

RUN cd libs/prisma-service && npx prisma generate

# Build the x509 service
RUN npm run build x509


# Stage 2: Create the final image
FROM node:18-alpine
# Install OpenSSL
RUN apk add --no-cache openssl

# Set the working directory
WORKDIR /app

# Copy the compiled code from the build stage
COPY --from=build /app/dist/apps/x509/ ./dist/apps/x509/

# Copy the libs folder from the build stage
COPY --from=build /app/libs/ ./libs/

COPY --from=build /app/node_modules ./node_modules

# Set the command to run the microservice
CMD ["sh", "-c", "cd libs/prisma-service && npx prisma migrate deploy && npx prisma generate && cd ../.. && node dist/apps/x509/main.js"]
145 changes: 144 additions & 1 deletion apps/agent-service/src/agent-service.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,21 @@ import {

import { AgentServiceService } from './agent-service.service';
import { AgentSpinUpStatus } from '@credebl/enum/enum';
import { Controller } from '@nestjs/common';
import { Controller, Logger } from '@nestjs/common';
import { InvitationMessage } from '@credebl/common/interfaces/agent-service.interface';
import { MessagePattern } from '@nestjs/microservices';
import { SignDataDto } from '../../api-gateway/src/agent-service/dto/agent-service.dto';
import { user } from '@prisma/client';
import {
IX509ImportCertificateOptionsDto,
x509CertificateDecodeDto,
X509CreateCertificateOptions
} from '@credebl/common/interfaces/x509.interface';
import { CreateVerifier, UpdateVerifier } from '@credebl/common/interfaces/oid4vp-verification';

@Controller()
export class AgentServiceController {
private readonly logger = new Logger('AgentServiceController');
constructor(private readonly agentServiceService: AgentServiceService) {}

/**
Expand Down Expand Up @@ -324,4 +331,140 @@ export class AgentServiceController {
async agentdetailsByOrgId(payload: { orgId: string }): Promise<IStoreAgent> {
return this.agentServiceService.getAgentDetails(payload.orgId);
}

@MessagePattern({ cmd: 'agent-create-oid4vc-issuer' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcIssuerCreate(payload: { issuerCreation; url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcIssuerCreate(payload.issuerCreation, payload.url, payload.orgId);
}
@MessagePattern({ cmd: 'delete-oid4vc-issuer' })
async oidcDeleteIssuer(payload: { url: string; orgId: string }): Promise<object | string> {
return this.agentServiceService.deleteOidcIssuer(payload.url, payload.orgId);
}
@MessagePattern({ cmd: 'agent-create-oid4vc-template' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcIssuerTemplate(payload: { templatePayload; url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcIssuerTemplate(payload.templatePayload, payload.url, payload.orgId);
}
//TODO: change message for oid4vc
@MessagePattern({ cmd: 'oid4vc-get-issuer-by-id' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcGetIssuerById(payload: { url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcGetIssuerById(payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'oid4vc-get-issuers-agent-service' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcGetIssuers(payload: { url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcGetIssuers(payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-service-oid4vc-create-credential-offer' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcCreateCredentialOffer(payload: { credentialPayload; url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcCreateCredentialOffer(payload.credentialPayload, payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-service-oid4vc-update-credential-offer' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcUpdateCredentialOffer(payload: { issuanceMetadata; url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcUpdateCredentialOffer(payload.issuanceMetadata, payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-service-oid4vc-get-credential-offer-by-id' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcGetCredentialOfferById(payload: { url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcGetCredentialOfferById(payload.url, payload.orgId);
}
Comment thread
RinkalBhojani marked this conversation as resolved.

@MessagePattern({ cmd: 'agent-service-oid4vc-get-all-credential-offers' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcGetAllCredentialOffers(payload: { url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcGetAllCredentialOffers(payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-service-oid4vc-delete-credential-offer' })
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async oidcDeleteCredentialOffer(payload: { url: string; orgId: string }): Promise<any> {
return this.agentServiceService.oidcDeleteCredentialOffer(payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-create-x509-certificate' })
async createX509Certificate(payload: {
options: X509CreateCertificateOptions;
url: string;
orgId: string;
}): Promise<object> {
return this.agentServiceService.createX509Certificate(payload.options, payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-decode-x509-certificate' })
async decodeX509Certificate(payload: {
options: x509CertificateDecodeDto;
url: string;
orgId: string;
}): Promise<object> {
return this.agentServiceService.decodeX509Certificate(payload.options, payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-import-x509-certificate' })
async importX509Certificate(payload: {
options: IX509ImportCertificateOptionsDto;
url: string;
orgId: string;
}): Promise<object> {
return this.agentServiceService.importX509Certificate(payload.options, payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-create-oid4vp-verifier' })
async createOid4vpVerifier(payload: {
verifierDetails: CreateVerifier;
url: string;
orgId: string;
}): Promise<object> {
this.logger.log(
`[createOid4vpVerifier] Received 'agent-create-oid4vp-verifier' request for orgId=${payload?.orgId || 'N/A'}`
);
return this.agentServiceService.createOid4vpVerifier(payload.verifierDetails, payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-delete-oid4vp-verifier' })
async deleteOid4vpVerifier(payload: { url: string; orgId: string }): Promise<object> {
this.logger.log(
`[deleteOid4vpVerifier] Received 'agent-delete-oid4vp-verifier' request for orgId=${payload?.orgId || 'N/A'}`
);
return this.agentServiceService.deleteOid4vpVerifier(payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-update-oid4vp-verifier' })
async updateOid4vpVerifier(payload: {
verifierDetails: UpdateVerifier;
url: string;
orgId: string;
}): Promise<object> {
this.logger.log(
`[updateOid4vpVerifier] Received 'agent-update-oid4vp-verifier' request for orgId=${payload?.orgId || 'N/A'}`
);
return this.agentServiceService.updateOid4vpVerifier(payload.verifierDetails, payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-get-oid4vp-verifier-session' })
async getOid4vpVerifierSession(payload: { url: string; orgId: string }): Promise<object> {
this.logger.log(
`[getOid4vpVerifierSession] Received 'agent-get-oid4vp-verifier-session' request for orgId=${payload?.orgId || 'N/A'}`
);
return this.agentServiceService.getOid4vpVerifierSession(payload.url, payload.orgId);
}

@MessagePattern({ cmd: 'agent-create-oid4vp-verification-session' })
async oid4vpCreateVerificationSession(payload: {
sessionRequest: object;
url: string;
orgId: string;
}): Promise<object> {
this.logger.log(
`[oid4vpCreateVerificationSession] Received 'agent-create-oid4vp-verification-session' request for orgId=${payload?.orgId || 'N/A'}`
);
return this.agentServiceService.createOid4vpVerificationSession(payload.sessionRequest, payload.url, payload.orgId);
}
}
Loading