@elsikora/nestjs-crud-automator 1.8.0-dev.2 → 1.9.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +253 -290
- package/dist/cjs/class/api/index.d.ts +1 -1
- package/dist/cjs/class/api/service-base.class.d.ts +2 -3
- package/dist/cjs/class/api/service-base.class.js.map +1 -1
- package/dist/cjs/class/index.d.ts +4 -3
- package/dist/cjs/class/metadata-storage.class.d.ts +2 -2
- package/dist/cjs/class/metadata-storage.class.js +1 -0
- package/dist/cjs/class/metadata-storage.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/boolean.class.d.ts +4 -3
- package/dist/cjs/class/utility/dto/property/factory/boolean.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/date.class.d.ts +4 -3
- package/dist/cjs/class/utility/dto/property/factory/date.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/enum.class.d.ts +4 -3
- package/dist/cjs/class/utility/dto/property/factory/enum.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/index.d.ts +8 -6
- package/dist/cjs/class/utility/dto/property/factory/number.class.d.ts +5 -4
- package/dist/cjs/class/utility/dto/property/factory/number.class.js +1 -3
- package/dist/cjs/class/utility/dto/property/factory/number.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/object.class.d.ts +6 -4
- package/dist/cjs/class/utility/dto/property/factory/object.class.js +2 -1
- package/dist/cjs/class/utility/dto/property/factory/object.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/relation.class.d.ts +5 -4
- package/dist/cjs/class/utility/dto/property/factory/relation.class.js +0 -3
- package/dist/cjs/class/utility/dto/property/factory/relation.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/string.class.d.ts +4 -3
- package/dist/cjs/class/utility/dto/property/factory/string.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/uuid.class.d.ts +4 -3
- package/dist/cjs/class/utility/dto/property/factory/uuid.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/body.class.d.ts +3 -3
- package/dist/cjs/class/utility/dto/strategy/body.class.js +1 -4
- package/dist/cjs/class/utility/dto/strategy/body.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/index.d.ts +4 -4
- package/dist/cjs/class/utility/dto/strategy/query.class.d.ts +3 -3
- package/dist/cjs/class/utility/dto/strategy/query.class.js +0 -3
- package/dist/cjs/class/utility/dto/strategy/query.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/request.class.d.ts +3 -3
- package/dist/cjs/class/utility/dto/strategy/request.class.js +0 -3
- package/dist/cjs/class/utility/dto/strategy/request.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/response.class.d.ts +3 -3
- package/dist/cjs/class/utility/dto/strategy/response.class.js +0 -3
- package/dist/cjs/class/utility/dto/strategy/response.class.js.map +1 -1
- package/dist/cjs/constant/decorator/api/function.constant.d.ts +1 -1
- package/dist/cjs/constant/decorator/api/function.constant.js +0 -15
- package/dist/cjs/constant/decorator/api/function.constant.js.map +1 -1
- package/dist/cjs/constant/decorator/api/index.d.ts +3 -3
- package/dist/cjs/constant/dto/index.d.ts +3 -3
- package/dist/cjs/constant/dto/list.constant.d.ts +1 -2
- package/dist/cjs/constant/dto/list.constant.js +1 -3
- package/dist/cjs/constant/dto/list.constant.js.map +1 -1
- package/dist/cjs/constant/factory/dto/get-list-query.constant.d.ts +1 -0
- package/dist/cjs/constant/factory/dto/get-list-query.constant.js +2 -0
- package/dist/cjs/constant/factory/dto/get-list-query.constant.js.map +1 -1
- package/dist/cjs/constant/factory/dto/index.d.ts +1 -1
- package/dist/cjs/constant/index.d.ts +8 -6
- package/dist/cjs/constant/interface/api/index.d.ts +2 -2
- package/dist/cjs/constant/interface/api/property/index.d.ts +2 -2
- package/dist/cjs/constant/utility/dto/constant.d.ts +3 -2
- package/dist/cjs/constant/utility/dto/constant.js +6 -10
- package/dist/cjs/constant/utility/dto/constant.js.map +1 -1
- package/dist/cjs/constant/utility/dto/index.d.ts +2 -0
- package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.d.ts +5 -0
- package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.js +89 -0
- package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.js.map +1 -0
- package/dist/cjs/constant/validator/index.d.ts +1 -0
- package/dist/cjs/decorator/api/controller.decorator.d.ts +3 -2
- package/dist/cjs/decorator/api/controller.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/create.decorator.d.ts +7 -1
- package/dist/cjs/decorator/api/function/create.decorator.js +12 -16
- package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/decorator.d.ts +10 -3
- package/dist/cjs/decorator/api/function/decorator.js +7 -3
- package/dist/cjs/decorator/api/function/decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/delete.decorator.d.ts +7 -1
- package/dist/cjs/decorator/api/function/delete.decorator.js +12 -16
- package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get-list.decorator.d.ts +8 -2
- package/dist/cjs/decorator/api/function/get-list.decorator.js +12 -16
- package/dist/cjs/decorator/api/function/get-list.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get-many.decorator.d.ts +7 -1
- package/dist/cjs/decorator/api/function/get-many.decorator.js +13 -16
- package/dist/cjs/decorator/api/function/get-many.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get.decorator.d.ts +7 -1
- package/dist/cjs/decorator/api/function/get.decorator.js +13 -16
- package/dist/cjs/decorator/api/function/get.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/index.d.ts +7 -7
- package/dist/cjs/decorator/api/function/update.decorator.d.ts +7 -1
- package/dist/cjs/decorator/api/function/update.decorator.js +12 -16
- package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/index.d.ts +5 -5
- package/dist/cjs/decorator/api/method.decorator.d.ts +8 -1
- package/dist/cjs/decorator/api/method.decorator.js +9 -6
- package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/boolean.decorator.d.ts +52 -1
- package/dist/cjs/decorator/api/property/boolean.decorator.js +99 -7
- package/dist/cjs/decorator/api/property/boolean.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/copy.decorator.d.ts +16 -0
- package/dist/cjs/decorator/api/property/copy.decorator.js +49 -0
- package/dist/cjs/decorator/api/property/copy.decorator.js.map +1 -0
- package/dist/cjs/decorator/api/property/date.decorator.d.ts +56 -1
- package/dist/cjs/decorator/api/property/date.decorator.js +132 -7
- package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/describe.decorator.d.ts +82 -1
- package/dist/cjs/decorator/api/property/describe.decorator.js +81 -16
- package/dist/cjs/decorator/api/property/describe.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/enum.decorator.d.ts +75 -1
- package/dist/cjs/decorator/api/property/enum.decorator.js +112 -0
- package/dist/cjs/decorator/api/property/enum.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/index.d.ts +9 -7
- package/dist/cjs/decorator/api/property/number.decorator.d.ts +67 -1
- package/dist/cjs/decorator/api/property/number.decorator.js +152 -12
- package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/object.decorator.d.ts +27 -1
- package/dist/cjs/decorator/api/property/object.decorator.js +145 -3
- package/dist/cjs/decorator/api/property/object.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/string.decorator.d.ts +68 -1
- package/dist/cjs/decorator/api/property/string.decorator.js +131 -14
- package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/uuid.decorator.d.ts +42 -1
- package/dist/cjs/decorator/api/property/uuid.decorator.js +92 -7
- package/dist/cjs/decorator/api/property/uuid.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/service.decorator.d.ts +8 -2
- package/dist/cjs/decorator/api/service.decorator.js +10 -6
- package/dist/cjs/decorator/api/service.decorator.js.map +1 -1
- package/dist/cjs/enum/decorator/api/controller/index.d.ts +2 -2
- package/dist/cjs/enum/decorator/api/function/index.d.ts +1 -1
- package/dist/cjs/enum/decorator/api/index.d.ts +7 -7
- package/dist/cjs/enum/decorator/api/property/date/index.d.ts +2 -2
- package/dist/cjs/enum/decorator/api/property/index.d.ts +5 -5
- package/dist/cjs/enum/index.d.ts +6 -4
- package/dist/cjs/enum/utility/index.d.ts +1 -1
- package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.d.ts +5 -0
- package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js +9 -0
- package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js.map +1 -0
- package/dist/cjs/enum/validator/index.d.ts +2 -0
- package/dist/cjs/enum/validator/must-match-one-of-schemas-error-type.enum.d.ts +6 -0
- package/dist/cjs/enum/validator/must-match-one-of-schemas-error-type.enum.js +10 -0
- package/dist/cjs/enum/validator/must-match-one-of-schemas-error-type.enum.js.map +1 -0
- package/dist/cjs/factory/api/controller.factory.d.ts +4 -3
- package/dist/cjs/factory/api/controller.factory.js +11 -15
- package/dist/cjs/factory/api/controller.factory.js.map +1 -1
- package/dist/cjs/factory/api/index.d.ts +1 -1
- package/dist/cjs/index.d.ts +10 -10
- package/dist/cjs/index.js +132 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interceptor/index.d.ts +1 -1
- package/dist/cjs/interface/api-authentication-request.interface.d.ts +1 -1
- package/dist/cjs/interface/api-request-validator.interface.d.ts +3 -2
- package/dist/cjs/interface/class/dto/index.d.ts +1 -1
- package/dist/cjs/interface/class/dto/strategy.interface.d.ts +2 -2
- package/dist/cjs/interface/class/index.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/controller/base.interface.d.ts +1 -1
- package/dist/cjs/interface/decorator/api/controller/index.d.ts +3 -3
- package/dist/cjs/interface/decorator/api/controller/properties/route/authentication.interface.d.ts +1 -1
- package/dist/cjs/interface/decorator/api/controller/properties/route/auto-dto-config.interface.d.ts +1 -1
- package/dist/cjs/interface/decorator/api/controller/properties/route/base-request.interface.d.ts +3 -3
- package/dist/cjs/interface/decorator/api/controller/properties/route/base-response.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/controller/properties/route/base.interface.d.ts +2 -4
- package/dist/cjs/interface/decorator/api/controller/properties/route/index.d.ts +7 -7
- package/dist/cjs/interface/decorator/api/controller/properties/route/with-auto-dto.interface.d.ts +2 -3
- package/dist/cjs/interface/decorator/api/controller/properties/route/with-dto.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/controller/properties.interface.d.ts +3 -3
- package/dist/cjs/interface/decorator/api/function/create-executor-properties.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/function/delete-executor-properties.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/function/get-executor-properties.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/function/get-list-executor-properties.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/function/get-many-executor-properties.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/function/index.d.ts +7 -7
- package/dist/cjs/interface/decorator/api/function/properties.interface.d.ts +1 -1
- package/dist/cjs/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/index.d.ts +5 -5
- package/dist/cjs/interface/decorator/api/method/index.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/method/properties.interface.d.ts +2 -4
- package/dist/cjs/interface/dto-generate-factory.interface.d.ts +5 -4
- package/dist/cjs/interface/entity/index.d.ts +2 -2
- package/dist/cjs/interface/entity/interface.d.ts +2 -2
- package/dist/cjs/interface/index.d.ts +10 -8
- package/dist/cjs/interface/utility/api/controller/index.d.ts +1 -1
- package/dist/cjs/interface/utility/error-string-properties.interface.d.ts +1 -1
- package/dist/cjs/interface/utility/get-entity-columns-properties.interface.d.ts +1 -1
- package/dist/cjs/interface/utility/index.d.ts +3 -2
- package/dist/cjs/interface/validator/index.d.ts +1 -0
- package/dist/cjs/interface/validator/must-match-one-of-schemas-discriminator-config.interface.d.ts +6 -0
- package/dist/cjs/type/api-request-transformer.type.d.ts +3 -3
- package/dist/cjs/type/class/controller/index.d.ts +1 -1
- package/dist/cjs/type/class/controller/method.type.d.ts +2 -2
- package/dist/cjs/type/class/index.d.ts +3 -3
- package/dist/cjs/type/class/metadata.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/controller/constructor.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/controller/get-list-query.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/controller/index.d.ts +5 -5
- package/dist/cjs/type/decorator/api/controller/properties/route/base-request-relations.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/controller/properties/route/base-request-transformers.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/controller/properties/route/base-response-transformers.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/controller/properties/route/index.d.ts +3 -3
- package/dist/cjs/type/decorator/api/controller/properties-route.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/controller/transformer-config.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/filter/extracted-allowed-types.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/filter/index.d.ts +4 -4
- package/dist/cjs/type/decorator/api/filter/order-by.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/function/index.d.ts +9 -9
- package/dist/cjs/type/decorator/api/function/properties.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/property/base/array/index.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/base/index.d.ts +4 -4
- package/dist/cjs/type/decorator/api/property/base/properties.type.d.ts +2 -4
- package/dist/cjs/type/decorator/api/property/date-properties.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/array/index.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/base-properties.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/property/describe/boolean-properties.type.d.ts +3 -3
- package/dist/cjs/type/decorator/api/property/describe/date-properties.type.d.ts +3 -3
- package/dist/cjs/type/decorator/api/property/describe/dto/body-properties.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/dto/index.d.ts +6 -5
- package/dist/cjs/type/decorator/api/property/describe/dto/properties.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/property/describe/dto/query/index.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/dto/query/properties.type.d.ts +2 -3
- package/dist/cjs/type/decorator/api/property/describe/dto/request-properties.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/dto/response-properties.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/enum-properties.type.d.ts +3 -3
- package/dist/cjs/type/decorator/api/property/describe/index.d.ts +14 -13
- package/dist/cjs/type/decorator/api/property/describe/number-properties.type.d.ts +4 -4
- package/dist/cjs/type/decorator/api/property/describe/object/dynamic-with-discriminator-properties.type.d.ts +15 -0
- package/dist/cjs/type/decorator/api/property/describe/object/index.d.ts +4 -0
- package/dist/cjs/type/decorator/api/property/describe/object/properties.type.d.ts +4 -0
- package/dist/cjs/type/decorator/api/property/describe/object/with-discriminator-properties.type.d.ts +14 -0
- package/dist/cjs/type/decorator/api/property/describe/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -4
- package/dist/cjs/type/decorator/api/property/describe/properties/base-dto-properties.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/property/describe/properties/base-properties.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/properties/index.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/properties.type.d.ts +8 -8
- package/dist/cjs/type/decorator/api/property/describe/relation-properties.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/describe/string-properties.type.d.ts +4 -4
- package/dist/cjs/type/decorator/api/property/describe/uuid-properties.type.d.ts +3 -3
- package/dist/cjs/type/decorator/api/property/enum-properties.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/property/index.d.ts +8 -6
- package/dist/cjs/type/decorator/api/property/number-properties.type.d.ts +3 -3
- package/dist/cjs/type/decorator/api/property/object/dynamic-with-discriminator-properties.type.d.ts +16 -0
- package/dist/cjs/type/decorator/api/property/object/index.d.ts +4 -0
- package/dist/cjs/type/decorator/api/property/object/properties.type.d.ts +4 -0
- package/dist/cjs/type/decorator/api/property/object/with-discriminator-properties.type.d.ts +15 -0
- package/dist/cjs/type/decorator/api/property/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -2
- package/dist/cjs/type/decorator/api/property/string-properties.type.d.ts +2 -2
- package/dist/cjs/type/decorator/api/property/uuid-properties.type.d.ts +1 -1
- package/dist/cjs/type/decorator/api/service/index.d.ts +2 -2
- package/dist/cjs/type/decorator/api/service/keys.type.d.ts +1 -1
- package/dist/cjs/type/factory/api/controller/index.d.ts +4 -4
- package/dist/cjs/type/factory/api/controller/method-map.type.d.ts +4 -3
- package/dist/cjs/type/factory/api/controller/method-name-map.type.d.ts +2 -2
- package/dist/cjs/type/factory/api/controller/method-name.type.d.ts +3 -3
- package/dist/cjs/type/factory/api/controller/target-methods.type.d.ts +4 -4
- package/dist/cjs/type/index.d.ts +10 -5
- package/dist/cjs/type/utility/api/controller/transform-data/data.type.d.ts +1 -1
- package/dist/cjs/type/utility/api/controller/transform-data/index.d.ts +3 -3
- package/dist/cjs/type/utility/api/controller/transform-data/is-validation-properties.type.d.ts +2 -2
- package/dist/cjs/type/utility/api/controller/transform-data/object-to-transform.type.d.ts +2 -2
- package/dist/cjs/type/utility/date-range-keys.type.d.ts +1 -1
- package/dist/cjs/type/utility/dto/generate-allowed-combination.type.d.ts +1 -1
- package/dist/cjs/type/utility/dto/generate-is-allowed-combination.type.d.ts +2 -2
- package/dist/cjs/type/utility/dto/index.d.ts +2 -2
- package/dist/cjs/type/utility/filter-keys.type.d.ts +1 -1
- package/dist/cjs/type/utility/index.d.ts +7 -7
- package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/index.d.ts +2 -0
- package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/operation-config.type.d.ts +7 -0
- package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/validation-context.type.d.ts +5 -0
- package/dist/cjs/utility/api/controller/apply-decorators.utility.d.ts +18 -3
- package/dist/cjs/utility/api/controller/apply-decorators.utility.js +15 -4
- package/dist/cjs/utility/api/controller/apply-decorators.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/apply-metadata.utility.d.ts +17 -3
- package/dist/cjs/utility/api/controller/apply-metadata.utility.js +21 -12
- package/dist/cjs/utility/api/controller/apply-metadata.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-list/index.d.ts +2 -2
- package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.d.ts +10 -1
- package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js +9 -3
- package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.d.ts +8 -1
- package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.js +8 -1
- package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-method-name.utility.d.ts +7 -1
- package/dist/cjs/utility/api/controller/get-method-name.utility.js +6 -0
- package/dist/cjs/utility/api/controller/get-method-name.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-primary-column.utility.d.ts +10 -1
- package/dist/cjs/utility/api/controller/get-primary-column.utility.js +8 -0
- package/dist/cjs/utility/api/controller/get-primary-column.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.d.ts +17 -2
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.js +15 -5
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/index.d.ts +10 -9
- package/dist/cjs/utility/api/controller/transform-data.utility.d.ts +15 -3
- package/dist/cjs/utility/api/controller/transform-data.utility.js +52 -3
- package/dist/cjs/utility/api/controller/transform-data.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/validate-request.utility.d.ts +12 -2
- package/dist/cjs/utility/api/controller/validate-request.utility.js +9 -0
- package/dist/cjs/utility/api/controller/validate-request.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/write-dto-swagger.utility.d.ts +17 -3
- package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js +20 -11
- package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/write-method.utility.d.ts +16 -2
- package/dist/cjs/utility/api/controller/write-method.utility.js +14 -1
- package/dist/cjs/utility/api/controller/write-method.utility.js.map +1 -1
- package/dist/cjs/utility/api/filter-order-by-from-entity.utility.d.ts +16 -3
- package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js +14 -1
- package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js.map +1 -1
- package/dist/cjs/utility/api/index.d.ts +2 -2
- package/dist/cjs/utility/camel-case-string.utility.d.ts +5 -0
- package/dist/cjs/utility/camel-case-string.utility.js +5 -0
- package/dist/cjs/utility/camel-case-string.utility.js.map +1 -1
- package/dist/cjs/utility/capitalize-string.utility.d.ts +5 -0
- package/dist/cjs/utility/capitalize-string.utility.js +5 -0
- package/dist/cjs/utility/capitalize-string.utility.js.map +1 -1
- package/dist/cjs/utility/dto/analize.utility.d.ts +7 -1
- package/dist/cjs/utility/dto/analize.utility.js +6 -16
- package/dist/cjs/utility/dto/analize.utility.js.map +1 -1
- package/dist/cjs/utility/dto/build-decorator.utility.d.ts +19 -4
- package/dist/cjs/utility/dto/build-decorator.utility.js +17 -5
- package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-decorator.utility.d.ts +19 -4
- package/dist/cjs/utility/dto/generate-decorator.utility.js +16 -2
- package/dist/cjs/utility/dto/generate-decorator.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-dynamic.utility.d.ts +21 -0
- package/dist/cjs/utility/dto/generate-dynamic.utility.js +94 -0
- package/dist/cjs/utility/dto/generate-dynamic.utility.js.map +1 -0
- package/dist/cjs/utility/dto/generate-exception.utility.d.ts +7 -0
- package/dist/cjs/utility/dto/generate-exception.utility.js +8 -5
- package/dist/cjs/utility/dto/generate-exception.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-filter-decorator.utility.d.ts +11 -2
- package/dist/cjs/utility/dto/generate-filter-decorator.utility.js +9 -3
- package/dist/cjs/utility/dto/generate-filter-decorator.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-get-list-response.utility.d.ts +9 -0
- package/dist/cjs/utility/dto/generate-get-list-response.utility.js +25 -19
- package/dist/cjs/utility/dto/generate-get-list-response.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-relation-response.utility.d.ts +12 -2
- package/dist/cjs/utility/dto/generate-relation-response.utility.js +10 -0
- package/dist/cjs/utility/dto/generate-relation-response.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate.utility.d.ts +17 -2
- package/dist/cjs/utility/dto/generate.utility.js +39 -11
- package/dist/cjs/utility/dto/generate.utility.js.map +1 -1
- package/dist/cjs/utility/dto/get-decorator-config.utility.d.ts +15 -2
- package/dist/cjs/utility/dto/get-decorator-config.utility.js +13 -0
- package/dist/cjs/utility/dto/get-decorator-config.utility.js.map +1 -1
- package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.d.ts +13 -2
- package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js +16 -11
- package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js.map +1 -1
- package/dist/cjs/utility/dto/handle-date-property.utility.d.ts +9 -1
- package/dist/cjs/utility/dto/handle-date-property.utility.js +8 -3
- package/dist/cjs/utility/dto/handle-date-property.utility.js.map +1 -1
- package/dist/cjs/utility/dto/index.d.ts +16 -12
- package/dist/cjs/utility/dto/is-property-exposed-for-guard.utility.d.ts +10 -2
- package/dist/cjs/utility/dto/is-property-exposed-for-guard.utility.js +8 -0
- package/dist/cjs/utility/dto/is-property-exposed-for-guard.utility.js.map +1 -1
- package/dist/cjs/utility/dto/is-property-should-be-marked.utility.d.ts +12 -2
- package/dist/cjs/utility/dto/is-property-should-be-marked.utility.js +10 -3
- package/dist/cjs/utility/dto/is-property-should-be-marked.utility.js.map +1 -1
- package/dist/cjs/utility/dto/is-should-be-generated.utility.d.ts +11 -1
- package/dist/cjs/utility/dto/is-should-be-generated.utility.js +10 -3
- package/dist/cjs/utility/dto/is-should-be-generated.utility.js.map +1 -1
- package/dist/cjs/utility/dto/validate-property-config.utility.d.ts +1 -1
- package/dist/cjs/utility/error-exception.utility.d.ts +5 -0
- package/dist/cjs/utility/error-exception.utility.js +5 -0
- package/dist/cjs/utility/error-exception.utility.js.map +1 -1
- package/dist/cjs/utility/error-string.utility.d.ts +8 -1
- package/dist/cjs/utility/error-string.utility.js +6 -0
- package/dist/cjs/utility/error-string.utility.js.map +1 -1
- package/dist/cjs/utility/generate-entity-information.utility.d.ts +8 -1
- package/dist/cjs/utility/generate-entity-information.utility.js +7 -17
- package/dist/cjs/utility/generate-entity-information.utility.js.map +1 -1
- package/dist/cjs/utility/get-entity-columns.utility.d.ts +7 -1
- package/dist/cjs/utility/get-entity-columns.utility.js +6 -0
- package/dist/cjs/utility/get-entity-columns.utility.js.map +1 -1
- package/dist/cjs/utility/index.d.ts +10 -10
- package/dist/cjs/utility/is-error-of-type.utility.d.ts +7 -1
- package/dist/cjs/utility/is-error-of-type.utility.js +7 -16
- package/dist/cjs/utility/is-error-of-type.utility.js.map +1 -1
- package/dist/cjs/utility/logger.utility.d.ts +4 -0
- package/dist/cjs/utility/logger.utility.js +4 -0
- package/dist/cjs/utility/logger.utility.js.map +1 -1
- package/dist/cjs/validator/all-or-none-of-listed-properties.validator.d.ts +1 -1
- package/dist/cjs/validator/all-or-none-of-listed-properties.validator.js +3 -3
- package/dist/cjs/validator/all-or-none-of-listed-properties.validator.js.map +1 -1
- package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.d.ts +1 -1
- package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js +3 -3
- package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +1 -1
- package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.d.ts +1 -1
- package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.js +3 -3
- package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.js.map +1 -1
- package/dist/cjs/validator/has-at-least-one-property.validator.d.ts +1 -1
- package/dist/cjs/validator/has-at-least-one-property.validator.js +3 -3
- package/dist/cjs/validator/has-at-least-one-property.validator.js.map +1 -1
- package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.d.ts +12 -1
- package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.js +25 -95
- package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -1
- package/dist/cjs/validator/index.d.ts +8 -6
- package/dist/cjs/validator/is-regular-expression.validator.d.ts +6 -1
- package/dist/cjs/validator/is-regular-expression.validator.js +8 -3
- package/dist/cjs/validator/is-regular-expression.validator.js.map +1 -1
- package/dist/cjs/validator/must-match-one-of-schemas.validator.d.ts +36 -0
- package/dist/cjs/validator/must-match-one-of-schemas.validator.js +190 -0
- package/dist/cjs/validator/must-match-one-of-schemas.validator.js.map +1 -0
- package/dist/cjs/validator/only-one-of-listed-properties.validator.d.ts +1 -1
- package/dist/cjs/validator/only-one-of-listed-properties.validator.js +3 -3
- package/dist/cjs/validator/only-one-of-listed-properties.validator.js.map +1 -1
- package/dist/esm/class/api/index.d.ts +1 -1
- package/dist/esm/class/api/service-base.class.d.ts +2 -3
- package/dist/esm/class/api/service-base.class.js.map +1 -0
- package/dist/esm/class/index.d.ts +4 -3
- package/dist/esm/class/metadata-storage.class.d.ts +2 -2
- package/dist/esm/{src/class → class}/metadata-storage.class.js +1 -0
- package/dist/esm/class/metadata-storage.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/boolean.class.d.ts +4 -3
- package/dist/esm/class/utility/dto/property/factory/boolean.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/date.class.d.ts +4 -3
- package/dist/esm/class/utility/dto/property/factory/date.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/enum.class.d.ts +4 -3
- package/dist/esm/class/utility/dto/property/factory/enum.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/index.d.ts +8 -6
- package/dist/esm/class/utility/dto/property/factory/number.class.d.ts +5 -4
- package/dist/esm/{src/class → class}/utility/dto/property/factory/number.class.js +1 -3
- package/dist/esm/class/utility/dto/property/factory/number.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/object.class.d.ts +6 -4
- package/dist/esm/{src/class → class}/utility/dto/property/factory/object.class.js +2 -1
- package/dist/esm/class/utility/dto/property/factory/object.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/relation.class.d.ts +5 -4
- package/dist/esm/{src/class → class}/utility/dto/property/factory/relation.class.js +0 -3
- package/dist/esm/class/utility/dto/property/factory/relation.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/string.class.d.ts +4 -3
- package/dist/esm/class/utility/dto/property/factory/string.class.js.map +1 -0
- package/dist/esm/class/utility/dto/property/factory/uuid.class.d.ts +4 -3
- package/dist/esm/class/utility/dto/property/factory/uuid.class.js.map +1 -0
- package/dist/esm/class/utility/dto/strategy/body.class.d.ts +3 -3
- package/dist/esm/{src/class → class}/utility/dto/strategy/body.class.js +1 -4
- package/dist/esm/class/utility/dto/strategy/body.class.js.map +1 -0
- package/dist/esm/class/utility/dto/strategy/index.d.ts +4 -4
- package/dist/esm/class/utility/dto/strategy/query.class.d.ts +3 -3
- package/dist/esm/{src/class → class}/utility/dto/strategy/query.class.js +0 -3
- package/dist/esm/class/utility/dto/strategy/query.class.js.map +1 -0
- package/dist/esm/class/utility/dto/strategy/request.class.d.ts +3 -3
- package/dist/esm/{src/class → class}/utility/dto/strategy/request.class.js +0 -3
- package/dist/esm/class/utility/dto/strategy/request.class.js.map +1 -0
- package/dist/esm/class/utility/dto/strategy/response.class.d.ts +3 -3
- package/dist/esm/{src/class → class}/utility/dto/strategy/response.class.js +0 -3
- package/dist/esm/class/utility/dto/strategy/response.class.js.map +1 -0
- package/dist/esm/constant/date.constant.js.map +1 -0
- package/dist/esm/constant/decorator/api/controller.constant.js.map +1 -0
- package/dist/esm/constant/decorator/api/function.constant.d.ts +1 -1
- package/dist/esm/constant/decorator/api/function.constant.js +9 -0
- package/dist/esm/constant/decorator/api/function.constant.js.map +1 -0
- package/dist/esm/constant/decorator/api/index.d.ts +3 -3
- package/dist/esm/constant/decorator/api/property-describe.constant.js.map +1 -0
- package/dist/esm/constant/dto/exception.constant.js.map +1 -0
- package/dist/esm/constant/dto/index.d.ts +3 -3
- package/dist/esm/constant/dto/list.constant.d.ts +1 -2
- package/dist/esm/{src/constant → constant}/dto/list.constant.js +1 -1
- package/dist/esm/constant/dto/list.constant.js.map +1 -0
- package/dist/esm/constant/dto/transformer-value.constant.js.map +1 -0
- package/dist/esm/constant/factory/dto/get-list-query.constant.d.ts +1 -0
- package/dist/esm/{src/constant → constant}/factory/dto/get-list-query.constant.js +2 -0
- package/dist/esm/constant/factory/dto/get-list-query.constant.js.map +1 -0
- package/dist/esm/constant/factory/dto/index.d.ts +1 -1
- package/dist/esm/constant/index.d.ts +8 -6
- package/dist/esm/constant/interface/api/filter.constant.js.map +1 -0
- package/dist/esm/constant/interface/api/index.d.ts +2 -2
- package/dist/esm/constant/interface/api/property/index.d.ts +2 -2
- package/dist/esm/constant/interface/api/property/string.constant.js.map +1 -0
- package/dist/esm/constant/interface/api/property/wallet.constant.js.map +1 -0
- package/dist/esm/constant/number.constant.js.map +1 -0
- package/dist/esm/constant/utility/dto/constant.d.ts +3 -2
- package/dist/esm/{src/constant → constant}/utility/dto/constant.js +6 -10
- package/dist/esm/constant/utility/dto/constant.js.map +1 -0
- package/dist/esm/constant/utility/dto/generate.constant.js.map +1 -0
- package/dist/esm/constant/utility/dto/index.d.ts +2 -0
- package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.d.ts +5 -0
- package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.js +87 -0
- package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.js.map +1 -0
- package/dist/esm/constant/validator/index.d.ts +1 -0
- package/dist/esm/decorator/api/controller.decorator.d.ts +3 -2
- package/dist/esm/decorator/api/controller.decorator.js.map +1 -0
- package/dist/esm/decorator/api/function/create.decorator.d.ts +7 -1
- package/dist/esm/{src/decorator → decorator}/api/function/create.decorator.js +12 -16
- package/dist/esm/decorator/api/function/create.decorator.js.map +1 -0
- package/dist/esm/decorator/api/function/decorator.d.ts +10 -3
- package/dist/esm/{src/decorator → decorator}/api/function/decorator.js +7 -3
- package/dist/esm/decorator/api/function/decorator.js.map +1 -0
- package/dist/esm/decorator/api/function/delete.decorator.d.ts +7 -1
- package/dist/esm/{src/decorator → decorator}/api/function/delete.decorator.js +12 -16
- package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -0
- package/dist/esm/decorator/api/function/get-list.decorator.d.ts +8 -2
- package/dist/esm/{src/decorator → decorator}/api/function/get-list.decorator.js +12 -16
- package/dist/esm/decorator/api/function/get-list.decorator.js.map +1 -0
- package/dist/esm/decorator/api/function/get-many.decorator.d.ts +7 -1
- package/dist/esm/{src/decorator → decorator}/api/function/get-many.decorator.js +13 -16
- package/dist/esm/decorator/api/function/get-many.decorator.js.map +1 -0
- package/dist/esm/decorator/api/function/get.decorator.d.ts +7 -1
- package/dist/esm/{src/decorator → decorator}/api/function/get.decorator.js +13 -16
- package/dist/esm/decorator/api/function/get.decorator.js.map +1 -0
- package/dist/esm/decorator/api/function/index.d.ts +7 -7
- package/dist/esm/decorator/api/function/update.decorator.d.ts +7 -1
- package/dist/esm/{src/decorator → decorator}/api/function/update.decorator.js +12 -16
- package/dist/esm/decorator/api/function/update.decorator.js.map +1 -0
- package/dist/esm/decorator/api/index.d.ts +5 -5
- package/dist/esm/decorator/api/method.decorator.d.ts +8 -1
- package/dist/esm/{src/decorator → decorator}/api/method.decorator.js +9 -6
- package/dist/esm/decorator/api/method.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/boolean.decorator.d.ts +52 -1
- package/dist/esm/{src/decorator → decorator}/api/property/boolean.decorator.js +99 -7
- package/dist/esm/decorator/api/property/boolean.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/copy.decorator.d.ts +16 -0
- package/dist/esm/decorator/api/property/copy.decorator.js +47 -0
- package/dist/esm/decorator/api/property/copy.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/date.decorator.d.ts +56 -1
- package/dist/esm/{src/decorator → decorator}/api/property/date.decorator.js +132 -7
- package/dist/esm/decorator/api/property/date.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/describe.decorator.d.ts +82 -1
- package/dist/esm/decorator/api/property/describe.decorator.js +94 -0
- package/dist/esm/decorator/api/property/describe.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/enum.decorator.d.ts +75 -1
- package/dist/esm/{src/decorator → decorator}/api/property/enum.decorator.js +112 -0
- package/dist/esm/decorator/api/property/enum.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/index.d.ts +9 -7
- package/dist/esm/decorator/api/property/number.decorator.d.ts +67 -1
- package/dist/esm/{src/decorator → decorator}/api/property/number.decorator.js +152 -12
- package/dist/esm/decorator/api/property/number.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/object.decorator.d.ts +27 -1
- package/dist/esm/decorator/api/property/object.decorator.js +246 -0
- package/dist/esm/decorator/api/property/object.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/string.decorator.d.ts +68 -1
- package/dist/esm/{src/decorator → decorator}/api/property/string.decorator.js +132 -15
- package/dist/esm/decorator/api/property/string.decorator.js.map +1 -0
- package/dist/esm/decorator/api/property/uuid.decorator.d.ts +42 -1
- package/dist/esm/{src/decorator → decorator}/api/property/uuid.decorator.js +92 -7
- package/dist/esm/decorator/api/property/uuid.decorator.js.map +1 -0
- package/dist/esm/decorator/api/service.decorator.d.ts +8 -2
- package/dist/esm/{src/decorator → decorator}/api/service.decorator.js +10 -6
- package/dist/esm/decorator/api/service.decorator.js.map +1 -0
- package/dist/esm/enum/decorator/api/action.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/authentication-type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/controller/index.d.ts +2 -2
- package/dist/esm/enum/decorator/api/controller/load-relations-strategy.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/controller/request-transformer-type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/dto-type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/function/index.d.ts +1 -1
- package/dist/esm/enum/decorator/api/function/type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/index.d.ts +7 -7
- package/dist/esm/enum/decorator/api/property/data-type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/property/date/identifier.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/property/date/index.d.ts +2 -2
- package/dist/esm/enum/decorator/api/property/date/type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/property/desribe-type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/property/index.d.ts +5 -5
- package/dist/esm/enum/decorator/api/property/number-type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/property/string-type.enum.js.map +1 -0
- package/dist/esm/enum/decorator/api/route-type.enum.js.map +1 -0
- package/dist/esm/enum/exception.enum.js.map +1 -0
- package/dist/esm/enum/filter-operation.enum.js.map +1 -0
- package/dist/esm/enum/filter-order-direction.enum.js.map +1 -0
- package/dist/esm/enum/index.d.ts +6 -4
- package/dist/esm/enum/utility/error-string-action.enum.js.map +1 -0
- package/dist/esm/enum/utility/index.d.ts +1 -1
- package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.d.ts +5 -0
- package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js +9 -0
- package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js.map +1 -0
- package/dist/esm/enum/validator/index.d.ts +2 -0
- package/dist/esm/enum/validator/must-match-one-of-schemas-error-type.enum.d.ts +6 -0
- package/dist/esm/enum/validator/must-match-one-of-schemas-error-type.enum.js +10 -0
- package/dist/esm/enum/validator/must-match-one-of-schemas-error-type.enum.js.map +1 -0
- package/dist/esm/factory/api/controller.factory.d.ts +4 -3
- package/dist/esm/{src/factory → factory}/api/controller.factory.js +12 -16
- package/dist/esm/factory/api/controller.factory.js.map +1 -0
- package/dist/esm/factory/api/index.d.ts +1 -1
- package/dist/esm/index.d.ts +10 -10
- package/dist/esm/{src/index.js → index.js} +31 -0
- package/dist/esm/{src/index.js.map → index.js.map} +1 -1
- package/dist/esm/{src/interceptor → interceptor}/correlation-id-response-body.interceptor.js +1 -1
- package/dist/esm/interceptor/correlation-id-response-body.interceptor.js.map +1 -0
- package/dist/esm/interceptor/index.d.ts +1 -1
- package/dist/esm/interface/api-authentication-request.interface.d.ts +1 -1
- package/dist/esm/interface/api-request-validator.interface.d.ts +3 -2
- package/dist/esm/interface/class/dto/index.d.ts +1 -1
- package/dist/esm/interface/class/dto/strategy.interface.d.ts +2 -2
- package/dist/esm/interface/class/index.d.ts +2 -2
- package/dist/esm/interface/decorator/api/controller/base.interface.d.ts +1 -1
- package/dist/esm/interface/decorator/api/controller/index.d.ts +3 -3
- package/dist/esm/interface/decorator/api/controller/properties/route/authentication.interface.d.ts +1 -1
- package/dist/esm/interface/decorator/api/controller/properties/route/auto-dto-config.interface.d.ts +1 -1
- package/dist/esm/interface/decorator/api/controller/properties/route/base-request.interface.d.ts +3 -3
- package/dist/esm/interface/decorator/api/controller/properties/route/base-response.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/controller/properties/route/base.interface.d.ts +2 -4
- package/dist/esm/interface/decorator/api/controller/properties/route/index.d.ts +7 -7
- package/dist/esm/interface/decorator/api/controller/properties/route/with-auto-dto.interface.d.ts +2 -3
- package/dist/esm/interface/decorator/api/controller/properties/route/with-dto.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/controller/properties.interface.d.ts +3 -3
- package/dist/esm/interface/decorator/api/function/create-executor-properties.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/function/delete-executor-properties.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/function/get-executor-properties.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/function/get-list-executor-properties.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/function/get-many-executor-properties.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/function/index.d.ts +7 -7
- package/dist/esm/interface/decorator/api/function/properties.interface.d.ts +1 -1
- package/dist/esm/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/index.d.ts +5 -5
- package/dist/esm/interface/decorator/api/method/index.d.ts +2 -2
- package/dist/esm/interface/decorator/api/method/properties.interface.d.ts +2 -4
- package/dist/esm/interface/dto-generate-factory.interface.d.ts +5 -4
- package/dist/esm/interface/entity/index.d.ts +2 -2
- package/dist/esm/interface/entity/interface.d.ts +2 -2
- package/dist/esm/interface/index.d.ts +10 -8
- package/dist/esm/interface/utility/api/controller/index.d.ts +1 -1
- package/dist/esm/interface/utility/error-string-properties.interface.d.ts +1 -1
- package/dist/esm/interface/utility/get-entity-columns-properties.interface.d.ts +1 -1
- package/dist/esm/interface/utility/index.d.ts +3 -2
- package/dist/esm/interface/validator/index.d.ts +1 -0
- package/dist/esm/interface/validator/must-match-one-of-schemas-discriminator-config.interface.d.ts +6 -0
- package/dist/esm/type/api-request-transformer.type.d.ts +3 -3
- package/dist/esm/type/class/controller/index.d.ts +1 -1
- package/dist/esm/type/class/controller/method.type.d.ts +2 -2
- package/dist/esm/type/class/index.d.ts +3 -3
- package/dist/esm/type/class/metadata.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/controller/constructor.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/controller/get-list-query.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/controller/index.d.ts +5 -5
- package/dist/esm/type/decorator/api/controller/properties/route/base-request-relations.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/controller/properties/route/base-request-transformers.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/controller/properties/route/base-response-transformers.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/controller/properties/route/index.d.ts +3 -3
- package/dist/esm/type/decorator/api/controller/properties-route.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/controller/transformer-config.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/filter/extracted-allowed-types.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/filter/index.d.ts +4 -4
- package/dist/esm/type/decorator/api/filter/order-by.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/function/index.d.ts +9 -9
- package/dist/esm/type/decorator/api/function/properties.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/property/base/array/index.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/base/index.d.ts +4 -4
- package/dist/esm/type/decorator/api/property/base/properties.type.d.ts +2 -4
- package/dist/esm/type/decorator/api/property/date-properties.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/array/index.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/base-properties.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/property/describe/boolean-properties.type.d.ts +3 -3
- package/dist/esm/type/decorator/api/property/describe/date-properties.type.d.ts +3 -3
- package/dist/esm/type/decorator/api/property/describe/dto/body-properties.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/dto/index.d.ts +6 -5
- package/dist/esm/type/decorator/api/property/describe/dto/properties.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/property/describe/dto/query/index.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/dto/query/properties.type.d.ts +2 -3
- package/dist/esm/type/decorator/api/property/describe/dto/request-properties.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/dto/response-properties.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/enum-properties.type.d.ts +3 -3
- package/dist/esm/type/decorator/api/property/describe/index.d.ts +14 -13
- package/dist/esm/type/decorator/api/property/describe/number-properties.type.d.ts +4 -4
- package/dist/esm/type/decorator/api/property/describe/object/dynamic-with-discriminator-properties.type.d.ts +15 -0
- package/dist/esm/type/decorator/api/property/describe/object/index.d.ts +4 -0
- package/dist/esm/type/decorator/api/property/describe/object/properties.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/property/describe/object/with-discriminator-properties.type.d.ts +14 -0
- package/dist/esm/type/decorator/api/property/describe/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -4
- package/dist/esm/type/decorator/api/property/describe/properties/base-dto-properties.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/property/describe/properties/base-properties.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/properties/index.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/properties.type.d.ts +8 -8
- package/dist/esm/type/decorator/api/property/describe/relation-properties.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/describe/string-properties.type.d.ts +4 -4
- package/dist/esm/type/decorator/api/property/describe/uuid-properties.type.d.ts +3 -3
- package/dist/esm/type/decorator/api/property/enum-properties.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/property/index.d.ts +8 -6
- package/dist/esm/type/decorator/api/property/number-properties.type.d.ts +3 -3
- package/dist/esm/type/decorator/api/property/object/dynamic-with-discriminator-properties.type.d.ts +16 -0
- package/dist/esm/type/decorator/api/property/object/index.d.ts +4 -0
- package/dist/esm/type/decorator/api/property/object/properties.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/property/object/with-discriminator-properties.type.d.ts +15 -0
- package/dist/esm/type/decorator/api/property/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -2
- package/dist/esm/type/decorator/api/property/string-properties.type.d.ts +2 -2
- package/dist/esm/type/decorator/api/property/uuid-properties.type.d.ts +1 -1
- package/dist/esm/type/decorator/api/service/index.d.ts +2 -2
- package/dist/esm/type/decorator/api/service/keys.type.d.ts +1 -1
- package/dist/esm/type/factory/api/controller/index.d.ts +4 -4
- package/dist/esm/type/factory/api/controller/method-map.type.d.ts +4 -3
- package/dist/esm/type/factory/api/controller/method-name-map.type.d.ts +2 -2
- package/dist/esm/type/factory/api/controller/method-name.type.d.ts +3 -3
- package/dist/esm/type/factory/api/controller/target-methods.type.d.ts +4 -4
- package/dist/esm/type/index.d.ts +10 -5
- package/dist/esm/type/utility/api/controller/transform-data/data.type.d.ts +1 -1
- package/dist/esm/type/utility/api/controller/transform-data/index.d.ts +3 -3
- package/dist/esm/type/utility/api/controller/transform-data/is-validation-properties.type.d.ts +2 -2
- package/dist/esm/type/utility/api/controller/transform-data/object-to-transform.type.d.ts +2 -2
- package/dist/esm/type/utility/date-range-keys.type.d.ts +1 -1
- package/dist/esm/type/utility/dto/generate-allowed-combination.type.d.ts +1 -1
- package/dist/esm/type/utility/dto/generate-is-allowed-combination.type.d.ts +2 -2
- package/dist/esm/type/utility/dto/index.d.ts +2 -2
- package/dist/esm/type/utility/filter-keys.type.d.ts +1 -1
- package/dist/esm/type/utility/index.d.ts +7 -7
- package/dist/esm/type/validator/has-paired-custom-suffixes-fields/index.d.ts +2 -0
- package/dist/esm/type/validator/has-paired-custom-suffixes-fields/operation-config.type.d.ts +7 -0
- package/dist/esm/type/validator/has-paired-custom-suffixes-fields/validation-context.type.d.ts +5 -0
- package/dist/esm/utility/api/controller/apply-decorators.utility.d.ts +18 -3
- package/dist/esm/{src/utility → utility}/api/controller/apply-decorators.utility.js +15 -4
- package/dist/esm/utility/api/controller/apply-decorators.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/apply-metadata.utility.d.ts +17 -3
- package/dist/esm/{src/utility → utility}/api/controller/apply-metadata.utility.js +22 -13
- package/dist/esm/utility/api/controller/apply-metadata.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/get-list/index.d.ts +2 -2
- package/dist/esm/utility/api/controller/get-list/transform-filter.utility.d.ts +10 -1
- package/dist/esm/{src/utility → utility}/api/controller/get-list/transform-filter.utility.js +9 -3
- package/dist/esm/utility/api/controller/get-list/transform-filter.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/get-list/transform-operation.utility.d.ts +8 -1
- package/dist/esm/{src/utility → utility}/api/controller/get-list/transform-operation.utility.js +8 -1
- package/dist/esm/utility/api/controller/get-list/transform-operation.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/get-method-name.utility.d.ts +7 -1
- package/dist/esm/{src/utility → utility}/api/controller/get-method-name.utility.js +6 -0
- package/dist/esm/utility/api/controller/get-method-name.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/get-primary-column.utility.d.ts +10 -1
- package/dist/esm/utility/api/controller/get-primary-column.utility.js +21 -0
- package/dist/esm/utility/api/controller/get-primary-column.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/handle-request-relations.utility.d.ts +17 -2
- package/dist/esm/{src/utility → utility}/api/controller/handle-request-relations.utility.js +15 -5
- package/dist/esm/utility/api/controller/handle-request-relations.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/index.d.ts +10 -9
- package/dist/esm/utility/api/controller/transform-data.utility.d.ts +15 -3
- package/dist/esm/{src/utility → utility}/api/controller/transform-data.utility.js +52 -3
- package/dist/esm/utility/api/controller/transform-data.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/validate-request.utility.d.ts +12 -2
- package/dist/esm/{src/utility → utility}/api/controller/validate-request.utility.js +9 -0
- package/dist/esm/utility/api/controller/validate-request.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/write-dto-swagger.utility.d.ts +17 -3
- package/dist/esm/{src/utility → utility}/api/controller/write-dto-swagger.utility.js +21 -12
- package/dist/esm/utility/api/controller/write-dto-swagger.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/write-method.utility.d.ts +16 -2
- package/dist/esm/utility/api/controller/write-method.utility.js +31 -0
- package/dist/esm/utility/api/controller/write-method.utility.js.map +1 -0
- package/dist/esm/utility/api/filter-order-by-from-entity.utility.d.ts +16 -3
- package/dist/esm/{src/utility → utility}/api/filter-order-by-from-entity.utility.js +14 -1
- package/dist/esm/utility/api/filter-order-by-from-entity.utility.js.map +1 -0
- package/dist/esm/utility/api/index.d.ts +2 -2
- package/dist/esm/utility/camel-case-string.utility.d.ts +5 -0
- package/dist/esm/{src/utility → utility}/camel-case-string.utility.js +5 -0
- package/dist/esm/utility/camel-case-string.utility.js.map +1 -0
- package/dist/esm/utility/capitalize-string.utility.d.ts +5 -0
- package/dist/esm/{src/utility → utility}/capitalize-string.utility.js +5 -0
- package/dist/esm/utility/capitalize-string.utility.js.map +1 -0
- package/dist/esm/utility/dto/analize.utility.d.ts +7 -1
- package/dist/esm/utility/dto/analize.utility.js +15 -0
- package/dist/esm/utility/dto/analize.utility.js.map +1 -0
- package/dist/esm/utility/dto/build-decorator.utility.d.ts +19 -4
- package/dist/esm/{src/utility → utility}/dto/build-decorator.utility.js +17 -5
- package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate-decorator.utility.d.ts +19 -4
- package/dist/esm/utility/dto/generate-decorator.utility.js +27 -0
- package/dist/esm/utility/dto/generate-decorator.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate-dynamic.utility.d.ts +21 -0
- package/dist/esm/utility/dto/generate-dynamic.utility.js +92 -0
- package/dist/esm/utility/dto/generate-dynamic.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate-exception.utility.d.ts +7 -0
- package/dist/esm/{src/utility → utility}/dto/generate-exception.utility.js +9 -6
- package/dist/esm/utility/dto/generate-exception.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate-filter-decorator.utility.d.ts +11 -2
- package/dist/esm/{src/utility → utility}/dto/generate-filter-decorator.utility.js +9 -3
- package/dist/esm/utility/dto/generate-filter-decorator.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate-get-list-response.utility.d.ts +9 -0
- package/dist/esm/{src/utility → utility}/dto/generate-get-list-response.utility.js +12 -6
- package/dist/esm/utility/dto/generate-get-list-response.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate-relation-response.utility.d.ts +12 -2
- package/dist/esm/{src/utility → utility}/dto/generate-relation-response.utility.js +11 -1
- package/dist/esm/utility/dto/generate-relation-response.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate.utility.d.ts +17 -2
- package/dist/esm/{src/utility → utility}/dto/generate.utility.js +39 -11
- package/dist/esm/utility/dto/generate.utility.js.map +1 -0
- package/dist/esm/utility/dto/get-decorator-config.utility.d.ts +15 -2
- package/dist/esm/{src/utility → utility}/dto/get-decorator-config.utility.js +13 -0
- package/dist/esm/utility/dto/get-decorator-config.utility.js.map +1 -0
- package/dist/esm/utility/dto/get-get-list-query-base-class.utility.d.ts +13 -2
- package/dist/esm/{src/utility → utility}/dto/get-get-list-query-base-class.utility.js +17 -12
- package/dist/esm/utility/dto/get-get-list-query-base-class.utility.js.map +1 -0
- package/dist/esm/utility/dto/handle-date-property.utility.d.ts +9 -1
- package/dist/esm/{src/utility → utility}/dto/handle-date-property.utility.js +8 -3
- package/dist/esm/utility/dto/handle-date-property.utility.js.map +1 -0
- package/dist/esm/utility/dto/index.d.ts +16 -12
- package/dist/esm/utility/dto/is-property-exposed-for-guard.utility.d.ts +10 -2
- package/dist/esm/{src/utility → utility}/dto/is-property-exposed-for-guard.utility.js +8 -0
- package/dist/esm/utility/dto/is-property-exposed-for-guard.utility.js.map +1 -0
- package/dist/esm/utility/dto/is-property-should-be-marked.utility.d.ts +12 -2
- package/dist/esm/{src/utility → utility}/dto/is-property-should-be-marked.utility.js +10 -3
- package/dist/esm/utility/dto/is-property-should-be-marked.utility.js.map +1 -0
- package/dist/esm/utility/dto/is-should-be-generated.utility.d.ts +11 -1
- package/dist/esm/{src/utility → utility}/dto/is-should-be-generated.utility.js +10 -3
- package/dist/esm/utility/dto/is-should-be-generated.utility.js.map +1 -0
- package/dist/esm/utility/dto/validate-property-config.utility.d.ts +1 -1
- package/dist/esm/utility/dto/validate-property-config.utility.js.map +1 -0
- package/dist/esm/utility/error-exception.utility.d.ts +5 -0
- package/dist/esm/{src/utility → utility}/error-exception.utility.js +5 -0
- package/dist/esm/utility/error-exception.utility.js.map +1 -0
- package/dist/esm/utility/error-string.utility.d.ts +8 -1
- package/dist/esm/utility/error-string.utility.js +12 -0
- package/dist/esm/utility/error-string.utility.js.map +1 -0
- package/dist/esm/utility/generate-entity-information.utility.d.ts +8 -1
- package/dist/esm/{src/utility → utility}/generate-entity-information.utility.js +7 -17
- package/dist/esm/utility/generate-entity-information.utility.js.map +1 -0
- package/dist/esm/utility/get-entity-columns.utility.d.ts +7 -1
- package/dist/esm/{src/utility → utility}/get-entity-columns.utility.js +6 -0
- package/dist/esm/utility/get-entity-columns.utility.js.map +1 -0
- package/dist/esm/utility/index.d.ts +10 -10
- package/dist/esm/utility/is-error-of-type.utility.d.ts +7 -1
- package/dist/esm/{src/utility → utility}/is-error-of-type.utility.js +7 -16
- package/dist/esm/utility/is-error-of-type.utility.js.map +1 -0
- package/dist/esm/utility/logger.utility.d.ts +4 -0
- package/dist/esm/{src/utility → utility}/logger.utility.js +5 -1
- package/dist/esm/utility/logger.utility.js.map +1 -0
- package/dist/esm/validator/all-or-none-of-listed-properties.validator.d.ts +1 -1
- package/dist/esm/{src/validator → validator}/all-or-none-of-listed-properties.validator.js +5 -5
- package/dist/esm/validator/all-or-none-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/validator/has-at-least-one-and-only-one-of-listed-properties.validator.d.ts +1 -1
- package/dist/esm/{src/validator → validator}/has-at-least-one-and-only-one-of-listed-properties.validator.js +5 -5
- package/dist/esm/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/validator/has-at-least-one-of-listed-properties.validator.d.ts +1 -1
- package/dist/esm/{src/validator → validator}/has-at-least-one-of-listed-properties.validator.js +5 -5
- package/dist/esm/validator/has-at-least-one-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/validator/has-at-least-one-property.validator.d.ts +1 -1
- package/dist/esm/{src/validator → validator}/has-at-least-one-property.validator.js +5 -5
- package/dist/esm/validator/has-at-least-one-property.validator.js.map +1 -0
- package/dist/esm/validator/has-paired-custom-suffixes-fields.validator.d.ts +12 -1
- package/dist/esm/{src/validator → validator}/has-paired-custom-suffixes-fields.validator.js +27 -97
- package/dist/esm/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -0
- package/dist/esm/validator/index.d.ts +8 -6
- package/dist/esm/validator/is-regular-expression.validator.d.ts +6 -1
- package/dist/esm/validator/is-regular-expression.validator.js +30 -0
- package/dist/esm/validator/is-regular-expression.validator.js.map +1 -0
- package/dist/esm/validator/must-match-one-of-schemas.validator.d.ts +36 -0
- package/dist/esm/validator/must-match-one-of-schemas.validator.js +188 -0
- package/dist/esm/validator/must-match-one-of-schemas.validator.js.map +1 -0
- package/dist/esm/validator/only-one-of-listed-properties.validator.d.ts +1 -1
- package/dist/esm/{src/validator → validator}/only-one-of-listed-properties.validator.js +5 -5
- package/dist/esm/validator/only-one-of-listed-properties.validator.js.map +1 -0
- package/package.json +4 -2
- package/dist/cjs/class/utility/dto/index.d.ts +0 -2
- package/dist/cjs/class/utility/dto/property/index.d.ts +0 -1
- package/dist/cjs/class/utility/index.d.ts +0 -1
- package/dist/cjs/constant/decorator/index.d.ts +0 -1
- package/dist/cjs/constant/factory/index.d.ts +0 -1
- package/dist/cjs/constant/interface/index.d.ts +0 -1
- package/dist/cjs/decorator/index.d.ts +0 -1
- package/dist/cjs/enum/decorator/index.d.ts +0 -1
- package/dist/cjs/factory/index.d.ts +0 -1
- package/dist/cjs/interface/decorator/api/controller/properties/index.d.ts +0 -1
- package/dist/cjs/interface/decorator/index.d.ts +0 -1
- package/dist/cjs/interface/utility/api/index.d.ts +0 -1
- package/dist/cjs/type/decorator/api/controller/properties/index.d.ts +0 -1
- package/dist/cjs/type/decorator/api/index.d.ts +0 -5
- package/dist/cjs/type/decorator/index.d.ts +0 -1
- package/dist/cjs/type/factory/api/index.d.ts +0 -1
- package/dist/cjs/type/factory/index.d.ts +0 -1
- package/dist/cjs/type/utility/api/controller/index.d.ts +0 -1
- package/dist/cjs/type/utility/api/index.d.ts +0 -1
- package/dist/esm/class/utility/dto/index.d.ts +0 -2
- package/dist/esm/class/utility/dto/property/index.d.ts +0 -1
- package/dist/esm/class/utility/index.d.ts +0 -1
- package/dist/esm/constant/decorator/index.d.ts +0 -1
- package/dist/esm/constant/factory/index.d.ts +0 -1
- package/dist/esm/constant/interface/index.d.ts +0 -1
- package/dist/esm/decorator/index.d.ts +0 -1
- package/dist/esm/enum/decorator/index.d.ts +0 -1
- package/dist/esm/factory/index.d.ts +0 -1
- package/dist/esm/interface/decorator/api/controller/properties/index.d.ts +0 -1
- package/dist/esm/interface/decorator/index.d.ts +0 -1
- package/dist/esm/interface/utility/api/index.d.ts +0 -1
- package/dist/esm/src/class/api/service-base.class.js.map +0 -1
- package/dist/esm/src/class/metadata-storage.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/boolean.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/date.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/enum.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/number.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/object.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/relation.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/string.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/property/factory/uuid.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/strategy/body.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/strategy/query.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/strategy/request.class.js.map +0 -1
- package/dist/esm/src/class/utility/dto/strategy/response.class.js.map +0 -1
- package/dist/esm/src/constant/date.constant.js.map +0 -1
- package/dist/esm/src/constant/decorator/api/controller.constant.js.map +0 -1
- package/dist/esm/src/constant/decorator/api/function.constant.js +0 -24
- package/dist/esm/src/constant/decorator/api/function.constant.js.map +0 -1
- package/dist/esm/src/constant/decorator/api/property-describe.constant.js.map +0 -1
- package/dist/esm/src/constant/dto/exception.constant.js.map +0 -1
- package/dist/esm/src/constant/dto/list.constant.js.map +0 -1
- package/dist/esm/src/constant/dto/transformer-value.constant.js.map +0 -1
- package/dist/esm/src/constant/factory/dto/get-list-query.constant.js.map +0 -1
- package/dist/esm/src/constant/interface/api/filter.constant.js.map +0 -1
- package/dist/esm/src/constant/interface/api/property/string.constant.js.map +0 -1
- package/dist/esm/src/constant/interface/api/property/wallet.constant.js.map +0 -1
- package/dist/esm/src/constant/number.constant.js.map +0 -1
- package/dist/esm/src/constant/utility/dto/constant.js.map +0 -1
- package/dist/esm/src/constant/utility/dto/generate.constant.js.map +0 -1
- package/dist/esm/src/decorator/api/controller.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/function/create.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/function/decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/function/delete.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/function/get-list.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/function/get-many.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/function/get.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/function/update.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/method.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/boolean.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/date.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/describe.decorator.js +0 -29
- package/dist/esm/src/decorator/api/property/describe.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/enum.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/number.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/object.decorator.js +0 -104
- package/dist/esm/src/decorator/api/property/object.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/string.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/property/uuid.decorator.js.map +0 -1
- package/dist/esm/src/decorator/api/service.decorator.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/action.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/authentication-type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/controller/load-relations-strategy.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/controller/request-transformer-type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/dto-type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/function/type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/property/data-type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/property/date/identifier.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/property/date/type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/property/desribe-type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/property/number-type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/property/string-type.enum.js.map +0 -1
- package/dist/esm/src/enum/decorator/api/route-type.enum.js.map +0 -1
- package/dist/esm/src/enum/exception.enum.js.map +0 -1
- package/dist/esm/src/enum/filter-operation.enum.js.map +0 -1
- package/dist/esm/src/enum/filter-order-direction.enum.js.map +0 -1
- package/dist/esm/src/enum/utility/error-string-action.enum.js.map +0 -1
- package/dist/esm/src/factory/api/controller.factory.js.map +0 -1
- package/dist/esm/src/interceptor/correlation-id-response-body.interceptor.js.map +0 -1
- package/dist/esm/src/utility/api/controller/apply-decorators.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/apply-metadata.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/get-list/transform-filter.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/get-list/transform-operation.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/get-method-name.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/get-primary-column.utility.js +0 -13
- package/dist/esm/src/utility/api/controller/get-primary-column.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/handle-request-relations.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/transform-data.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/validate-request.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/write-dto-swagger.utility.js.map +0 -1
- package/dist/esm/src/utility/api/controller/write-method.utility.js +0 -18
- package/dist/esm/src/utility/api/controller/write-method.utility.js.map +0 -1
- package/dist/esm/src/utility/api/filter-order-by-from-entity.utility.js.map +0 -1
- package/dist/esm/src/utility/camel-case-string.utility.js.map +0 -1
- package/dist/esm/src/utility/capitalize-string.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/analize.utility.js +0 -25
- package/dist/esm/src/utility/dto/analize.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/build-decorator.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/generate-decorator.utility.js +0 -13
- package/dist/esm/src/utility/dto/generate-decorator.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/generate-exception.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/generate-filter-decorator.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/generate-get-list-response.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/generate-relation-response.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/generate.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/get-decorator-config.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/get-get-list-query-base-class.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/handle-date-property.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/is-property-exposed-for-guard.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/is-property-should-be-marked.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/is-should-be-generated.utility.js.map +0 -1
- package/dist/esm/src/utility/dto/validate-property-config.utility.js.map +0 -1
- package/dist/esm/src/utility/error-exception.utility.js.map +0 -1
- package/dist/esm/src/utility/error-string.utility.js +0 -6
- package/dist/esm/src/utility/error-string.utility.js.map +0 -1
- package/dist/esm/src/utility/generate-entity-information.utility.js.map +0 -1
- package/dist/esm/src/utility/get-entity-columns.utility.js.map +0 -1
- package/dist/esm/src/utility/is-error-of-type.utility.js.map +0 -1
- package/dist/esm/src/utility/logger.utility.js.map +0 -1
- package/dist/esm/src/validator/all-or-none-of-listed-properties.validator.js.map +0 -1
- package/dist/esm/src/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +0 -1
- package/dist/esm/src/validator/has-at-least-one-of-listed-properties.validator.js.map +0 -1
- package/dist/esm/src/validator/has-at-least-one-property.validator.js.map +0 -1
- package/dist/esm/src/validator/has-paired-custom-suffixes-fields.validator.js.map +0 -1
- package/dist/esm/src/validator/is-regular-expression.validator.js +0 -25
- package/dist/esm/src/validator/is-regular-expression.validator.js.map +0 -1
- package/dist/esm/src/validator/only-one-of-listed-properties.validator.js.map +0 -1
- package/dist/esm/type/decorator/api/controller/properties/index.d.ts +0 -1
- package/dist/esm/type/decorator/api/index.d.ts +0 -5
- package/dist/esm/type/decorator/index.d.ts +0 -1
- package/dist/esm/type/factory/api/index.d.ts +0 -1
- package/dist/esm/type/factory/index.d.ts +0 -1
- package/dist/esm/type/utility/api/controller/index.d.ts +0 -1
- package/dist/esm/type/utility/api/index.d.ts +0 -1
- /package/dist/esm/{src/class → class}/api/service-base.class.js +0 -0
- /package/dist/esm/{src/class → class}/utility/dto/property/factory/boolean.class.js +0 -0
- /package/dist/esm/{src/class → class}/utility/dto/property/factory/date.class.js +0 -0
- /package/dist/esm/{src/class → class}/utility/dto/property/factory/enum.class.js +0 -0
- /package/dist/esm/{src/class → class}/utility/dto/property/factory/string.class.js +0 -0
- /package/dist/esm/{src/class → class}/utility/dto/property/factory/uuid.class.js +0 -0
- /package/dist/esm/{src/constant → constant}/date.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/decorator/api/controller.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/decorator/api/property-describe.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/dto/exception.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/dto/transformer-value.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/interface/api/filter.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/interface/api/property/string.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/interface/api/property/wallet.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/number.constant.js +0 -0
- /package/dist/esm/{src/constant → constant}/utility/dto/generate.constant.js +0 -0
- /package/dist/esm/{src/decorator → decorator}/api/controller.decorator.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/action.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/authentication-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/controller/load-relations-strategy.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/controller/request-transformer-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/dto-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/function/type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/property/data-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/property/date/identifier.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/property/date/type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/property/desribe-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/property/number-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/property/string-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/decorator/api/route-type.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/exception.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/filter-operation.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/filter-order-direction.enum.js +0 -0
- /package/dist/esm/{src/enum → enum}/utility/error-string-action.enum.js +0 -0
- /package/dist/esm/{src/utility → utility}/dto/validate-property-config.utility.js +0 -0
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var common = require('@nestjs/common');
|
|
4
|
-
var swagger = require('@nestjs/swagger');
|
|
5
|
-
var classTransformer = require('class-transformer');
|
|
6
|
-
var classValidator = require('class-validator');
|
|
7
3
|
require('../../../enum/decorator/api/action.enum.js');
|
|
8
4
|
require('../../../enum/decorator/api/authentication-type.enum.js');
|
|
9
5
|
require('../../../enum/decorator/api/controller/load-relations-strategy.enum.js');
|
|
@@ -17,16 +13,78 @@ require('../../../enum/decorator/api/property/desribe-type.enum.js');
|
|
|
17
13
|
require('../../../enum/decorator/api/property/number-type.enum.js');
|
|
18
14
|
require('../../../enum/decorator/api/property/string-type.enum.js');
|
|
19
15
|
require('../../../enum/decorator/api/route-type.enum.js');
|
|
20
|
-
require('
|
|
21
|
-
require('
|
|
22
|
-
require('
|
|
16
|
+
var common = require('@nestjs/common');
|
|
17
|
+
var swagger = require('@nestjs/swagger');
|
|
18
|
+
var classTransformer = require('class-transformer');
|
|
19
|
+
var classValidator = require('class-validator');
|
|
23
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Creates a decorator that applies NestJS Swagger and class-validator/class-transformer decorators
|
|
23
|
+
* for date properties in DTOs.
|
|
24
|
+
*
|
|
25
|
+
* This decorator handles date properties with support for:
|
|
26
|
+
* - Various date formats (date, datetime, time)
|
|
27
|
+
* - Predefined date types (createdAt, updatedAt, expiresIn, etc.)
|
|
28
|
+
* - Single dates or arrays of dates
|
|
29
|
+
* - Response/Request specific decorators
|
|
30
|
+
* - Automatic transformation from string to Date objects
|
|
31
|
+
* - Validation with appropriate patterns for each format
|
|
32
|
+
*
|
|
33
|
+
* The decorator provides appropriate examples and validation patterns based on the format,
|
|
34
|
+
* and handles string-to-Date transformation for request DTOs.
|
|
35
|
+
* @param {TApiPropertyDateProperties} properties - Configuration options for the date property
|
|
36
|
+
* @returns {Function} A decorator function that can be applied to a class property
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* // Simple date property (YYYY-MM-DD)
|
|
40
|
+
* class EventDto {
|
|
41
|
+
* @ApiPropertyDate({
|
|
42
|
+
* entity: { name: 'Event' },
|
|
43
|
+
* identifier: EApiPropertyDateIdentifier.DATE,
|
|
44
|
+
* format: EApiPropertyDateType.DATE,
|
|
45
|
+
* isRequired: true
|
|
46
|
+
* })
|
|
47
|
+
* date: Date;
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* // DateTime property for createdAt (ISO format)
|
|
51
|
+
* class UserDto {
|
|
52
|
+
* @ApiPropertyDate({
|
|
53
|
+
* entity: { name: 'User' },
|
|
54
|
+
* identifier: EApiPropertyDateIdentifier.CREATED_AT,
|
|
55
|
+
* format: EApiPropertyDateType.DATE_TIME,
|
|
56
|
+
* isResponse: true
|
|
57
|
+
* })
|
|
58
|
+
* createdAt: Date;
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* // Array of time values
|
|
62
|
+
* class ScheduleDto {
|
|
63
|
+
* @ApiPropertyDate({
|
|
64
|
+
* entity: { name: 'Schedule' },
|
|
65
|
+
* identifier: EApiPropertyDateIdentifier.DATE,
|
|
66
|
+
* format: EApiPropertyDateType.TIME,
|
|
67
|
+
* isArray: true,
|
|
68
|
+
* minItems: 1,
|
|
69
|
+
* maxItems: 10,
|
|
70
|
+
* isUniqueItems: true
|
|
71
|
+
* })
|
|
72
|
+
* availableTimes: Date[];
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
24
76
|
function ApiPropertyDate(properties) {
|
|
25
77
|
validateOptions(properties);
|
|
26
78
|
const apiPropertyOptions = buildApiPropertyOptions(properties);
|
|
27
79
|
const decorators = buildDecorators(properties, apiPropertyOptions);
|
|
28
80
|
return common.applyDecorators(...decorators);
|
|
29
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Builds the API property options object from the provided date property configuration
|
|
84
|
+
* @param {TApiPropertyDateProperties} properties - The date property configuration
|
|
85
|
+
* @returns {ApiPropertyOptions} The Swagger API property options object
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
30
88
|
function buildApiPropertyOptions(properties) {
|
|
31
89
|
const example = getExample(properties.format);
|
|
32
90
|
const apiPropertyOptions = {
|
|
@@ -56,11 +114,25 @@ function buildApiPropertyOptions(properties) {
|
|
|
56
114
|
apiPropertyOptions.format = properties.format;
|
|
57
115
|
return apiPropertyOptions;
|
|
58
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Builds all the necessary decorators for the date property based on the configuration
|
|
119
|
+
* @param {TApiPropertyDateProperties} properties - The date property configuration
|
|
120
|
+
* @param {ApiPropertyOptions} apiPropertyOptions - The Swagger API property options
|
|
121
|
+
* @returns {Array<PropertyDecorator>} An array of decorators to apply to the property
|
|
122
|
+
* @private
|
|
123
|
+
*/
|
|
59
124
|
function buildDecorators(properties, apiPropertyOptions) {
|
|
60
125
|
const decorators = [swagger.ApiProperty(apiPropertyOptions)];
|
|
61
126
|
decorators.push(...buildResponseDecorators(properties), ...buildRequestDecorators(properties), ...buildFormatDecorators(properties), ...buildTransformDecorators(properties));
|
|
62
127
|
return decorators;
|
|
63
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Builds decorators for date format validation.
|
|
131
|
+
* Applies IsDate validator with appropriate configuration for single values or arrays.
|
|
132
|
+
* @param {TApiPropertyDateProperties} properties - The property configuration
|
|
133
|
+
* @returns {Array<PropertyDecorator>} An array of date format validation decorators
|
|
134
|
+
* @private
|
|
135
|
+
*/
|
|
64
136
|
function buildFormatDecorators(properties) {
|
|
65
137
|
const decorators = [];
|
|
66
138
|
const isArray = properties.isArray ?? false;
|
|
@@ -70,6 +142,13 @@ function buildFormatDecorators(properties) {
|
|
|
70
142
|
}
|
|
71
143
|
return decorators;
|
|
72
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Builds decorators for request validation including optional status,
|
|
147
|
+
* array validation, and size constraints for date properties.
|
|
148
|
+
* @param {TApiPropertyDateProperties} properties - The property configuration
|
|
149
|
+
* @returns {Array<PropertyDecorator>} An array of request validation decorators
|
|
150
|
+
* @private
|
|
151
|
+
*/
|
|
73
152
|
function buildRequestDecorators(properties) {
|
|
74
153
|
const decorators = [];
|
|
75
154
|
if (properties.isResponse === false || properties.isResponse === undefined) {
|
|
@@ -85,6 +164,13 @@ function buildRequestDecorators(properties) {
|
|
|
85
164
|
}
|
|
86
165
|
return decorators;
|
|
87
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Builds decorators for response serialization including API response property,
|
|
169
|
+
* expose, and exclude decorators for date properties.
|
|
170
|
+
* @param {TApiPropertyDateProperties} properties - The property configuration
|
|
171
|
+
* @returns {Array<PropertyDecorator>} An array of response serialization decorators
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
88
174
|
function buildResponseDecorators(properties) {
|
|
89
175
|
const decorators = [];
|
|
90
176
|
if (properties.isResponse) {
|
|
@@ -98,6 +184,14 @@ function buildResponseDecorators(properties) {
|
|
|
98
184
|
}
|
|
99
185
|
return decorators;
|
|
100
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Builds decorators for type transformation from string to Date objects.
|
|
189
|
+
* Handles both single values and arrays with appropriate transformers,
|
|
190
|
+
* including special handling for null/undefined values.
|
|
191
|
+
* @param {TApiPropertyDateProperties} properties - The property configuration
|
|
192
|
+
* @returns {Array<PropertyDecorator>} An array of type transformation decorators
|
|
193
|
+
* @private
|
|
194
|
+
*/
|
|
101
195
|
function buildTransformDecorators(properties) {
|
|
102
196
|
const decorators = [];
|
|
103
197
|
if (!properties.isResponse) {
|
|
@@ -116,6 +210,13 @@ function buildTransformDecorators(properties) {
|
|
|
116
210
|
}
|
|
117
211
|
return decorators;
|
|
118
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Gets the appropriate description text based on the date property identifier.
|
|
215
|
+
* Maps identifiers like CREATED_AT, UPDATED_AT, EXPIRES_IN to human-readable descriptions.
|
|
216
|
+
* @param {EApiPropertyDateIdentifier} identifier - The date property identifier
|
|
217
|
+
* @returns {string} The human-readable description for the date property
|
|
218
|
+
* @private
|
|
219
|
+
*/
|
|
119
220
|
function getDescription(identifier) {
|
|
120
221
|
switch (identifier) {
|
|
121
222
|
case identifier_enum.EApiPropertyDateIdentifier.CREATED_AT: {
|
|
@@ -156,6 +257,14 @@ function getDescription(identifier) {
|
|
|
156
257
|
}
|
|
157
258
|
}
|
|
158
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Generates an example date string based on the specified format.
|
|
262
|
+
* Creates examples for DATE (YYYY-MM-DD), DATE_TIME (ISO), and TIME (HH:MM:SS) formats
|
|
263
|
+
* using the start of the current year as a reference.
|
|
264
|
+
* @param {EApiPropertyDateType} format - The date format type
|
|
265
|
+
* @returns {string} An example date string in the specified format
|
|
266
|
+
* @private
|
|
267
|
+
*/
|
|
159
268
|
function getExample(format) {
|
|
160
269
|
const startOfYearUTCDate = new Date(Date.UTC(new Date().getUTCFullYear(), 0, 1, 0, 0, 0, 0));
|
|
161
270
|
switch (format) {
|
|
@@ -170,6 +279,13 @@ function getExample(format) {
|
|
|
170
279
|
}
|
|
171
280
|
}
|
|
172
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* Gets the appropriate regex pattern for validating a date string in the specified format.
|
|
284
|
+
* Provides patterns for DATE (YYYY-MM-DD), DATE_TIME (ISO format), and TIME (HH:MM:SS) formats.
|
|
285
|
+
* @param {EApiPropertyDateType} format - The date format type
|
|
286
|
+
* @returns {string} A regex pattern string for validating the date format
|
|
287
|
+
* @private
|
|
288
|
+
*/
|
|
173
289
|
function getPattern(format) {
|
|
174
290
|
switch (format) {
|
|
175
291
|
case type_enum.EApiPropertyDateType.DATE: {
|
|
@@ -183,6 +299,15 @@ function getPattern(format) {
|
|
|
183
299
|
}
|
|
184
300
|
}
|
|
185
301
|
}
|
|
302
|
+
/**
|
|
303
|
+
* Validates the configuration options for the API property date.
|
|
304
|
+
* Checks for logical consistency in array options including min/max items,
|
|
305
|
+
* unique items constraints, and other validation rules.
|
|
306
|
+
* @param {TApiPropertyDateProperties} properties - The property configuration to validate
|
|
307
|
+
* @returns {void}
|
|
308
|
+
* @throws {Error} If the configuration is invalid with detailed error messages
|
|
309
|
+
* @private
|
|
310
|
+
*/
|
|
186
311
|
function validateOptions(properties) {
|
|
187
312
|
const errors = [];
|
|
188
313
|
if (properties.isArray === true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.decorator.js","sources":["../../../../../../src/decorator/api/property/date.decorator.ts"],"sourcesContent":[null],"names":["applyDecorators","EApiPropertyDataType","ApiProperty","IsDate","IsOptional","IsArray","ArrayMinSize","ArrayMaxSize","ArrayNotEmpty","ApiResponseProperty","Expose","Exclude","Transform","EApiPropertyDateIdentifier","EApiPropertyDateType"],"mappings":"
|
|
1
|
+
{"version":3,"file":"date.decorator.js","sources":["../../../../../../src/decorator/api/property/date.decorator.ts"],"sourcesContent":[null],"names":["applyDecorators","EApiPropertyDataType","ApiProperty","IsDate","IsOptional","IsArray","ArrayMinSize","ArrayMaxSize","ArrayNotEmpty","ApiResponseProperty","Expose","Exclude","Transform","EApiPropertyDateIdentifier","EApiPropertyDateType"],"mappings":"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"}
|
|
@@ -1,2 +1,83 @@
|
|
|
1
|
-
import type { TApiPropertyDescribeProperties } from
|
|
1
|
+
import type { TApiPropertyDescribeProperties } from '../../../type/decorator/api/property/index';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a decorator for entity properties that provides metadata used for automatic
|
|
4
|
+
* DTO generation, validation rules, and Swagger documentation.
|
|
5
|
+
*
|
|
6
|
+
* This decorator serves as the foundation for the automated CRUD system by storing
|
|
7
|
+
* property metadata that is later used to:
|
|
8
|
+
* - Generate appropriate DTOs for requests and responses
|
|
9
|
+
* - Apply validation rules based on the property type
|
|
10
|
+
* - Generate Swagger/OpenAPI documentation
|
|
11
|
+
* - Enable intelligent filtering and sorting for list operations
|
|
12
|
+
*
|
|
13
|
+
* The decorator accepts various property types including string, number, boolean, date,
|
|
14
|
+
* enum, UUID, object, and relation properties, each with their specific configuration options.
|
|
15
|
+
* @param {TApiPropertyDescribeProperties} properties - Configuration options for the property,
|
|
16
|
+
* which varies based on the property type (string, number, boolean, date, enum, UUID, object, relation)
|
|
17
|
+
* @returns {PropertyDecorator} A decorator function that can be applied to entity properties
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // UUID property (primary key)
|
|
21
|
+
* @PrimaryGeneratedColumn('uuid')
|
|
22
|
+
* @ApiPropertyDescribe({
|
|
23
|
+
* type: EApiPropertyDescribeType.UUID,
|
|
24
|
+
* description: 'Unique identifier'
|
|
25
|
+
* })
|
|
26
|
+
* id: string;
|
|
27
|
+
*
|
|
28
|
+
* // String property with validation rules
|
|
29
|
+
* @Column()
|
|
30
|
+
* @ApiPropertyDescribe({
|
|
31
|
+
* type: EApiPropertyDescribeType.STRING,
|
|
32
|
+
* description: 'User name',
|
|
33
|
+
* format: EApiPropertyStringType.STRING,
|
|
34
|
+
* minLength: 3,
|
|
35
|
+
* maxLength: 50,
|
|
36
|
+
* pattern: '/^[a-zA-Z0-9_-]+$/',
|
|
37
|
+
* exampleValue: 'john_doe'
|
|
38
|
+
* })
|
|
39
|
+
* username: string;
|
|
40
|
+
*
|
|
41
|
+
* // Number property
|
|
42
|
+
* @Column()
|
|
43
|
+
* @ApiPropertyDescribe({
|
|
44
|
+
* type: EApiPropertyDescribeType.NUMBER,
|
|
45
|
+
* description: 'User age',
|
|
46
|
+
* format: EApiPropertyNumberType.INTEGER,
|
|
47
|
+
* minimum: 18,
|
|
48
|
+
* maximum: 120,
|
|
49
|
+
* exampleValue: 25
|
|
50
|
+
* })
|
|
51
|
+
* age: number;
|
|
52
|
+
*
|
|
53
|
+
* // Enum property
|
|
54
|
+
* @Column({
|
|
55
|
+
* type: 'enum',
|
|
56
|
+
* enum: UserRole,
|
|
57
|
+
* default: UserRole.USER
|
|
58
|
+
* })
|
|
59
|
+
* @ApiPropertyDescribe({
|
|
60
|
+
* type: EApiPropertyDescribeType.ENUM,
|
|
61
|
+
* description: 'User role',
|
|
62
|
+
* enum: UserRole,
|
|
63
|
+
* enumName: 'UserRole',
|
|
64
|
+
* defaultValue: UserRole.USER
|
|
65
|
+
* })
|
|
66
|
+
* role: UserRole;
|
|
67
|
+
*
|
|
68
|
+
* // Relation property
|
|
69
|
+
* @OneToMany(() => Post, post => post.author)
|
|
70
|
+
* @ApiPropertyDescribe({
|
|
71
|
+
* type: EApiPropertyDescribeType.RELATION,
|
|
72
|
+
* description: 'User posts',
|
|
73
|
+
* isArray: true,
|
|
74
|
+
* relationMetadata: {
|
|
75
|
+
* relationType: 'one-to-many',
|
|
76
|
+
* entity: Post,
|
|
77
|
+
* isEager: false
|
|
78
|
+
* }
|
|
79
|
+
* })
|
|
80
|
+
* posts: Post[];
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
2
83
|
export declare function ApiPropertyDescribe(properties: TApiPropertyDescribeProperties): (target: Record<any, any>, propertyKey: string) => void;
|
|
@@ -1,25 +1,90 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var metadataStorage_class = require('../../../class/metadata-storage.class.js');
|
|
4
|
-
require('../../../enum/decorator/api/action.enum.js');
|
|
5
|
-
require('../../../enum/decorator/api/authentication-type.enum.js');
|
|
6
|
-
require('../../../enum/decorator/api/controller/load-relations-strategy.enum.js');
|
|
7
|
-
require('../../../enum/decorator/api/controller/request-transformer-type.enum.js');
|
|
8
|
-
require('../../../enum/decorator/api/dto-type.enum.js');
|
|
9
|
-
require('../../../enum/decorator/api/function/type.enum.js');
|
|
10
|
-
require('../../../enum/decorator/api/property/data-type.enum.js');
|
|
11
|
-
require('../../../enum/decorator/api/property/date/identifier.enum.js');
|
|
12
|
-
require('../../../enum/decorator/api/property/date/type.enum.js');
|
|
13
|
-
require('../../../enum/decorator/api/property/desribe-type.enum.js');
|
|
14
|
-
require('../../../enum/decorator/api/property/number-type.enum.js');
|
|
15
|
-
require('../../../enum/decorator/api/property/string-type.enum.js');
|
|
16
|
-
require('../../../enum/decorator/api/route-type.enum.js');
|
|
17
|
-
require('../../../enum/exception.enum.js');
|
|
18
|
-
require('../../../enum/filter-order-direction.enum.js');
|
|
19
|
-
require('../../../enum/utility/error-string-action.enum.js');
|
|
20
4
|
require('../../../constant/decorator/api/function.constant.js');
|
|
21
5
|
var propertyDescribe_constant = require('../../../constant/decorator/api/property-describe.constant.js');
|
|
22
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Creates a decorator for entity properties that provides metadata used for automatic
|
|
9
|
+
* DTO generation, validation rules, and Swagger documentation.
|
|
10
|
+
*
|
|
11
|
+
* This decorator serves as the foundation for the automated CRUD system by storing
|
|
12
|
+
* property metadata that is later used to:
|
|
13
|
+
* - Generate appropriate DTOs for requests and responses
|
|
14
|
+
* - Apply validation rules based on the property type
|
|
15
|
+
* - Generate Swagger/OpenAPI documentation
|
|
16
|
+
* - Enable intelligent filtering and sorting for list operations
|
|
17
|
+
*
|
|
18
|
+
* The decorator accepts various property types including string, number, boolean, date,
|
|
19
|
+
* enum, UUID, object, and relation properties, each with their specific configuration options.
|
|
20
|
+
* @param {TApiPropertyDescribeProperties} properties - Configuration options for the property,
|
|
21
|
+
* which varies based on the property type (string, number, boolean, date, enum, UUID, object, relation)
|
|
22
|
+
* @returns {PropertyDecorator} A decorator function that can be applied to entity properties
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // UUID property (primary key)
|
|
26
|
+
* @PrimaryGeneratedColumn('uuid')
|
|
27
|
+
* @ApiPropertyDescribe({
|
|
28
|
+
* type: EApiPropertyDescribeType.UUID,
|
|
29
|
+
* description: 'Unique identifier'
|
|
30
|
+
* })
|
|
31
|
+
* id: string;
|
|
32
|
+
*
|
|
33
|
+
* // String property with validation rules
|
|
34
|
+
* @Column()
|
|
35
|
+
* @ApiPropertyDescribe({
|
|
36
|
+
* type: EApiPropertyDescribeType.STRING,
|
|
37
|
+
* description: 'User name',
|
|
38
|
+
* format: EApiPropertyStringType.STRING,
|
|
39
|
+
* minLength: 3,
|
|
40
|
+
* maxLength: 50,
|
|
41
|
+
* pattern: '/^[a-zA-Z0-9_-]+$/',
|
|
42
|
+
* exampleValue: 'john_doe'
|
|
43
|
+
* })
|
|
44
|
+
* username: string;
|
|
45
|
+
*
|
|
46
|
+
* // Number property
|
|
47
|
+
* @Column()
|
|
48
|
+
* @ApiPropertyDescribe({
|
|
49
|
+
* type: EApiPropertyDescribeType.NUMBER,
|
|
50
|
+
* description: 'User age',
|
|
51
|
+
* format: EApiPropertyNumberType.INTEGER,
|
|
52
|
+
* minimum: 18,
|
|
53
|
+
* maximum: 120,
|
|
54
|
+
* exampleValue: 25
|
|
55
|
+
* })
|
|
56
|
+
* age: number;
|
|
57
|
+
*
|
|
58
|
+
* // Enum property
|
|
59
|
+
* @Column({
|
|
60
|
+
* type: 'enum',
|
|
61
|
+
* enum: UserRole,
|
|
62
|
+
* default: UserRole.USER
|
|
63
|
+
* })
|
|
64
|
+
* @ApiPropertyDescribe({
|
|
65
|
+
* type: EApiPropertyDescribeType.ENUM,
|
|
66
|
+
* description: 'User role',
|
|
67
|
+
* enum: UserRole,
|
|
68
|
+
* enumName: 'UserRole',
|
|
69
|
+
* defaultValue: UserRole.USER
|
|
70
|
+
* })
|
|
71
|
+
* role: UserRole;
|
|
72
|
+
*
|
|
73
|
+
* // Relation property
|
|
74
|
+
* @OneToMany(() => Post, post => post.author)
|
|
75
|
+
* @ApiPropertyDescribe({
|
|
76
|
+
* type: EApiPropertyDescribeType.RELATION,
|
|
77
|
+
* description: 'User posts',
|
|
78
|
+
* isArray: true,
|
|
79
|
+
* relationMetadata: {
|
|
80
|
+
* relationType: 'one-to-many',
|
|
81
|
+
* entity: Post,
|
|
82
|
+
* isEager: false
|
|
83
|
+
* }
|
|
84
|
+
* })
|
|
85
|
+
* posts: Post[];
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
23
88
|
function ApiPropertyDescribe(properties) {
|
|
24
89
|
return (target, propertyKey) => {
|
|
25
90
|
const entityName = target.constructor.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.decorator.js","sources":["../../../../../../src/decorator/api/property/describe.decorator.ts"],"sourcesContent":[null],"names":["MetadataStorage","PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT"],"mappings":"
|
|
1
|
+
{"version":3,"file":"describe.decorator.js","sources":["../../../../../../src/decorator/api/property/describe.decorator.ts"],"sourcesContent":[null],"names":["MetadataStorage","PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT"],"mappings":";;;;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgFG;AACG,SAAU,mBAAmB,CAAC,UAA0C,EAAA;AAC7E,IAAA,OAAO,CAAC,MAAwB,EAAE,WAAmB,KAAU;AAC9D,QAAA,MAAM,UAAU,GAAW,MAAM,CAAC,WAAW,CAAC,IAAI;AAClD,QAAAA,qCAAe,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAEC,kEAAwC,CAAC,sBAAsB,EAAE,UAAU,CAAC;AAChJ,KAAC;AACF;;;;"}
|
|
@@ -1,2 +1,76 @@
|
|
|
1
|
-
import type { TApiPropertyEnumProperties } from
|
|
1
|
+
import type { TApiPropertyEnumProperties } from '../../../type/decorator/api/property/enum-properties.type';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a decorator that applies NestJS Swagger and class-validator/class-transformer decorators
|
|
4
|
+
* for enum properties in DTOs.
|
|
5
|
+
*
|
|
6
|
+
* This decorator handles enum properties with support for:
|
|
7
|
+
* - TypeScript enums (both string and numeric)
|
|
8
|
+
* - Single enum values or arrays of enum values
|
|
9
|
+
* - Response/Request specific decorators
|
|
10
|
+
* - Validation to ensure values match enum options
|
|
11
|
+
* - Array validation with min/max items
|
|
12
|
+
* - Automatic generation of example values from enum
|
|
13
|
+
* - Swagger/OpenAPI documentation for enum values
|
|
14
|
+
*
|
|
15
|
+
* The decorator provides proper validation and documentation of enum values, ensuring
|
|
16
|
+
* that only valid options are accepted in requests and properly documented in the API.
|
|
17
|
+
* @param {TApiPropertyEnumProperties} properties - Configuration options for the enum property
|
|
18
|
+
* @returns {Function} A decorator function that can be applied to a class property
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // String enum example
|
|
22
|
+
* enum UserRole {
|
|
23
|
+
* ADMIN = 'admin',
|
|
24
|
+
* USER = 'user',
|
|
25
|
+
* GUEST = 'guest'
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* class UserDto {
|
|
29
|
+
* @ApiPropertyEnum({
|
|
30
|
+
* entity: { name: 'User' },
|
|
31
|
+
* description: 'user role',
|
|
32
|
+
* enum: UserRole,
|
|
33
|
+
* enumName: 'UserRole',
|
|
34
|
+
* isRequired: true,
|
|
35
|
+
* exampleValue: UserRole.USER
|
|
36
|
+
* })
|
|
37
|
+
* role: UserRole;
|
|
38
|
+
* }
|
|
39
|
+
*
|
|
40
|
+
* // Numeric enum example
|
|
41
|
+
* enum Status {
|
|
42
|
+
* ACTIVE = 1,
|
|
43
|
+
* INACTIVE = 0,
|
|
44
|
+
* PENDING = 2
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* class ProductDto {
|
|
48
|
+
* @ApiPropertyEnum({
|
|
49
|
+
* entity: { name: 'Product' },
|
|
50
|
+
* description: 'status',
|
|
51
|
+
* enum: Status,
|
|
52
|
+
* enumName: 'Status',
|
|
53
|
+
* isRequired: true,
|
|
54
|
+
* exampleValue: Status.ACTIVE
|
|
55
|
+
* })
|
|
56
|
+
* status: Status;
|
|
57
|
+
* }
|
|
58
|
+
*
|
|
59
|
+
* // Array of enum values
|
|
60
|
+
* class PermissionsDto {
|
|
61
|
+
* @ApiPropertyEnum({
|
|
62
|
+
* entity: { name: 'Permission' },
|
|
63
|
+
* description: 'user roles',
|
|
64
|
+
* enum: UserRole,
|
|
65
|
+
* enumName: 'UserRole',
|
|
66
|
+
* isArray: true,
|
|
67
|
+
* minItems: 1,
|
|
68
|
+
* maxItems: 3,
|
|
69
|
+
* isUniqueItems: true,
|
|
70
|
+
* exampleValue: [UserRole.USER, UserRole.ADMIN]
|
|
71
|
+
* })
|
|
72
|
+
* roles: UserRole[];
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
2
76
|
export declare function ApiPropertyEnum(properties: TApiPropertyEnumProperties): <Y>(target: object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
@@ -5,12 +5,92 @@ var swagger = require('@nestjs/swagger');
|
|
|
5
5
|
var classTransformer = require('class-transformer');
|
|
6
6
|
var classValidator = require('class-validator');
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Creates a decorator that applies NestJS Swagger and class-validator/class-transformer decorators
|
|
10
|
+
* for enum properties in DTOs.
|
|
11
|
+
*
|
|
12
|
+
* This decorator handles enum properties with support for:
|
|
13
|
+
* - TypeScript enums (both string and numeric)
|
|
14
|
+
* - Single enum values or arrays of enum values
|
|
15
|
+
* - Response/Request specific decorators
|
|
16
|
+
* - Validation to ensure values match enum options
|
|
17
|
+
* - Array validation with min/max items
|
|
18
|
+
* - Automatic generation of example values from enum
|
|
19
|
+
* - Swagger/OpenAPI documentation for enum values
|
|
20
|
+
*
|
|
21
|
+
* The decorator provides proper validation and documentation of enum values, ensuring
|
|
22
|
+
* that only valid options are accepted in requests and properly documented in the API.
|
|
23
|
+
* @param {TApiPropertyEnumProperties} properties - Configuration options for the enum property
|
|
24
|
+
* @returns {Function} A decorator function that can be applied to a class property
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // String enum example
|
|
28
|
+
* enum UserRole {
|
|
29
|
+
* ADMIN = 'admin',
|
|
30
|
+
* USER = 'user',
|
|
31
|
+
* GUEST = 'guest'
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* class UserDto {
|
|
35
|
+
* @ApiPropertyEnum({
|
|
36
|
+
* entity: { name: 'User' },
|
|
37
|
+
* description: 'user role',
|
|
38
|
+
* enum: UserRole,
|
|
39
|
+
* enumName: 'UserRole',
|
|
40
|
+
* isRequired: true,
|
|
41
|
+
* exampleValue: UserRole.USER
|
|
42
|
+
* })
|
|
43
|
+
* role: UserRole;
|
|
44
|
+
* }
|
|
45
|
+
*
|
|
46
|
+
* // Numeric enum example
|
|
47
|
+
* enum Status {
|
|
48
|
+
* ACTIVE = 1,
|
|
49
|
+
* INACTIVE = 0,
|
|
50
|
+
* PENDING = 2
|
|
51
|
+
* }
|
|
52
|
+
*
|
|
53
|
+
* class ProductDto {
|
|
54
|
+
* @ApiPropertyEnum({
|
|
55
|
+
* entity: { name: 'Product' },
|
|
56
|
+
* description: 'status',
|
|
57
|
+
* enum: Status,
|
|
58
|
+
* enumName: 'Status',
|
|
59
|
+
* isRequired: true,
|
|
60
|
+
* exampleValue: Status.ACTIVE
|
|
61
|
+
* })
|
|
62
|
+
* status: Status;
|
|
63
|
+
* }
|
|
64
|
+
*
|
|
65
|
+
* // Array of enum values
|
|
66
|
+
* class PermissionsDto {
|
|
67
|
+
* @ApiPropertyEnum({
|
|
68
|
+
* entity: { name: 'Permission' },
|
|
69
|
+
* description: 'user roles',
|
|
70
|
+
* enum: UserRole,
|
|
71
|
+
* enumName: 'UserRole',
|
|
72
|
+
* isArray: true,
|
|
73
|
+
* minItems: 1,
|
|
74
|
+
* maxItems: 3,
|
|
75
|
+
* isUniqueItems: true,
|
|
76
|
+
* exampleValue: [UserRole.USER, UserRole.ADMIN]
|
|
77
|
+
* })
|
|
78
|
+
* roles: UserRole[];
|
|
79
|
+
* }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
8
82
|
function ApiPropertyEnum(properties) {
|
|
9
83
|
validateOptions(properties);
|
|
10
84
|
const apiPropertyOptions = buildApiPropertyOptions(properties);
|
|
11
85
|
const decorators = buildDecorators(properties, apiPropertyOptions);
|
|
12
86
|
return common.applyDecorators(...decorators);
|
|
13
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Builds the API property options object from the provided enum property configuration
|
|
90
|
+
* @param {TApiPropertyEnumProperties} properties - The enum property configuration
|
|
91
|
+
* @returns {ApiPropertyOptions} The Swagger API property options object
|
|
92
|
+
* @private
|
|
93
|
+
*/
|
|
14
94
|
function buildApiPropertyOptions(properties) {
|
|
15
95
|
const apiPropertyOptions = {
|
|
16
96
|
description: `${String(properties.entity.name)} ${properties.description ?? ""}`,
|
|
@@ -39,11 +119,24 @@ function buildApiPropertyOptions(properties) {
|
|
|
39
119
|
apiPropertyOptions.enum = properties.enum;
|
|
40
120
|
return apiPropertyOptions;
|
|
41
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Builds all the necessary decorators for the enum property based on the configuration
|
|
124
|
+
* @param {TApiPropertyEnumProperties} properties - The enum property configuration
|
|
125
|
+
* @param {ApiPropertyOptions} apiPropertyOptions - The Swagger API property options
|
|
126
|
+
* @returns {Array<PropertyDecorator>} An array of decorators to apply to the property
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
42
129
|
function buildDecorators(properties, apiPropertyOptions) {
|
|
43
130
|
const decorators = [swagger.ApiProperty(apiPropertyOptions)];
|
|
44
131
|
decorators.push(...buildResponseDecorators(properties), ...buildRequestDecorators(properties), ...buildFormatDecorators(properties));
|
|
45
132
|
return decorators;
|
|
46
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Builds decorators for enum validation
|
|
136
|
+
* @param {TApiPropertyEnumProperties} properties - The enum property configuration
|
|
137
|
+
* @returns {Array<PropertyDecorator>} An array of enum validation decorators
|
|
138
|
+
* @private
|
|
139
|
+
*/
|
|
47
140
|
function buildFormatDecorators(properties) {
|
|
48
141
|
const decorators = [];
|
|
49
142
|
const isArray = properties.isArray ?? false;
|
|
@@ -51,6 +144,12 @@ function buildFormatDecorators(properties) {
|
|
|
51
144
|
decorators.push(classValidator.IsEnum(properties.enum, { each: isArray }));
|
|
52
145
|
return decorators;
|
|
53
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Builds decorators for request validation including optional status and array validation
|
|
149
|
+
* @param {TApiPropertyEnumProperties} properties - The enum property configuration
|
|
150
|
+
* @returns {Array<PropertyDecorator>} An array of request validation decorators
|
|
151
|
+
* @private
|
|
152
|
+
*/
|
|
54
153
|
function buildRequestDecorators(properties) {
|
|
55
154
|
const decorators = [];
|
|
56
155
|
if (properties.isResponse === false || properties.isResponse === undefined) {
|
|
@@ -66,6 +165,12 @@ function buildRequestDecorators(properties) {
|
|
|
66
165
|
}
|
|
67
166
|
return decorators;
|
|
68
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Builds decorators for response serialization including API response property and expose/exclude
|
|
170
|
+
* @param {TApiPropertyEnumProperties} properties - The enum property configuration
|
|
171
|
+
* @returns {Array<PropertyDecorator>} An array of response serialization decorators
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
69
174
|
function buildResponseDecorators(properties) {
|
|
70
175
|
const decorators = [];
|
|
71
176
|
if (properties.isResponse) {
|
|
@@ -79,6 +184,13 @@ function buildResponseDecorators(properties) {
|
|
|
79
184
|
}
|
|
80
185
|
return decorators;
|
|
81
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Validates the configuration options for the API property enum
|
|
189
|
+
* @param {TApiPropertyEnumProperties} properties - The property configuration to validate
|
|
190
|
+
* @returns {void}
|
|
191
|
+
* @throws {Error} If the configuration is invalid
|
|
192
|
+
* @private
|
|
193
|
+
*/
|
|
82
194
|
function validateOptions(properties) {
|
|
83
195
|
const errors = [];
|
|
84
196
|
if (properties.isArray === true) {
|