UNPKG

@elsikora/nestjs-crud-automator

Version:

A library for automating the creation of CRUD operations in NestJS.

27 lines (23 loc) 1.19 kB
'use strict'; var swagger = require('@nestjs/swagger'); var validateDtoProperties_utility = require('./validate-dto-properties.utility.js'); /** * Builds an OpenAPI oneOf schema with discriminator metadata for route-level DTO variants. * @param {TApiRouteDiscriminatedDtoProperties} properties - Route-level discriminated DTO config. * @param {string} context - Error message context. * @returns {SchemaObject} OpenAPI schema for a discriminated root DTO. */ function ApiRouteBuildDiscriminatedDtoOpenApiSchema(properties, context) { validateDtoProperties_utility.ApiRouteValidateDiscriminatedDtoProperties(properties, context); return { discriminator: { mapping: Object.fromEntries(Object.entries(properties.discriminator.mapping).map(([key, value]) => [key, swagger.getSchemaPath(value)])), propertyName: properties.discriminator.propertyName, }, oneOf: properties.type.map((type) => { return { $ref: swagger.getSchemaPath(type) }; }), }; } exports.ApiRouteBuildDiscriminatedDtoOpenApiSchema = ApiRouteBuildDiscriminatedDtoOpenApiSchema; //# sourceMappingURL=build-open-api-schema.utility.js.map