From 353f5fd02b00d8e3fccea159b50e0d9e8f8d5e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20My=C5=9Bliwiec?= Date: Fri, 15 Nov 2024 10:50:05 +0100 Subject: [PATCH] fix: expose self required attribute for objects #3163 --- e2e/api-spec.json | 1 + e2e/src/cats/classes/cat.class.ts | 3 ++- lib/interfaces/schema-object-metadata.interface.ts | 10 +++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/e2e/api-spec.json b/e2e/api-spec.json index 94527952e..677c0b477 100644 --- a/e2e/api-spec.json +++ b/e2e/api-spec.json @@ -1690,6 +1690,7 @@ "createdAt", "urls", "_options", + "rawDefinition", "enum", "enumArr", "enumWithRef", diff --git a/e2e/src/cats/classes/cat.class.ts b/e2e/src/cats/classes/cat.class.ts index d0b5f2064..0c47fffd4 100644 --- a/e2e/src/cats/classes/cat.class.ts +++ b/e2e/src/cats/classes/cat.class.ts @@ -57,7 +57,8 @@ export class Cat { example: 400 } }, - required: ['name', 'status'] + required: ['name', 'status'], + selfRequired: true }) rawDefinition?: Record; diff --git a/lib/interfaces/schema-object-metadata.interface.ts b/lib/interfaces/schema-object-metadata.interface.ts index 4b23efdc3..bab0b9590 100644 --- a/lib/interfaces/schema-object-metadata.interface.ts +++ b/lib/interfaces/schema-object-metadata.interface.ts @@ -1,6 +1,6 @@ import { Type } from '@nestjs/common'; import { EnumSchemaAttributes } from './enum-schema-attributes.interface'; -import { SchemaObject } from './open-api-spec.interface'; +import { ReferenceObject, SchemaObject } from './open-api-spec.interface'; export type EnumAllowedTypes = | any[] @@ -38,4 +38,12 @@ export type SchemaObjectMetadata = type: 'object'; properties: Record; required?: string[]; + selfRequired?: boolean; + } & SchemaObjectCommonMetadata) + | ({ + type: 'object'; + properties?: Record; + additionalProperties: SchemaObject | ReferenceObject | boolean; + required?: string[]; + selfRequired?: boolean; } & SchemaObjectCommonMetadata);