@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analize.utility.js","sources":["../../../../../src/utility/dto/analize.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA;;;;;AAKG;AACG,SAAU,qBAAqB,CAAC,MAAsB,EAAA;AAC3D,IAAA,MAAM,OAAO,GAAoB,eAAe,CAAC,WAAW,EAAE;AAE9D,IAA4C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAiB;AAIjG;;;;"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
+
import type { IApiEntity } from '../../interface/entity/index';
|
|
1
2
|
import type { Type } from "@nestjs/common";
|
|
2
3
|
import type { IAuthGuard } from "@nestjs/passport";
|
|
3
|
-
import type {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import type { TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
|
|
5
|
+
import { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
|
|
6
|
+
/**
|
|
7
|
+
* Creates property decorators for DTOs based on property metadata, entity information, and context.
|
|
8
|
+
* Handles special cases for date properties and guard-based exposure rules.
|
|
9
|
+
* @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
10
|
+
* @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
|
|
11
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
12
|
+
* @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
13
|
+
* @param {string} propertyName - The name of the property
|
|
14
|
+
* @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
|
|
15
|
+
* @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
|
|
16
|
+
* @returns {Array<PropertyDecorator> | undefined} Array of property decorators or undefined if property should not be included
|
|
17
|
+
* @template E - The entity type
|
|
18
|
+
* @template M - The API route type
|
|
19
|
+
* @template D - The DTO type
|
|
20
|
+
*/
|
|
21
|
+
export declare function DtoBuildDecorator<E, M extends EApiRouteType, D extends EApiDtoType>(method: M, propertyMetadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, dtoType: D, propertyName: string, currentGuard?: Type<IAuthGuard>, generatedDTOs?: Record<string, Type<unknown>>): Array<PropertyDecorator> | undefined;
|
|
@@ -11,16 +11,28 @@ import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desr
|
|
|
11
11
|
import '../../enum/decorator/api/property/number-type.enum.js';
|
|
12
12
|
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
13
13
|
import { EApiRouteType } from '../../enum/decorator/api/route-type.enum.js';
|
|
14
|
-
import '../../enum/exception.enum.js';
|
|
15
|
-
import '../../enum/filter-order-direction.enum.js';
|
|
16
|
-
import '../../enum/utility/error-string-action.enum.js';
|
|
17
14
|
import { DtoGenerateDecorator } from './generate-decorator.utility.js';
|
|
18
15
|
import { DtoGetDecoratorConfig } from './get-decorator-config.utility.js';
|
|
19
16
|
import { DtoHandleDateProperty } from './handle-date-property.utility.js';
|
|
20
17
|
import { DtoIsPropertyExposedForGuard } from './is-property-exposed-for-guard.utility.js';
|
|
21
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Creates property decorators for DTOs based on property metadata, entity information, and context.
|
|
21
|
+
* Handles special cases for date properties and guard-based exposure rules.
|
|
22
|
+
* @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
23
|
+
* @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
|
|
24
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
25
|
+
* @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
26
|
+
* @param {string} propertyName - The name of the property
|
|
27
|
+
* @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
|
|
28
|
+
* @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
|
|
29
|
+
* @returns {Array<PropertyDecorator> | undefined} Array of property decorators or undefined if property should not be included
|
|
30
|
+
* @template E - The entity type
|
|
31
|
+
* @template M - The API route type
|
|
32
|
+
* @template D - The DTO type
|
|
33
|
+
*/
|
|
22
34
|
// eslint-disable-next-line @elsikora/typescript/no-unnecessary-type-parameters
|
|
23
|
-
function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyName, currentGuard) {
|
|
35
|
+
function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyName, currentGuard, generatedDTOs) {
|
|
24
36
|
const properties = propertyMetadata.properties?.[method];
|
|
25
37
|
if (properties?.[dtoType]?.isEnabled === false || (properties?.[dtoType]?.isResponse && properties?.[dtoType]?.isExpose === false)) {
|
|
26
38
|
return undefined;
|
|
@@ -43,7 +55,7 @@ function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyNa
|
|
|
43
55
|
}
|
|
44
56
|
}
|
|
45
57
|
const config = DtoGetDecoratorConfig(method, propertyMetadata, dtoType);
|
|
46
|
-
return [DtoGenerateDecorator(propertyMetadata, entity, config, method, dtoType, propertyName)];
|
|
58
|
+
return [DtoGenerateDecorator(propertyMetadata, entity, config, method, dtoType, propertyName, generatedDTOs)];
|
|
47
59
|
}
|
|
48
60
|
|
|
49
61
|
export { DtoBuildDecorator };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-decorator.utility.js","sources":["../../../../../src/utility/dto/build-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;AAcG;AACH;AACgB,SAAA,iBAAiB,CAAoD,MAAS,EAAE,gBAAgD,EAAE,MAAqB,EAAE,OAAU,EAAE,YAAoB,EAAE,YAA+B,EAAE,aAA6C,EAAA;IAKxR,MAAM,UAAU,GAA2C,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAA2C;AAE1I,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,SAAS,KAAK,KAAK,KAAK,UAAU,GAAG,OAAO,CAAC,EAAE,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE;AACnI,QAAA,OAAO,SAAS;;AAGjB,IAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;AACnF,QAAA,OAAO,SAAS;;IAGjB,IAAI,gBAAgB,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,EAAE;QAC5D,MAAM,YAAY,GAAuC,gBAAgB;QAEzE,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,MAAM,KAAK,aAAa,CAAC,cAAc,KAAK,OAAO,KAAK,WAAW,CAAC,IAAI,EAAE;AACjH,YAAA,OAAO,SAAS;;AAGjB,QAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;YACvE,MAAM,cAAc,GAAoE,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC;AAEpJ,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,QAAkE,KAAI;AAChG,gBAAA,MAAM,WAAW,GAAmC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;AACxG,gBAAA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;AAEpH,gBAAA,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;AACxF,aAAC,CAAC;;;AAIJ,IAAA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAqB,CAAC;AAExH,IAAA,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAC9G;;;;"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
import type { EApiDtoType, EApiRouteType } from
|
|
2
|
-
import type { IApiEntity } from
|
|
3
|
-
import type {
|
|
4
|
-
|
|
1
|
+
import type { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
|
|
2
|
+
import type { IApiEntity } from '../../interface/entity/index';
|
|
3
|
+
import type { Type } from "@nestjs/common";
|
|
4
|
+
import type { TApiPropertyDescribeDtoProperties, TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
|
|
5
|
+
/**
|
|
6
|
+
* Factory function that generates appropriate property decorators based on property type.
|
|
7
|
+
* Uses factories defined in DTO_UTILITY_CONSTANT to create the correct decorator for each property type.
|
|
8
|
+
* @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
|
|
9
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
10
|
+
* @param {TApiPropertyDescribeDtoProperties} config - Configuration for the decorator
|
|
11
|
+
* @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
12
|
+
* @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
13
|
+
* @param {string} propertyName - The name of the property
|
|
14
|
+
* @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
|
|
15
|
+
* @returns {PropertyDecorator} The generated property decorator
|
|
16
|
+
* @throws {Error} When property type has no registered factory
|
|
17
|
+
* @template E - The entity type
|
|
18
|
+
*/
|
|
19
|
+
export declare function DtoGenerateDecorator<E>(metadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, config: TApiPropertyDescribeDtoProperties, method: EApiRouteType, dtoType: EApiDtoType, propertyName: string, generatedDTOs?: Record<string, Type<unknown>>): PropertyDecorator;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DTO_UTILITY_CONSTANT } from '../../constant/utility/dto/constant.js';
|
|
2
|
+
import { ErrorException } from '../error-exception.utility.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Factory function that generates appropriate property decorators based on property type.
|
|
6
|
+
* Uses factories defined in DTO_UTILITY_CONSTANT to create the correct decorator for each property type.
|
|
7
|
+
* @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
|
|
8
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
9
|
+
* @param {TApiPropertyDescribeDtoProperties} config - Configuration for the decorator
|
|
10
|
+
* @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
11
|
+
* @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
12
|
+
* @param {string} propertyName - The name of the property
|
|
13
|
+
* @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
|
|
14
|
+
* @returns {PropertyDecorator} The generated property decorator
|
|
15
|
+
* @throws {Error} When property type has no registered factory
|
|
16
|
+
* @template E - The entity type
|
|
17
|
+
*/
|
|
18
|
+
function DtoGenerateDecorator(metadata, entity, config, method, dtoType, propertyName, generatedDTOs) {
|
|
19
|
+
const factory = DTO_UTILITY_CONSTANT.PROPERTY_DECORATOR_FACTORIES[metadata.type];
|
|
20
|
+
if (!factory) {
|
|
21
|
+
throw ErrorException(`Unknown property type ${metadata.type}`);
|
|
22
|
+
}
|
|
23
|
+
return factory.create(metadata, entity, config, method, dtoType, propertyName, generatedDTOs);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { DtoGenerateDecorator };
|
|
27
|
+
//# sourceMappingURL=generate-decorator.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-decorator.utility.js","sources":["../../../../../src/utility/dto/generate-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA;;;;;;;;;;;;;AAaG;AACa,SAAA,oBAAoB,CAAI,QAAwC,EAAE,MAAqB,EAAE,MAAyC,EAAE,MAAqB,EAAE,OAAoB,EAAE,YAAoB,EAAE,aAA6C,EAAA;IACnQ,MAAM,OAAO,GAA2B,oBAAoB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAElI,IAAI,CAAC,OAAO,EAAE;QACb,MAAM,cAAc,CAAC,CAAyB,sBAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,CAAE,CAAC;;AAG/D,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC;AAC9F;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
|
|
2
|
+
import type { IApiEntity } from '../../interface/entity/index';
|
|
3
|
+
import type { Type } from "@nestjs/common";
|
|
4
|
+
import type { IAuthGuard } from "@nestjs/passport";
|
|
5
|
+
import type { TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
|
|
6
|
+
/**
|
|
7
|
+
* Generates dynamic DTOs for object-type properties based on property metadata.
|
|
8
|
+
* Creates classes on the fly with appropriate decorators for each property and sets up
|
|
9
|
+
* proper inheritance and naming conventions.
|
|
10
|
+
* @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
11
|
+
* @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
|
|
12
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
13
|
+
* @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
14
|
+
* @param {string} _propertyName - The name of the property
|
|
15
|
+
* @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
|
|
16
|
+
* @returns {Record<string, Type<unknown>> | undefined} A record of generated DTO classes or undefined if generation not needed
|
|
17
|
+
* @template E - The entity type
|
|
18
|
+
* @template M - The API route type
|
|
19
|
+
* @template D - The DTO type
|
|
20
|
+
*/
|
|
21
|
+
export declare function DtoGenerateDynamic<E, M extends EApiRouteType, D extends EApiDtoType>(method: M, propertyMetadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, dtoType: D, _propertyName: string, currentGuard?: Type<IAuthGuard>): Record<string, Type<unknown>> | undefined;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import '../../enum/decorator/api/action.enum.js';
|
|
2
|
+
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
3
|
+
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
4
|
+
import '../../enum/decorator/api/controller/request-transformer-type.enum.js';
|
|
5
|
+
import '../../enum/decorator/api/dto-type.enum.js';
|
|
6
|
+
import '../../enum/decorator/api/function/type.enum.js';
|
|
7
|
+
import '../../enum/decorator/api/property/data-type.enum.js';
|
|
8
|
+
import '../../enum/decorator/api/property/date/identifier.enum.js';
|
|
9
|
+
import '../../enum/decorator/api/property/date/type.enum.js';
|
|
10
|
+
import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
11
|
+
import '../../enum/decorator/api/property/number-type.enum.js';
|
|
12
|
+
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
13
|
+
import '../../enum/decorator/api/route-type.enum.js';
|
|
14
|
+
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
15
|
+
import { DtoBuildDecorator } from './build-decorator.utility.js';
|
|
16
|
+
import { DtoIsPropertyExposedForGuard } from './is-property-exposed-for-guard.utility.js';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Generates dynamic DTOs for object-type properties based on property metadata.
|
|
20
|
+
* Creates classes on the fly with appropriate decorators for each property and sets up
|
|
21
|
+
* proper inheritance and naming conventions.
|
|
22
|
+
* @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
23
|
+
* @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
|
|
24
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
25
|
+
* @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
26
|
+
* @param {string} _propertyName - The name of the property
|
|
27
|
+
* @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
|
|
28
|
+
* @returns {Record<string, Type<unknown>> | undefined} A record of generated DTO classes or undefined if generation not needed
|
|
29
|
+
* @template E - The entity type
|
|
30
|
+
* @template M - The API route type
|
|
31
|
+
* @template D - The DTO type
|
|
32
|
+
*/
|
|
33
|
+
// eslint-disable-next-line @elsikora/typescript/no-unnecessary-type-parameters
|
|
34
|
+
function DtoGenerateDynamic(method, propertyMetadata, entity, dtoType, _propertyName, currentGuard) {
|
|
35
|
+
if (propertyMetadata.type !== EApiPropertyDescribeType.OBJECT) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
const properties = propertyMetadata.properties?.[method];
|
|
39
|
+
if (properties?.[dtoType]?.isEnabled === false || (properties?.[dtoType]?.isResponse && properties?.[dtoType]?.isExpose === false)) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
if (!DtoIsPropertyExposedForGuard(method, propertyMetadata, dtoType, currentGuard)) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const generatedDTOs = {};
|
|
46
|
+
if (propertyMetadata.type === EApiPropertyDescribeType.OBJECT && !Array.isArray(propertyMetadata.dataType) && "isDynamicallyGenerated" in propertyMetadata && propertyMetadata.isDynamicallyGenerated) {
|
|
47
|
+
const dataForGeneration = [];
|
|
48
|
+
for (const dynamicDtoName of Object.keys(propertyMetadata.dataType)) {
|
|
49
|
+
if (propertyMetadata.dataType[dynamicDtoName]) {
|
|
50
|
+
dataForGeneration.push({
|
|
51
|
+
data: propertyMetadata.dataType[dynamicDtoName],
|
|
52
|
+
name: dynamicDtoName,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
for (const { data, name } of dataForGeneration) {
|
|
57
|
+
class GeneratedDTO {
|
|
58
|
+
constructor() {
|
|
59
|
+
for (const propertyName of Object.keys(data)) {
|
|
60
|
+
Object.defineProperty(this, propertyName, {
|
|
61
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
62
|
+
configurable: true,
|
|
63
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
64
|
+
enumerable: true,
|
|
65
|
+
value: undefined,
|
|
66
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
67
|
+
writable: true,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
for (const propertyName of Object.keys(data)) {
|
|
73
|
+
if (data[propertyName]) {
|
|
74
|
+
const decorators = DtoBuildDecorator(method, data[propertyName], entity, dtoType, propertyName, currentGuard, {});
|
|
75
|
+
if (decorators) {
|
|
76
|
+
for (const [, decorator] of decorators.entries()) {
|
|
77
|
+
decorator(GeneratedDTO.prototype, propertyName);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
Object.defineProperty(GeneratedDTO, "name", {
|
|
83
|
+
value: `${entity.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}${CamelCaseString(_propertyName)}${CamelCaseString(name)}DTO`,
|
|
84
|
+
});
|
|
85
|
+
generatedDTOs[name] = GeneratedDTO;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return generatedDTOs;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export { DtoGenerateDynamic };
|
|
92
|
+
//# sourceMappingURL=generate-dynamic.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-dynamic.utility.js","sources":["../../../../../src/utility/dto/generate-dynamic.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAYA;;;;;;;;;;;;;;AAcG;AACH;AACgB,SAAA,kBAAkB,CAAoD,MAAS,EAAE,gBAAgD,EAAE,MAAqB,EAAE,OAAU,EAAE,aAAqB,EAAE,YAA+B,EAAA;IAC3O,IAAI,gBAAgB,CAAC,IAAI,KAAK,wBAAwB,CAAC,MAAM,EAAE;AAC9D,QAAA,OAAO,SAAS;;IAOjB,MAAM,UAAU,GAA2C,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAA2C;AAE1I,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,SAAS,KAAK,KAAK,KAAK,UAAU,GAAG,OAAO,CAAC,EAAE,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE;AACnI,QAAA,OAAO,SAAS;;AAGjB,IAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;AACnF,QAAA,OAAO,SAAS;;IAGjB,MAAM,aAAa,GAAkC,EAAE;IAEvD,IAAI,gBAAgB,CAAC,IAAI,KAAK,wBAAwB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,sBAAsB,EAAE;QACtM,MAAM,iBAAiB,GAAkF,EAAE;AAE3G,QAAA,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;AACpE,YAAA,IAAI,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC9C,iBAAiB,CAAC,IAAI,CAAC;AACtB,oBAAA,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC;AAC/C,oBAAA,IAAI,EAAE,cAAc;AACpB,iBAAA,CAAC;;;QAIJ,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,iBAAiB,EAAE;AAC/C,YAAA,MAAM,YAAY,CAAA;AACjB,gBAAA,WAAA,GAAA;oBACC,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC7C,wBAAA,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE;;AAEzC,4BAAA,YAAY,EAAE,IAAI;;AAElB,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,KAAK,EAAE,SAAS;;AAEhB,4BAAA,QAAQ,EAAE,IAAI;AACd,yBAAA,CAAC;;;AAGJ;YAED,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC7C,gBAAA,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;oBACvB,MAAM,UAAU,GAAyC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;oBAEvJ,IAAI,UAAU,EAAE;wBACf,KAAK,MAAM,GAAG,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;AACjD,4BAAA,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC;;;;;AAMnD,YAAA,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE;gBAC3C,KAAK,EAAE,CAAG,EAAA,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAG,EAAA,eAAe,CAAC,MAAM,CAAC,CAAA,EAAG,eAAe,CAAC,OAAO,CAAC,CAAG,EAAA,eAAe,CAAC,aAAa,CAAC,CAAA,EAAG,eAAe,CAAC,IAAI,CAAC,CAAK,GAAA,CAAA;AAC7J,aAAA,CAAC;AAEF,YAAA,aAAa,CAAC,IAAI,CAAC,GAAG,YAAY;;;AAIpC,IAAA,OAAO,aAAa;AACrB;;;;"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import { HttpStatus, type Type } from "@nestjs/common";
|
|
2
|
+
/**
|
|
3
|
+
* Creates exception DTOs with standardized properties based on HTTP status codes.
|
|
4
|
+
* Generates a class with properties like correlationID, error name, message, status code, and timestamp,
|
|
5
|
+
* all properly decorated with Swagger and validation decorators.
|
|
6
|
+
* @param {HttpStatus} httpStatus - The HTTP status code for the exception
|
|
7
|
+
* @returns {Type<unknown>} A generated DTO class for the exception
|
|
8
|
+
*/
|
|
2
9
|
export declare function DtoGenerateException(httpStatus: HttpStatus): Type<unknown>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { __decorate, __metadata } from '
|
|
2
|
-
import { HttpStatus } from '@nestjs/common';
|
|
1
|
+
import { __decorate, __metadata } from '../../external/tslib/tslib.es6.js';
|
|
3
2
|
import { DATE_CONSTANT } from '../../constant/date.constant.js';
|
|
4
|
-
import '../../constant/decorator/api/function.constant.js';
|
|
5
3
|
import { EXCEPTION_DTO_CONSTANT } from '../../constant/dto/exception.constant.js';
|
|
6
4
|
import { NUMBER_CONSTANT } from '../../constant/number.constant.js';
|
|
7
5
|
import { ApiPropertyEnum } from '../../decorator/api/property/enum.decorator.js';
|
|
@@ -21,11 +19,16 @@ import '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
|
21
19
|
import { EApiPropertyNumberType } from '../../enum/decorator/api/property/number-type.enum.js';
|
|
22
20
|
import { EApiPropertyStringType } from '../../enum/decorator/api/property/string-type.enum.js';
|
|
23
21
|
import '../../enum/decorator/api/route-type.enum.js';
|
|
24
|
-
import '
|
|
25
|
-
import '../../enum/filter-order-direction.enum.js';
|
|
26
|
-
import '../../enum/utility/error-string-action.enum.js';
|
|
22
|
+
import { HttpStatus } from '@nestjs/common';
|
|
27
23
|
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
28
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Creates exception DTOs with standardized properties based on HTTP status codes.
|
|
27
|
+
* Generates a class with properties like correlationID, error name, message, status code, and timestamp,
|
|
28
|
+
* all properly decorated with Swagger and validation decorators.
|
|
29
|
+
* @param {HttpStatus} httpStatus - The HTTP status code for the exception
|
|
30
|
+
* @returns {Type<unknown>} A generated DTO class for the exception
|
|
31
|
+
*/
|
|
29
32
|
function DtoGenerateException(httpStatus) {
|
|
30
33
|
const errorName = HttpStatus[httpStatus];
|
|
31
34
|
class GeneratedErrorDTO {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-exception.utility.js","sources":["../../../../../src/utility/dto/generate-exception.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;AAMG;AACG,SAAU,oBAAoB,CAAC,UAAsB,EAAA;AAC1D,IAAA,MAAM,SAAS,GAAW,UAAU,CAAC,UAAU,CAAC;AAEhD,IAAA,MAAM,iBAAiB,CAAA;AAEtB,QAAA,aAAa;AAYb,QAAA,KAAK,GAAW,eAAe,CAAC,SAAS,CAAC;QAY1C,OAAO,GAAW,eAAe;QAUjC,UAAU,GAAe,UAAU;AAYnC,QAAA,SAAS;AACT;AA/CA,IAAA,UAAA,CAAA;AADC,QAAA,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;;AAChD,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,MAAA,CAAA;AAYvB,IAAA,UAAA,CAAA;AAVC,QAAA,iBAAiB,CAAC;AAClB,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC;YACxC,MAAM,EAAE,sBAAsB,CAAC,MAAM;AACrC,YAAA,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,sBAAsB,CAAC,oBAAoB;YACtD,SAAS,EAAE,sBAAsB,CAAC,oBAAoB;AACtD,YAAA,OAAO,EAAE,sBAAsB;SAC/B,CAAC;;AACyC,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAY3C,IAAA,UAAA,CAAA;AAVC,QAAA,iBAAiB,CAAC;AAClB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,YAAY,EAAE,eAAe;YAC7B,MAAM,EAAE,sBAAsB,CAAC,MAAM;AACrC,YAAA,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,sBAAsB,CAAC,4BAA4B;YAC9D,SAAS,EAAE,sBAAsB,CAAC,4BAA4B;AAC9D,YAAA,OAAO,EAAE,sBAAsB;SAC/B,CAAC;;AACgC,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAUlC,IAAA,UAAA,CAAA;AARC,QAAA,eAAe,CAAC;AAChB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,IAAI,EAAE,UAAU;AAChB,YACA,YAAY,EAAE,UAAU;AACxB,YAAA,UAAU,EAAE,IAAI;SAChB,CAAC;;AACkC,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAYpC,IAAA,UAAA,CAAA;AAVC,QAAA,iBAAiB,CAAC;AAClB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;YACxB,MAAM,EAAE,sBAAsB,CAAC,OAAO;AACtC,YAAA,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,aAAa,CAAC,iBAAiB;YACxC,OAAO,EAAE,aAAa,CAAC,iBAAiB;YACxC,UAAU,EAAE,eAAe,CAAC,GAAG;SAC/B,CAAC;;AACiB,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAGpB,IAAA,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAA,SAAA,EAAY,eAAe,CAAC,SAAS,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC;AAExG,IAAA,OAAO,iBAAiB;AACzB;;;;"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
import type { IApiEntity } from
|
|
2
|
-
import type { TApiPropertyDescribeProperties } from
|
|
1
|
+
import type { IApiEntity } from '../../interface/entity/index';
|
|
2
|
+
import type { TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
|
|
3
|
+
/**
|
|
4
|
+
* Generates filter operation enum decorators based on property type.
|
|
5
|
+
* Maps different property types (boolean, date, enum, number, string, etc.) to their
|
|
6
|
+
* corresponding filter operation enums.
|
|
7
|
+
* @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
|
|
8
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
9
|
+
* @returns {PropertyDecorator} A decorator that adds the appropriate filter operation enum
|
|
10
|
+
* @template E - The entity type
|
|
11
|
+
*/
|
|
3
12
|
export declare function DtoGenerateFilterDecorator<E>(metadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>): PropertyDecorator;
|
|
@@ -12,11 +12,17 @@ import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desr
|
|
|
12
12
|
import '../../enum/decorator/api/property/number-type.enum.js';
|
|
13
13
|
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
14
14
|
import '../../enum/decorator/api/route-type.enum.js';
|
|
15
|
-
import '../../enum/exception.enum.js';
|
|
16
|
-
import '../../enum/filter-order-direction.enum.js';
|
|
17
|
-
import '../../enum/utility/error-string-action.enum.js';
|
|
18
15
|
import { EFilterOperationUuid, EFilterOperationString, EFilterOperationRelation, EFilterOperationObject, EFilterOperationNumber, EFilterOperationEnum, EFilterOperationDate, EFilterOperationBoolean } from '../../enum/filter-operation.enum.js';
|
|
19
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Generates filter operation enum decorators based on property type.
|
|
19
|
+
* Maps different property types (boolean, date, enum, number, string, etc.) to their
|
|
20
|
+
* corresponding filter operation enums.
|
|
21
|
+
* @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
|
|
22
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
23
|
+
* @returns {PropertyDecorator} A decorator that adds the appropriate filter operation enum
|
|
24
|
+
* @template E - The entity type
|
|
25
|
+
*/
|
|
20
26
|
function DtoGenerateFilterDecorator(metadata, entity) {
|
|
21
27
|
switch (metadata.type) {
|
|
22
28
|
case EApiPropertyDescribeType.BOOLEAN: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-filter-decorator.utility.js","sources":["../../../../../src/utility/dto/generate-filter-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOA;;;;;;;;AAQG;AACa,SAAA,0BAA0B,CAAI,QAAwC,EAAE,MAAqB,EAAA;AAC5G,IAAA,QAAQ,QAAQ,CAAC,IAAI;AACpB,QAAA,KAAK,wBAAwB,CAAC,OAAO,EAAE;YACtC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAuC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG7J,QAAA,KAAK,wBAAwB,CAAC,IAAI,EAAE;;AAGnC,YAAA,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAoC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAGpH,QAAA,KAAK,wBAAwB,CAAC,IAAI,EAAE;YACnC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAoC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAGvJ,QAAA,KAAK,wBAAwB,CAAC,MAAM,EAAE;;YAGrC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAsC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG3J,QAAA,KAAK,wBAAwB,CAAC,MAAM,EAAE;YACrC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAsC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG3J,QAAA,KAAK,wBAAwB,CAAC,QAAQ,EAAE;YACvC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAwC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG/J,QAAA,KAAK,wBAAwB,CAAC,MAAM,EAAE;YACrC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAsC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG3J,QAAA,KAAK,wBAAwB,CAAC,IAAI,EAAE;YACnC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAoC,UAAU,EAAE,KAAK,EAAE,CAAC;;;AAGzJ;;;;"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { Type } from "@nestjs/common";
|
|
2
2
|
type TClassType<T = any> = new (...arguments_: Array<any>) => T;
|
|
3
|
+
/**
|
|
4
|
+
* Generates a DTO for paginated list responses with appropriate metadata.
|
|
5
|
+
* Creates a class with count, currentPage, items, totalCount, and totalPages properties,
|
|
6
|
+
* all properly decorated with Swagger and validation decorators.
|
|
7
|
+
* @param {TClassType} resourceClass - The class representing the entity being listed
|
|
8
|
+
* @param {TClassType} responseResourceClass - The response DTO class for individual items
|
|
9
|
+
* @param {string} name - The name for the generated DTO class
|
|
10
|
+
* @returns {Type<unknown>} A generated DTO class for paginated list responses
|
|
11
|
+
*/
|
|
3
12
|
export declare function DtoGenerateGetListResponse(resourceClass: TClassType, responseResourceClass: TClassType, name: string): Type<unknown>;
|
|
4
13
|
export {};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { __decorate, __metadata } from '
|
|
2
|
-
import {
|
|
1
|
+
import { __decorate, __metadata } from '../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { LIST_DTO_CONSTANT } from '../../constant/dto/list.constant.js';
|
|
3
3
|
import { ApiPropertyNumber } from '../../decorator/api/property/number.decorator.js';
|
|
4
4
|
import { ApiPropertyObject } from '../../decorator/api/property/object.decorator.js';
|
|
5
|
-
import LIST_DTO_CONSTANT from '../../constant/dto/list.constant.js';
|
|
6
5
|
import '../../enum/decorator/api/action.enum.js';
|
|
7
6
|
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
8
7
|
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
@@ -16,10 +15,17 @@ import '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
|
16
15
|
import { EApiPropertyNumberType } from '../../enum/decorator/api/property/number-type.enum.js';
|
|
17
16
|
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
18
17
|
import '../../enum/decorator/api/route-type.enum.js';
|
|
19
|
-
import '
|
|
20
|
-
import '../../enum/filter-order-direction.enum.js';
|
|
21
|
-
import '../../enum/utility/error-string-action.enum.js';
|
|
18
|
+
import { PickType } from '@nestjs/swagger';
|
|
22
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Generates a DTO for paginated list responses with appropriate metadata.
|
|
22
|
+
* Creates a class with count, currentPage, items, totalCount, and totalPages properties,
|
|
23
|
+
* all properly decorated with Swagger and validation decorators.
|
|
24
|
+
* @param {TClassType} resourceClass - The class representing the entity being listed
|
|
25
|
+
* @param {TClassType} responseResourceClass - The response DTO class for individual items
|
|
26
|
+
* @param {string} name - The name for the generated DTO class
|
|
27
|
+
* @returns {Type<unknown>} A generated DTO class for paginated list responses
|
|
28
|
+
*/
|
|
23
29
|
function DtoGenerateGetListResponse(resourceClass, responseResourceClass, name) {
|
|
24
30
|
class ApiListGetResponse extends PickType(resourceClass, []) {
|
|
25
31
|
count;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-get-list-response.utility.js","sources":["../../../../../src/utility/dto/generate-get-list-response.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { Type } from "@nestjs/common";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
|
|
3
|
+
import { IApiEntity } from '../../interface/entity/index';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a simple relationship DTO containing only an ID field.
|
|
6
|
+
* Used for representing related entities in API responses with minimal information.
|
|
7
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
8
|
+
* @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
9
|
+
* @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
10
|
+
* @param {string} propertyName - The name of the relation property
|
|
11
|
+
* @returns {Type<unknown>} A generated DTO class for relation representation
|
|
12
|
+
* @template E - The entity type
|
|
13
|
+
*/
|
|
4
14
|
export declare function DtoGenerateRelationResponse<E>(entity: IApiEntity<E>, method: EApiRouteType, dtoType: EApiDtoType, propertyName: string): Type<unknown>;
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
import { __decorate, __metadata } from '
|
|
1
|
+
import { __decorate, __metadata } from '../../external/tslib/tslib.es6.js';
|
|
2
2
|
import { ApiPropertyUUID } from '../../decorator/api/property/uuid.decorator.js';
|
|
3
3
|
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
4
4
|
import { CapitalizeString } from '../capitalize-string.utility.js';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Creates a simple relationship DTO containing only an ID field.
|
|
8
|
+
* Used for representing related entities in API responses with minimal information.
|
|
9
|
+
* @param {IApiEntity<E>} entity - The entity metadata
|
|
10
|
+
* @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
11
|
+
* @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
12
|
+
* @param {string} propertyName - The name of the relation property
|
|
13
|
+
* @returns {Type<unknown>} A generated DTO class for relation representation
|
|
14
|
+
* @template E - The entity type
|
|
15
|
+
*/
|
|
6
16
|
function DtoGenerateRelationResponse(entity, method, dtoType, propertyName) {
|
|
7
17
|
class GeneratedRelationDTO {
|
|
8
18
|
id;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-relation-response.utility.js","sources":["../../../../../src/utility/dto/generate-relation-response.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAQA;;;;;;;;;AASG;AACG,SAAU,2BAA2B,CAAI,MAAqB,EAAE,MAAqB,EAAE,OAAoB,EAAE,YAAoB,EAAA;AACtI,IAAA,MAAM,oBAAoB,CAAA;AAEzB,QAAA,EAAE;AACF;AADA,IAAA,UAAA,CAAA;QADC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;;AAClC,KAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,IAAA,EAAA,MAAA,CAAA;AAGb,IAAA,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAG,EAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAG,EAAA,eAAe,CAAC,MAAM,CAAC,CAAG,EAAA,eAAe,CAAC,OAAO,CAAC,CAAG,EAAA,gBAAgB,CAAC,YAAY,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC;AAEjL,IAAA,OAAO,oBAAoB;AAC5B;;;;"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
+
import type { IApiControllerPropertiesRouteAutoDtoConfig } from '../../interface/decorator/api/index';
|
|
2
|
+
import type { IApiEntity } from '../../interface/entity/index';
|
|
1
3
|
import type { Type } from "@nestjs/common";
|
|
2
4
|
import type { IAuthGuard } from "@nestjs/passport";
|
|
3
5
|
import type { ObjectLiteral } from "typeorm";
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
+
import { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
|
|
7
|
+
/**
|
|
8
|
+
* Core utility for DTO generation that determines which properties should be included in the DTO.
|
|
9
|
+
* Builds decorators, handles special cases like filter queries, and generates the appropriate class
|
|
10
|
+
* based on entity metadata, route type, and DTO type.
|
|
11
|
+
* @param {ObjectLiteral} entity - The entity class or prototype
|
|
12
|
+
* @param {IApiEntity<E>} entityMetadata - The entity metadata containing column information
|
|
13
|
+
* @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
14
|
+
* @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
15
|
+
* @param {IApiControllerPropertiesRouteAutoDtoConfig} [dtoConfig] - Optional configuration for automatic DTO generation
|
|
16
|
+
* @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard for property visibility control
|
|
17
|
+
* @returns {Type<unknown> | undefined} The generated DTO class or undefined if no DTO should be generated
|
|
18
|
+
* @throws {Error} When primary key metadata is missing
|
|
19
|
+
* @template E - The entity type
|
|
20
|
+
*/
|
|
6
21
|
export declare function DtoGenerate<E>(entity: ObjectLiteral, entityMetadata: IApiEntity<E>, method: EApiRouteType, dtoType: EApiDtoType, dtoConfig?: IApiControllerPropertiesRouteAutoDtoConfig, currentGuard?: Type<IAuthGuard>): Type<unknown> | undefined;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Validate } from 'class-validator';
|
|
2
1
|
import '../../constant/decorator/api/function.constant.js';
|
|
3
2
|
import { PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT } from '../../constant/decorator/api/property-describe.constant.js';
|
|
4
3
|
import { DTO_GENERATE_CONSTANT } from '../../constant/utility/dto/generate.constant.js';
|
|
@@ -11,23 +10,37 @@ import '../../enum/decorator/api/function/type.enum.js';
|
|
|
11
10
|
import '../../enum/decorator/api/property/data-type.enum.js';
|
|
12
11
|
import '../../enum/decorator/api/property/date/identifier.enum.js';
|
|
13
12
|
import '../../enum/decorator/api/property/date/type.enum.js';
|
|
14
|
-
import '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
13
|
+
import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
15
14
|
import '../../enum/decorator/api/property/number-type.enum.js';
|
|
16
15
|
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
17
16
|
import { EApiRouteType } from '../../enum/decorator/api/route-type.enum.js';
|
|
18
|
-
import '
|
|
19
|
-
import '../../enum/filter-order-direction.enum.js';
|
|
20
|
-
import '../../enum/utility/error-string-action.enum.js';
|
|
21
|
-
import { HasPairedCustomSuffixesFields } from '../../validator/has-paired-custom-suffixes-fields.validator.js';
|
|
17
|
+
import { ApiExtraModels } from '@nestjs/swagger';
|
|
22
18
|
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
23
|
-
import { ErrorException } from '../error-exception.utility.js';
|
|
24
19
|
import { DtoBuildDecorator } from './build-decorator.utility.js';
|
|
20
|
+
import { DtoGenerateDynamic } from './generate-dynamic.utility.js';
|
|
25
21
|
import { DtoGenerateFilterDecorator } from './generate-filter-decorator.utility.js';
|
|
26
22
|
import { DtoGenerateGetListResponse } from './generate-get-list-response.utility.js';
|
|
27
23
|
import { DtoGetGetListQueryBaseClass } from './get-get-list-query-base-class.utility.js';
|
|
28
24
|
import { DtoIsPropertyShouldBeMarked } from './is-property-should-be-marked.utility.js';
|
|
29
25
|
import { DtoIsShouldBeGenerated } from './is-should-be-generated.utility.js';
|
|
26
|
+
import { ErrorException } from '../error-exception.utility.js';
|
|
27
|
+
import { HasPairedCustomSuffixesFieldsValidator } from '../../validator/has-paired-custom-suffixes-fields.validator.js';
|
|
28
|
+
import { Validate } from 'class-validator';
|
|
30
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Core utility for DTO generation that determines which properties should be included in the DTO.
|
|
32
|
+
* Builds decorators, handles special cases like filter queries, and generates the appropriate class
|
|
33
|
+
* based on entity metadata, route type, and DTO type.
|
|
34
|
+
* @param {ObjectLiteral} entity - The entity class or prototype
|
|
35
|
+
* @param {IApiEntity<E>} entityMetadata - The entity metadata containing column information
|
|
36
|
+
* @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
|
|
37
|
+
* @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
|
|
38
|
+
* @param {IApiControllerPropertiesRouteAutoDtoConfig} [dtoConfig] - Optional configuration for automatic DTO generation
|
|
39
|
+
* @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard for property visibility control
|
|
40
|
+
* @returns {Type<unknown> | undefined} The generated DTO class or undefined if no DTO should be generated
|
|
41
|
+
* @throws {Error} When primary key metadata is missing
|
|
42
|
+
* @template E - The entity type
|
|
43
|
+
*/
|
|
31
44
|
function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, currentGuard) {
|
|
32
45
|
if (!DtoIsShouldBeGenerated(method, dtoType)) {
|
|
33
46
|
return undefined;
|
|
@@ -35,6 +48,8 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
35
48
|
if (!entityMetadata.primaryKey?.metadata?.[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME]) {
|
|
36
49
|
throw ErrorException(`Primary key for entity ${String(entityMetadata.name)} not found in metadata storage`);
|
|
37
50
|
}
|
|
51
|
+
// eslint-disable-next-line @elsikora/typescript/no-unsafe-function-type
|
|
52
|
+
const extraModels = [];
|
|
38
53
|
const markedProperties = [];
|
|
39
54
|
for (const column of entityMetadata.columns) {
|
|
40
55
|
if (column.metadata?.[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME] && DtoIsPropertyShouldBeMarked(method, dtoType, column.name, column.metadata[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME], column.isPrimary, currentGuard)) {
|
|
@@ -95,7 +110,8 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
95
110
|
}
|
|
96
111
|
}
|
|
97
112
|
for (const property of markedProperties) {
|
|
98
|
-
const
|
|
113
|
+
const generatedDTOs = DtoGenerateDynamic(method, property.metadata, entityMetadata, dtoType, property.name, currentGuard);
|
|
114
|
+
const decorators = DtoBuildDecorator(method, property.metadata, entityMetadata, dtoType, property.name, currentGuard, generatedDTOs);
|
|
99
115
|
if (decorators) {
|
|
100
116
|
for (const [, decorator] of decorators.entries()) {
|
|
101
117
|
if (method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY) {
|
|
@@ -117,6 +133,15 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
117
133
|
}
|
|
118
134
|
}
|
|
119
135
|
}
|
|
136
|
+
if (property.metadata.type === EApiPropertyDescribeType.OBJECT && Array.isArray(property.metadata.dataType)) {
|
|
137
|
+
// @ts-ignore
|
|
138
|
+
extraModels.push(...property.metadata.dataType);
|
|
139
|
+
}
|
|
140
|
+
if (generatedDTOs) {
|
|
141
|
+
for (const [, value] of Object.entries(generatedDTOs)) {
|
|
142
|
+
extraModels.push(value);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
120
145
|
}
|
|
121
146
|
if (dtoConfig?.validators) {
|
|
122
147
|
for (const validator of dtoConfig.validators) {
|
|
@@ -135,13 +160,16 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
|
|
|
135
160
|
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
136
161
|
writable: true,
|
|
137
162
|
});
|
|
138
|
-
Validate(
|
|
163
|
+
Validate(HasPairedCustomSuffixesFieldsValidator, ["operator", ["value", "values"]])(GeneratedDTO.prototype, "object");
|
|
164
|
+
}
|
|
165
|
+
if (extraModels.length > 0) {
|
|
166
|
+
ApiExtraModels(...extraModels)(GeneratedDTO);
|
|
139
167
|
}
|
|
140
168
|
Object.defineProperty(GeneratedDTO, "name", {
|
|
141
|
-
value: `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}
|
|
169
|
+
value: `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}DTO`,
|
|
142
170
|
});
|
|
143
171
|
// @ts-ignore
|
|
144
|
-
return method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.RESPONSE ? DtoGenerateGetListResponse(entity, GeneratedDTO, `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}
|
|
172
|
+
return method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.RESPONSE ? DtoGenerateGetListResponse(entity, GeneratedDTO, `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}ItemsDTO`) : GeneratedDTO;
|
|
145
173
|
}
|
|
146
174
|
|
|
147
175
|
export { DtoGenerate };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.utility.js","sources":["../../../../../src/utility/dto/generate.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|