From 1d85287a30e2bf45871a35e7ffa1e90bbaae2fac Mon Sep 17 00:00:00 2001 From: Milena-Czierlinski Date: Fri, 13 Mar 2026 10:45:37 +0100 Subject: [PATCH] refactor: type attributeId more specifically --- packages/runtime/src/useCases/common/Schemas.ts | 12 ++++++++++-- .../openid4vc/AcceptAuthorizationRequest.ts | 4 ++-- .../consumption/openid4vc/CreatePresentationToken.ts | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/runtime/src/useCases/common/Schemas.ts b/packages/runtime/src/useCases/common/Schemas.ts index f94fbfe34..1c8a4a434 100644 --- a/packages/runtime/src/useCases/common/Schemas.ts +++ b/packages/runtime/src/useCases/common/Schemas.ts @@ -17317,13 +17317,17 @@ export const AcceptAuthorizationRequestRequest: any = { "type": "object" }, "attributeId": { - "type": "string" + "$ref": "#/definitions/AttributeIdString" } }, "required": [ "attributeId", "authorizationRequest" ] + }, + "AttributeIdString": { + "type": "string", + "pattern": "ATT[A-Za-z0-9]{17}" } } } @@ -17336,7 +17340,7 @@ export const CreatePresentationTokenRequest: any = { "type": "object", "properties": { "attributeId": { - "type": "string" + "$ref": "#/definitions/AttributeIdString" }, "expiresAt": { "$ref": "#/definitions/ISO8601DateTimeString" @@ -17352,6 +17356,10 @@ export const CreatePresentationTokenRequest: any = { ], "additionalProperties": false }, + "AttributeIdString": { + "type": "string", + "pattern": "ATT[A-Za-z0-9]{17}" + }, "ISO8601DateTimeString": { "type": "string", "errorMessage": "must match ISO8601 datetime format", diff --git a/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts b/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts index 0a6447906..e6ffba1bd 100644 --- a/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts +++ b/packages/runtime/src/useCases/consumption/openid4vc/AcceptAuthorizationRequest.ts @@ -3,11 +3,11 @@ import { Result } from "@js-soft/ts-utils"; import { AttributesController, LocalAttribute, OpenId4VcController, OwnIdentityAttribute } from "@nmshd/consumption"; import { CoreId } from "@nmshd/core-types"; import { Inject } from "@nmshd/typescript-ioc"; -import { RuntimeErrors, SchemaRepository, SchemaValidator, UseCase } from "../../common"; +import { AttributeIdString, RuntimeErrors, SchemaRepository, SchemaValidator, UseCase } from "../../common"; export interface AbstractAcceptAuthorizationRequestRequest { authorizationRequest: T; - attributeId: string; + attributeId: AttributeIdString; } export interface AcceptAuthorizationRequestRequest extends AbstractAcceptAuthorizationRequestRequest {} diff --git a/packages/runtime/src/useCases/consumption/openid4vc/CreatePresentationToken.ts b/packages/runtime/src/useCases/consumption/openid4vc/CreatePresentationToken.ts index e86c66844..cd19e022e 100644 --- a/packages/runtime/src/useCases/consumption/openid4vc/CreatePresentationToken.ts +++ b/packages/runtime/src/useCases/consumption/openid4vc/CreatePresentationToken.ts @@ -5,11 +5,11 @@ import { CoreDate, CoreId } from "@nmshd/core-types"; import { TokenDTO } from "@nmshd/runtime-types"; import { TokenController } from "@nmshd/transport"; import { Inject } from "@nmshd/typescript-ioc"; -import { ISO8601DateTimeString, RuntimeErrors, SchemaRepository, SchemaValidator, UseCase } from "../../common"; +import { AttributeIdString, ISO8601DateTimeString, RuntimeErrors, SchemaRepository, SchemaValidator, UseCase } from "../../common"; import { TokenMapper } from "../../transport/tokens/TokenMapper"; export interface CreatePresentationTokenRequest { - attributeId: string; + attributeId: AttributeIdString; expiresAt: ISO8601DateTimeString; ephemeral: boolean; }