Skip to content
Open
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f52f1d2
feat: oidc implementation
tipusinghaw Sep 12, 2025
1e07fe3
feat: oid4vc issuance (#1455)
tipusinghaw Oct 7, 2025
a3ee18c
refactor: updated the docker file for oid4vc-issuance
tipusinghaw Oct 7, 2025
9f24e19
refactor: update oid4vc flows (#1471)
tipusinghaw Oct 8, 2025
c2c8a2a
Initial changes for x509 support (#1482)
RinkalBhojani Oct 15, 2025
967ead5
fixing eslint issues
RinkalBhojani Oct 13, 2025
f946434
fix: linting issues
RinkalBhojani Oct 23, 2025
4e9afaf
Feat/manage x509 cert (#1492)
RinkalBhojani Oct 26, 2025
13e0c1e
namespace changes
GHkrishna Oct 22, 2025
140d0c0
added x509 cert for mdoc
RinkalBhojani Oct 21, 2025
bbacbe3
feat: seperate mdoc builder method
tipusinghaw Oct 26, 2025
74bbafe
feat: credential path changes
tipusinghaw Oct 27, 2025
39d244b
fix: added support for nested attribute and updated builder function
RinkalBhojani Oct 27, 2025
a891c95
refactor:updated example for issuer and added logic to fetch issuer d…
tipusinghaw Oct 27, 2025
259455f
fix: correction in create offer functions for validations and builder…
RinkalBhojani Oct 27, 2025
9fe57ee
refactor: create and update template
tipusinghaw Oct 28, 2025
953ef8d
fix: added validityInfo for credential validity check
RinkalBhojani Oct 28, 2025
25c6b13
feat: added docker file
tipusinghaw Oct 28, 2025
ffaa672
removed commented code and refactored
RinkalBhojani Oct 29, 2025
4e3ec43
fix: resolved coderabbit suggested chnages
RinkalBhojani Oct 29, 2025
6a66cf4
feat: added webhook
tipusinghaw Oct 30, 2025
4174168
fix: fixed issue with signeroption did in sdjwt create offer
RinkalBhojani Oct 30, 2025
407d649
fix: Reverted accidental changes done in credebl-master-table.json fi…
RinkalBhojani Oct 30, 2025
76c3b70
feat: oid4vc verification (#1501)
GHkrishna Nov 3, 2025
43e918c
refactor: updated CI file
tipusinghaw Nov 3, 2025
61f6f6a
fix: issuance build
tipusinghaw Nov 3, 2025
ca3f3c3
feat: debug logs (#1505)
GHkrishna Nov 6, 2025
ff1ce9b
feat: verification webhook (#1507)
tipusinghaw Nov 6, 2025
76350ed
refactor: webhook logic
tipusinghaw Nov 7, 2025
0531a88
feat: added x509 support
tipusinghaw Nov 7, 2025
3c3d3d2
fix: fixed issues with webhooks and columns
RinkalBhojani Nov 10, 2025
8150fc0
fix: issuance webhook fix
tipusinghaw Nov 10, 2025
3fa8073
fix: refactored code and added missing condition for ed25519 in verif…
RinkalBhojani Nov 10, 2025
2567509
hotfix: added missing Nkey for oid4vc-veriifcation service
RinkalBhojani Nov 10, 2025
94e6bbb
feat: trace contextId across services (#1509)
GHkrishna Nov 12, 2025
2ed0396
feat: optionally enable OIDC modules (#1516)
GHkrishna Nov 14, 2025
69adb3e
fix: nats call microservices (#1514)
GHkrishna Nov 14, 2025
9fe4486
fixed coderabbit comments for PR:1517
RinkalBhojani Nov 18, 2025
dddc4be
fix: fixed coderabbitai suggestions and PR comments
RinkalBhojani Nov 18, 2025
24f835c
fix: fixed minor issues
RinkalBhojani Nov 19, 2025
92a9e36
fix: refactored code
RinkalBhojani Nov 21, 2025
e9477f1
fix: changed error message
tipusinghaw Nov 28, 2025
691aee9
feat: dcapi support (#1530)
tipusinghaw Dec 4, 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 @@ -141,6 +144,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

AFJ_AGENT_TOKEN_PATH=/apps/agent-provisioning/AFJ/token/

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

Check warning on line 2 in Dockerfiles/Dockerfile.oid4vc-issuance

View workflow job for this annotation

GitHub Actions / Push Docker image to GitHub (oid4vc-issuance)

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/
Copy link

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

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"]
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

Check warning on line 2 in Dockerfiles/Dockerfile.oid4vc-verification

View workflow job for this annotation

GitHub Actions / Push Docker image to GitHub (oid4vc-verification)

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/
# 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 ./

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

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

Check warning on line 2 in Dockerfiles/Dockerfile.x509

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

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

Check warning on line 2 in Dockerfiles/Dockerfile.x509

View workflow job for this annotation

GitHub Actions / Push Docker image to GitHub (x509)

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/
Copy link

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
@@ -1,4 +1,4 @@
import { Controller } from '@nestjs/common';
import { Controller, Logger } from '@nestjs/common';
import { MessagePattern } from '@nestjs/microservices';
import { AgentServiceService } from './agent-service.service';
import {
Expand Down Expand Up @@ -27,9 +27,16 @@ import { user } from '@prisma/client';
import { InvitationMessage } from '@credebl/common/interfaces/agent-service.interface';
import { AgentSpinUpStatus } from '@credebl/enum/enum';
import { SignDataDto } from '../../api-gateway/src/agent-service/dto/agent-service.dto';
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 @@ -323,4 +330,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);
}

@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
Loading