@elsikora/nestjs-crud-automator 1.6.4-dev.1 → 1.6.5-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 +381 -266
- package/dist/cjs/class/metadata-storage.class.js +2 -3
- package/dist/cjs/class/metadata-storage.class.js.map +1 -1
- package/dist/cjs/decorator/api/method.decorator.js +56 -56
- package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/date.decorator.js +2 -2
- package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/string.decorator.js +2 -2
- package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
- package/dist/cjs/factory/api/controller.factory.js +3 -0
- package/dist/cjs/factory/api/controller.factory.js.map +1 -1
- package/dist/cjs/package.json +8 -0
- package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js +3 -1
- package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js +1 -1
- package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/write-method.utility.js +6 -1
- package/dist/cjs/utility/api/controller/write-method.utility.js.map +1 -1
- package/dist/cjs/utility/camel-case-string.utility.js +1 -1
- package/dist/cjs/utility/camel-case-string.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-exception.utility.js +5 -5
- package/dist/cjs/utility/dto/generate-exception.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-get-list-response.utility.js +5 -0
- package/dist/cjs/utility/dto/generate-get-list-response.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate-relation-response.utility.js +1 -0
- package/dist/cjs/utility/dto/generate-relation-response.utility.js.map +1 -1
- package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js +4 -0
- package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js.map +1 -1
- package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -1
- package/dist/esm/class/api/index.d.ts +1 -0
- package/dist/esm/class/api/service-base.class.d.ts +11 -0
- package/dist/esm/class/index.d.ts +3 -0
- package/dist/esm/class/metadata-storage.class.d.ts +12 -0
- package/dist/esm/class/utility/dto/index.d.ts +2 -0
- package/dist/esm/class/utility/dto/property/factory/boolean.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/property/factory/date.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/property/factory/enum.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/property/factory/index.d.ts +6 -0
- package/dist/esm/class/utility/dto/property/factory/number.class.d.ts +7 -0
- package/dist/esm/class/utility/dto/property/factory/object.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/property/factory/relation.class.d.ts +7 -0
- package/dist/esm/class/utility/dto/property/factory/string.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/property/factory/uuid.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/property/index.d.ts +1 -0
- package/dist/esm/class/utility/dto/strategy/body.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/strategy/index.d.ts +4 -0
- package/dist/esm/class/utility/dto/strategy/query.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/strategy/request.class.d.ts +6 -0
- package/dist/esm/class/utility/dto/strategy/response.class.d.ts +6 -0
- package/dist/esm/class/utility/index.d.ts +1 -0
- package/dist/esm/constant/date.constant.d.ts +4 -0
- package/dist/esm/constant/decorator/api/controller.constant.d.ts +3 -0
- package/dist/esm/constant/decorator/api/function.constant.d.ts +4 -0
- package/dist/esm/constant/decorator/api/index.d.ts +3 -0
- package/dist/esm/constant/decorator/api/property-describe.constant.d.ts +3 -0
- package/dist/esm/constant/decorator/index.d.ts +1 -0
- package/dist/esm/constant/dto/exception.constant.d.ts +6 -0
- package/dist/esm/constant/dto/index.d.ts +3 -0
- package/dist/esm/constant/dto/list.constant.d.ts +7 -0
- package/dist/esm/constant/dto/transformer-value.constant.d.ts +7 -0
- package/dist/esm/constant/factory/dto/get-list-query.constant.d.ts +6 -0
- package/dist/esm/constant/factory/dto/index.d.ts +1 -0
- package/dist/esm/constant/factory/index.d.ts +1 -0
- package/dist/esm/constant/index.d.ts +6 -0
- package/dist/esm/constant/interface/api/filter.constant.d.ts +3 -0
- package/dist/esm/constant/interface/api/index.d.ts +2 -0
- package/dist/esm/constant/interface/api/property/index.d.ts +2 -0
- package/dist/esm/constant/interface/api/property/string.constant.d.ts +6 -0
- package/dist/esm/constant/interface/api/property/wallet.constant.d.ts +5 -0
- package/dist/esm/constant/interface/index.d.ts +1 -0
- package/dist/esm/constant/number.constant.d.ts +18 -0
- package/dist/esm/constant/utility/dto/constant.d.ts +6 -0
- package/dist/esm/constant/utility/dto/generate.constant.d.ts +4 -0
- package/dist/esm/decorator/api/controller.decorator.d.ts +3 -0
- package/dist/esm/decorator/api/function/create.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/function/decorator.d.ts +3 -0
- package/dist/esm/decorator/api/function/delete.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/function/get-list.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/function/get-many.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/function/get.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/function/index.d.ts +7 -0
- package/dist/esm/decorator/api/function/update.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/index.d.ts +5 -0
- package/dist/esm/decorator/api/method.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/boolean.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/date.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/describe.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/enum.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/index.d.ts +7 -0
- package/dist/esm/decorator/api/property/number.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/object.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/string.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/property/uuid.decorator.d.ts +2 -0
- package/dist/esm/decorator/api/service.decorator.d.ts +3 -0
- package/dist/esm/decorator/index.d.ts +1 -0
- package/dist/esm/enum/decorator/api/action.enum.d.ts +30 -0
- package/dist/esm/enum/decorator/api/authentication-type.enum.d.ts +6 -0
- package/dist/esm/enum/decorator/api/controller/index.d.ts +2 -0
- package/dist/esm/enum/decorator/api/controller/load-relations-strategy.enum.d.ts +4 -0
- package/dist/esm/enum/decorator/api/controller/request-transformer-type.enum.d.ts +4 -0
- package/dist/esm/enum/decorator/api/dto-type.enum.d.ts +6 -0
- package/dist/esm/enum/decorator/api/function/index.d.ts +1 -0
- package/dist/esm/enum/decorator/api/function/type.enum.d.ts +8 -0
- package/dist/esm/enum/decorator/api/index.d.ts +7 -0
- package/dist/esm/enum/decorator/api/property/data-type.enum.d.ts +18 -0
- package/dist/esm/enum/decorator/api/property/date/identifier.enum.d.ts +14 -0
- package/dist/esm/enum/decorator/api/property/date/index.d.ts +2 -0
- package/dist/esm/enum/decorator/api/property/date/type.enum.d.ts +5 -0
- package/dist/esm/enum/decorator/api/property/desribe-type.enum.d.ts +10 -0
- package/dist/esm/enum/decorator/api/property/index.d.ts +5 -0
- package/dist/esm/enum/decorator/api/property/number-type.enum.d.ts +4 -0
- package/dist/esm/enum/decorator/api/property/string-type.enum.d.ts +11 -0
- package/dist/esm/enum/decorator/api/route-type.enum.d.ts +8 -0
- package/dist/esm/enum/decorator/index.d.ts +1 -0
- package/dist/esm/enum/exception.enum.d.ts +30 -0
- package/dist/esm/enum/filter-operation.enum.d.ts +110 -0
- package/dist/esm/enum/filter-order-direction.enum.d.ts +4 -0
- package/dist/esm/enum/index.d.ts +4 -0
- package/dist/esm/enum/utility/error-string-action.enum.d.ts +102 -0
- package/dist/esm/enum/utility/index.d.ts +1 -0
- package/dist/esm/external/tslib/tslib.es6.js +35 -0
- package/dist/esm/external/tslib/tslib.es6.js.map +1 -0
- package/dist/esm/factory/api/controller.factory.d.ts +18 -0
- package/dist/esm/factory/api/index.d.ts +1 -0
- package/dist/esm/factory/index.d.ts +1 -0
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/interceptor/correlation-id-response-body.interceptor.d.ts +5 -0
- package/dist/esm/interceptor/index.d.ts +1 -0
- package/dist/esm/interface/api-authentication-request.interface.d.ts +4 -0
- package/dist/esm/interface/api-base-entity.interface.d.ts +4 -0
- package/dist/esm/interface/api-dto-validator.interface.d.ts +4 -0
- package/dist/esm/interface/api-request-validator.interface.d.ts +7 -0
- package/dist/esm/interface/class/dto/index.d.ts +1 -0
- package/dist/esm/interface/class/dto/strategy.interface.d.ts +5 -0
- package/dist/esm/interface/class/index.d.ts +2 -0
- package/dist/esm/interface/class/metadata-entry.interface.d.ts +2 -0
- package/dist/esm/interface/decorator/api/controller/base.interface.d.ts +4 -0
- package/dist/esm/interface/decorator/api/controller/index.d.ts +3 -0
- package/dist/esm/interface/decorator/api/controller/properties/index.d.ts +1 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/authentication.interface.d.ts +9 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/auto-dto-config.interface.d.ts +4 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base-request.interface.d.ts +8 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base-response.interface.d.ts +7 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base.interface.d.ts +11 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/index.d.ts +7 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/with-auto-dto.interface.d.ts +7 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/with-dto.interface.d.ts +7 -0
- package/dist/esm/interface/decorator/api/controller/properties.interface.d.ts +11 -0
- package/dist/esm/interface/decorator/api/function/create-executor-properties.interface.d.ts +8 -0
- package/dist/esm/interface/decorator/api/function/delete-executor-properties.interface.d.ts +9 -0
- package/dist/esm/interface/decorator/api/function/get-executor-properties.interface.d.ts +8 -0
- package/dist/esm/interface/decorator/api/function/get-list-executor-properties.interface.d.ts +8 -0
- package/dist/esm/interface/decorator/api/function/get-many-executor-properties.interface.d.ts +8 -0
- package/dist/esm/interface/decorator/api/function/index.d.ts +7 -0
- package/dist/esm/interface/decorator/api/function/properties.interface.d.ts +4 -0
- package/dist/esm/interface/decorator/api/function/update-executor-properties.interface.d.ts +10 -0
- package/dist/esm/interface/decorator/api/get-list-response-result.interface.d.ts +7 -0
- package/dist/esm/interface/decorator/api/index.d.ts +5 -0
- package/dist/esm/interface/decorator/api/method/index.d.ts +2 -0
- package/dist/esm/interface/decorator/api/method/properties.interface.d.ts +17 -0
- package/dist/esm/interface/decorator/api/method/throttler-properties.interface.d.ts +4 -0
- package/dist/esm/interface/decorator/api/response-type.interface.d.ts +9 -0
- package/dist/esm/interface/decorator/index.d.ts +1 -0
- package/dist/esm/interface/dto-generate-factory.interface.d.ts +6 -0
- package/dist/esm/interface/entity/column.interface.d.ts +7 -0
- package/dist/esm/interface/entity/index.d.ts +2 -0
- package/dist/esm/interface/entity/interface.d.ts +7 -0
- package/dist/esm/interface/index.d.ts +8 -0
- package/dist/esm/interface/utility/api/controller/index.d.ts +1 -0
- package/dist/esm/interface/utility/api/controller/primary-column.interface.d.ts +4 -0
- package/dist/esm/interface/utility/api/index.d.ts +1 -0
- package/dist/esm/interface/utility/error-string-properties.interface.d.ts +5 -0
- package/dist/esm/interface/utility/get-entity-columns-properties.interface.d.ts +6 -0
- package/dist/esm/interface/utility/index.d.ts +2 -0
- package/dist/esm/package.json +8 -0
- package/dist/esm/src/class/api/service-base.class.js +23 -0
- package/dist/esm/src/class/api/service-base.class.js.map +1 -0
- package/dist/esm/src/class/metadata-storage.class.js +47 -0
- package/dist/esm/src/class/metadata-storage.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/boolean.class.js +15 -0
- package/dist/esm/src/class/utility/dto/property/factory/boolean.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/date.class.js +15 -0
- package/dist/esm/src/class/utility/dto/property/factory/date.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/enum.class.js +15 -0
- package/dist/esm/src/class/utility/dto/property/factory/enum.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/number.class.js +32 -0
- package/dist/esm/src/class/utility/dto/property/factory/number.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/object.class.js +16 -0
- package/dist/esm/src/class/utility/dto/property/factory/object.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/relation.class.js +29 -0
- package/dist/esm/src/class/utility/dto/property/factory/relation.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/string.class.js +15 -0
- package/dist/esm/src/class/utility/dto/property/factory/string.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/property/factory/uuid.class.js +11 -0
- package/dist/esm/src/class/utility/dto/property/factory/uuid.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/strategy/body.class.js +47 -0
- package/dist/esm/src/class/utility/dto/strategy/body.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/strategy/query.class.js +44 -0
- package/dist/esm/src/class/utility/dto/strategy/query.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/strategy/request.class.js +47 -0
- package/dist/esm/src/class/utility/dto/strategy/request.class.js.map +1 -0
- package/dist/esm/src/class/utility/dto/strategy/response.class.js +47 -0
- package/dist/esm/src/class/utility/dto/strategy/response.class.js.map +1 -0
- package/dist/esm/src/constant/date.constant.js +9 -0
- package/dist/esm/src/constant/date.constant.js.map +1 -0
- package/dist/esm/src/constant/decorator/api/controller.constant.js +7 -0
- package/dist/esm/src/constant/decorator/api/controller.constant.js.map +1 -0
- package/dist/esm/src/constant/decorator/api/function.constant.js +24 -0
- package/dist/esm/src/constant/decorator/api/function.constant.js.map +1 -0
- package/dist/esm/src/constant/decorator/api/property-describe.constant.js +7 -0
- package/dist/esm/src/constant/decorator/api/property-describe.constant.js.map +1 -0
- package/dist/esm/src/constant/dto/exception.constant.js +13 -0
- package/dist/esm/src/constant/dto/exception.constant.js.map +1 -0
- package/dist/esm/src/constant/dto/list.constant.js +13 -0
- package/dist/esm/src/constant/dto/list.constant.js.map +1 -0
- package/dist/esm/src/constant/dto/transformer-value.constant.js +15 -0
- package/dist/esm/src/constant/dto/transformer-value.constant.js.map +1 -0
- package/dist/esm/src/constant/factory/dto/get-list-query.constant.js +13 -0
- package/dist/esm/src/constant/factory/dto/get-list-query.constant.js.map +1 -0
- package/dist/esm/src/constant/interface/api/filter.constant.js +7 -0
- package/dist/esm/src/constant/interface/api/filter.constant.js.map +1 -0
- package/dist/esm/src/constant/interface/api/property/string.constant.js +11 -0
- package/dist/esm/src/constant/interface/api/property/string.constant.js.map +1 -0
- package/dist/esm/src/constant/interface/api/property/wallet.constant.js +11 -0
- package/dist/esm/src/constant/interface/api/property/wallet.constant.js.map +1 -0
- package/dist/esm/src/constant/number.constant.js +37 -0
- package/dist/esm/src/constant/number.constant.js.map +1 -0
- package/dist/esm/src/constant/utility/dto/constant.js +53 -0
- package/dist/esm/src/constant/utility/dto/constant.js.map +1 -0
- package/dist/esm/src/constant/utility/dto/generate.constant.js +9 -0
- package/dist/esm/src/constant/utility/dto/generate.constant.js.map +1 -0
- package/dist/esm/src/decorator/api/controller.decorator.js +16 -0
- package/dist/esm/src/decorator/api/controller.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/function/create.decorator.js +51 -0
- package/dist/esm/src/decorator/api/function/create.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/function/decorator.js +69 -0
- package/dist/esm/src/decorator/api/function/decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/function/delete.decorator.js +69 -0
- package/dist/esm/src/decorator/api/function/delete.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/function/get-list.decorator.js +58 -0
- package/dist/esm/src/decorator/api/function/get-list.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/function/get-many.decorator.js +55 -0
- package/dist/esm/src/decorator/api/function/get-many.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/function/get.decorator.js +55 -0
- package/dist/esm/src/decorator/api/function/get.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/function/update.decorator.js +80 -0
- package/dist/esm/src/decorator/api/function/update.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/method.decorator.js +349 -0
- package/dist/esm/src/decorator/api/method.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/boolean.decorator.js +177 -0
- package/dist/esm/src/decorator/api/property/boolean.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/date.decorator.js +204 -0
- package/dist/esm/src/decorator/api/property/date.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/describe.decorator.js +29 -0
- package/dist/esm/src/decorator/api/property/describe.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/enum.decorator.js +103 -0
- package/dist/esm/src/decorator/api/property/enum.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/number.decorator.js +213 -0
- package/dist/esm/src/decorator/api/property/number.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/object.decorator.js +102 -0
- package/dist/esm/src/decorator/api/property/object.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/string.decorator.js +232 -0
- package/dist/esm/src/decorator/api/property/string.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/property/uuid.decorator.js +118 -0
- package/dist/esm/src/decorator/api/property/uuid.decorator.js.map +1 -0
- package/dist/esm/src/decorator/api/service.decorator.js +161 -0
- package/dist/esm/src/decorator/api/service.decorator.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/action.enum.js +34 -0
- package/dist/esm/src/enum/decorator/api/action.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/authentication-type.enum.js +10 -0
- package/dist/esm/src/enum/decorator/api/authentication-type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/controller/load-relations-strategy.enum.js +8 -0
- package/dist/esm/src/enum/decorator/api/controller/load-relations-strategy.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/controller/request-transformer-type.enum.js +8 -0
- package/dist/esm/src/enum/decorator/api/controller/request-transformer-type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/dto-type.enum.js +10 -0
- package/dist/esm/src/enum/decorator/api/dto-type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/function/type.enum.js +12 -0
- package/dist/esm/src/enum/decorator/api/function/type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/property/data-type.enum.js +22 -0
- package/dist/esm/src/enum/decorator/api/property/data-type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/property/date/identifier.enum.js +18 -0
- package/dist/esm/src/enum/decorator/api/property/date/identifier.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/property/date/type.enum.js +11 -0
- package/dist/esm/src/enum/decorator/api/property/date/type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/property/desribe-type.enum.js +14 -0
- package/dist/esm/src/enum/decorator/api/property/desribe-type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/property/number-type.enum.js +10 -0
- package/dist/esm/src/enum/decorator/api/property/number-type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/property/string-type.enum.js +17 -0
- package/dist/esm/src/enum/decorator/api/property/string-type.enum.js.map +1 -0
- package/dist/esm/src/enum/decorator/api/route-type.enum.js +12 -0
- package/dist/esm/src/enum/decorator/api/route-type.enum.js.map +1 -0
- package/dist/esm/src/enum/exception.enum.js +34 -0
- package/dist/esm/src/enum/exception.enum.js.map +1 -0
- package/dist/esm/src/enum/filter-operation.enum.js +123 -0
- package/dist/esm/src/enum/filter-operation.enum.js.map +1 -0
- package/dist/esm/src/enum/filter-order-direction.enum.js +8 -0
- package/dist/esm/src/enum/filter-order-direction.enum.js.map +1 -0
- package/dist/esm/src/enum/utility/error-string-action.enum.js +106 -0
- package/dist/esm/src/enum/utility/error-string-action.enum.js.map +1 -0
- package/dist/esm/src/factory/api/controller.factory.js +216 -0
- package/dist/esm/src/factory/api/controller.factory.js.map +1 -0
- package/dist/esm/src/index.js +82 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/interceptor/correlation-id-response-body.interceptor.js +76 -0
- package/dist/esm/src/interceptor/correlation-id-response-body.interceptor.js.map +1 -0
- package/dist/esm/src/utility/api/controller/apply-decorators.utility.js +81 -0
- package/dist/esm/src/utility/api/controller/apply-decorators.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/apply-metadata.utility.js +76 -0
- package/dist/esm/src/utility/api/controller/apply-metadata.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/get-list/transform-filter.utility.js +48 -0
- package/dist/esm/src/utility/api/controller/get-list/transform-filter.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/get-list/transform-operation.utility.js +80 -0
- package/dist/esm/src/utility/api/controller/get-list/transform-operation.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/get-method-name.utility.js +9 -0
- package/dist/esm/src/utility/api/controller/get-method-name.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/get-primary-column.utility.js +13 -0
- package/dist/esm/src/utility/api/controller/get-primary-column.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/handle-request-relations.utility.js +70 -0
- package/dist/esm/src/utility/api/controller/handle-request-relations.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/transform-data.utility.js +147 -0
- package/dist/esm/src/utility/api/controller/transform-data.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/validate-request.utility.js +16 -0
- package/dist/esm/src/utility/api/controller/validate-request.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/write-dto-swagger.utility.js +77 -0
- package/dist/esm/src/utility/api/controller/write-dto-swagger.utility.js.map +1 -0
- package/dist/esm/src/utility/api/controller/write-method.utility.js +18 -0
- package/dist/esm/src/utility/api/controller/write-method.utility.js.map +1 -0
- package/dist/esm/src/utility/api/filter-order-by-from-entity.utility.js +46 -0
- package/dist/esm/src/utility/api/filter-order-by-from-entity.utility.js.map +1 -0
- package/dist/esm/src/utility/camel-case-string.utility.js +29 -0
- package/dist/esm/src/utility/camel-case-string.utility.js.map +1 -0
- package/dist/esm/src/utility/capitalize-string.utility.js +6 -0
- package/dist/esm/src/utility/capitalize-string.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/analize.utility.js +25 -0
- package/dist/esm/src/utility/dto/analize.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/build-decorator.utility.js +49 -0
- package/dist/esm/src/utility/dto/build-decorator.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/generate-decorator.utility.js +13 -0
- package/dist/esm/src/utility/dto/generate-decorator.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/generate-exception.utility.js +96 -0
- package/dist/esm/src/utility/dto/generate-exception.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/generate-filter-decorator.utility.js +50 -0
- package/dist/esm/src/utility/dto/generate-filter-decorator.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/generate-get-list-response.utility.js +102 -0
- package/dist/esm/src/utility/dto/generate-get-list-response.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/generate-relation-response.utility.js +19 -0
- package/dist/esm/src/utility/dto/generate-relation-response.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/generate.utility.js +131 -0
- package/dist/esm/src/utility/dto/generate.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/get-decorator-config.utility.js +18 -0
- package/dist/esm/src/utility/dto/get-decorator-config.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/get-get-list-query-base-class.utility.js +95 -0
- package/dist/esm/src/utility/dto/get-get-list-query-base-class.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/handle-date-property.utility.js +33 -0
- package/dist/esm/src/utility/dto/handle-date-property.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/is-property-exposed-for-guard.utility.js +13 -0
- package/dist/esm/src/utility/dto/is-property-exposed-for-guard.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/is-property-should-be-marked.utility.js +44 -0
- package/dist/esm/src/utility/dto/is-property-should-be-marked.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/is-should-be-generated.utility.js +39 -0
- package/dist/esm/src/utility/dto/is-should-be-generated.utility.js.map +1 -0
- package/dist/esm/src/utility/dto/validate-property-config.utility.js +4 -0
- package/dist/esm/src/utility/dto/validate-property-config.utility.js.map +1 -0
- package/dist/esm/src/utility/error-exception.utility.js +6 -0
- package/dist/esm/src/utility/error-exception.utility.js.map +1 -0
- package/dist/esm/src/utility/error-string.utility.js +6 -0
- package/dist/esm/src/utility/error-string.utility.js.map +1 -0
- package/dist/esm/src/utility/generate-entity-information.utility.js +76 -0
- package/dist/esm/src/utility/generate-entity-information.utility.js.map +1 -0
- package/dist/esm/src/utility/get-entity-columns.utility.js +20 -0
- package/dist/esm/src/utility/get-entity-columns.utility.js.map +1 -0
- package/dist/esm/src/utility/is-error-of-type.utility.js +66 -0
- package/dist/esm/src/utility/is-error-of-type.utility.js.map +1 -0
- package/dist/esm/src/validator/all-or-none-of-listed-properties.validator.js +23 -0
- package/dist/esm/src/validator/all-or-none-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/src/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js +33 -0
- package/dist/esm/src/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/src/validator/has-at-least-one-of-listed-properties.validator.js +29 -0
- package/dist/esm/src/validator/has-at-least-one-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/src/validator/has-at-least-one-property.validator.js +17 -0
- package/dist/esm/src/validator/has-at-least-one-property.validator.js.map +1 -0
- package/dist/esm/src/validator/has-paired-custom-suffixes-fields.validator.js +214 -0
- package/dist/esm/src/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -0
- package/dist/esm/src/validator/is-regular-expression.validator.js +25 -0
- package/dist/esm/src/validator/is-regular-expression.validator.js.map +1 -0
- package/dist/esm/src/validator/only-one-of-listed-properties.validator.js +28 -0
- package/dist/esm/src/validator/only-one-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/type/api-request-transformer.type.d.ts +15 -0
- package/dist/esm/type/class/api-exception.type.d.ts +2 -0
- package/dist/esm/type/class/controller/index.d.ts +1 -0
- package/dist/esm/type/class/controller/method.type.d.ts +5 -0
- package/dist/esm/type/class/index.d.ts +3 -0
- package/dist/esm/type/class/metadata.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/controller/constructor.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/controller/get-list-query.type.d.ts +8 -0
- package/dist/esm/type/decorator/api/controller/index.d.ts +5 -0
- package/dist/esm/type/decorator/api/controller/properties/index.d.ts +1 -0
- package/dist/esm/type/decorator/api/controller/properties/route/base-request-relations.type.d.ts +18 -0
- package/dist/esm/type/decorator/api/controller/properties/route/base-request-transformers.type.d.ts +10 -0
- package/dist/esm/type/decorator/api/controller/properties/route/base-response-transformers.type.d.ts +10 -0
- package/dist/esm/type/decorator/api/controller/properties/route/index.d.ts +3 -0
- package/dist/esm/type/decorator/api/controller/properties-route.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/controller/transformer-config.type.d.ts +8 -0
- package/dist/esm/type/decorator/api/filter/allowed-types.type.d.ts +1 -0
- package/dist/esm/type/decorator/api/filter/extracted-allowed-types.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/filter/field-selector.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/filter/index.d.ts +4 -0
- package/dist/esm/type/decorator/api/filter/order-by.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/function/create-properties.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/function/delete-criteria.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/function/get-list-properties-where.type.d.ts +7 -0
- package/dist/esm/type/decorator/api/function/get-list-properties.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/function/get-many.properties.d.ts +2 -0
- package/dist/esm/type/decorator/api/function/get-properties.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/function/index.d.ts +9 -0
- package/dist/esm/type/decorator/api/function/properties.type.d.ts +7 -0
- package/dist/esm/type/decorator/api/function/update-criteria.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/function/update-properties.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/index.d.ts +5 -0
- package/dist/esm/type/decorator/api/property/base/array/index.d.ts +2 -0
- package/dist/esm/type/decorator/api/property/base/array/optional-properties.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/property/base/array/required-properties.type.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/base/index.d.ts +4 -0
- package/dist/esm/type/decorator/api/property/base/properties.type.d.ts +9 -0
- package/dist/esm/type/decorator/api/property/base/request-properties.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/property/base/response-properties.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/property/date-properties.type.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/describe/array/index.d.ts +2 -0
- package/dist/esm/type/decorator/api/property/describe/array/optional-properties.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/property/describe/array/required-properties.type.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/describe/base-properties.type.d.ts +5 -0
- package/dist/esm/type/decorator/api/property/describe/boolean-properties.type.d.ts +7 -0
- package/dist/esm/type/decorator/api/property/describe/date-properties.type.d.ts +8 -0
- package/dist/esm/type/decorator/api/property/describe/dto/body-properties.type.d.ts +5 -0
- package/dist/esm/type/decorator/api/property/describe/dto/guard-properties.type.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/describe/dto/index.d.ts +5 -0
- package/dist/esm/type/decorator/api/property/describe/dto/properties.type.d.ts +11 -0
- package/dist/esm/type/decorator/api/property/describe/dto/query/get-list-properties.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/property/describe/dto/query/index.d.ts +2 -0
- package/dist/esm/type/decorator/api/property/describe/dto/query/properties.type.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/describe/dto/request-properties.type.d.ts +5 -0
- package/dist/esm/type/decorator/api/property/describe/dto/response-properties.type.d.ts +5 -0
- package/dist/esm/type/decorator/api/property/describe/enum-properties.type.d.ts +9 -0
- package/dist/esm/type/decorator/api/property/describe/example-properties.type.d.ts +7 -0
- package/dist/esm/type/decorator/api/property/describe/index.d.ts +13 -0
- package/dist/esm/type/decorator/api/property/describe/number-properties.type.d.ts +12 -0
- package/dist/esm/type/decorator/api/property/describe/object-properties.type.d.ts +12 -0
- package/dist/esm/type/decorator/api/property/describe/properties/base-dto-properties.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/property/describe/properties/base-properties.type.d.ts +10 -0
- package/dist/esm/type/decorator/api/property/describe/properties/index.d.ts +2 -0
- package/dist/esm/type/decorator/api/property/describe/properties.type.d.ts +9 -0
- package/dist/esm/type/decorator/api/property/describe/relation-properties.type.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/describe/string-properties.type.d.ts +12 -0
- package/dist/esm/type/decorator/api/property/describe/uuid-properties.type.d.ts +7 -0
- package/dist/esm/type/decorator/api/property/enum-properties.type.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/index.d.ts +6 -0
- package/dist/esm/type/decorator/api/property/number-properties.type.d.ts +9 -0
- package/dist/esm/type/decorator/api/property/object-properties.type.d.ts +8 -0
- package/dist/esm/type/decorator/api/property/string-properties.type.d.ts +9 -0
- package/dist/esm/type/decorator/api/property/uuid-properties.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/service/index.d.ts +2 -0
- package/dist/esm/type/decorator/api/service/keys.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/service/properties.type.d.ts +3 -0
- package/dist/esm/type/decorator/index.d.ts +1 -0
- package/dist/esm/type/factory/api/controller/index.d.ts +4 -0
- package/dist/esm/type/factory/api/controller/method-map.type.d.ts +12 -0
- package/dist/esm/type/factory/api/controller/method-name-map.type.d.ts +5 -0
- package/dist/esm/type/factory/api/controller/method-name.type.d.ts +4 -0
- package/dist/esm/type/factory/api/controller/target-methods.type.d.ts +9 -0
- package/dist/esm/type/factory/api/index.d.ts +1 -0
- package/dist/esm/type/factory/index.d.ts +1 -0
- package/dist/esm/type/index.d.ts +5 -0
- package/dist/esm/type/utility/api/controller/index.d.ts +1 -0
- package/dist/esm/type/utility/api/controller/transform-data/data.type.d.ts +6 -0
- package/dist/esm/type/utility/api/controller/transform-data/index.d.ts +3 -0
- package/dist/esm/type/utility/api/controller/transform-data/is-validation-properties.type.d.ts +3 -0
- package/dist/esm/type/utility/api/controller/transform-data/object-to-transform.type.d.ts +9 -0
- package/dist/esm/type/utility/api/index.d.ts +1 -0
- package/dist/esm/type/utility/capitalize-string.type.d.ts +1 -0
- package/dist/esm/type/utility/date-keys.type.d.ts +2 -0
- package/dist/esm/type/utility/date-range-keys.type.d.ts +4 -0
- package/dist/esm/type/utility/dto/generate-allowed-combination.type.d.ts +9 -0
- package/dist/esm/type/utility/dto/generate-is-allowed-combination.type.d.ts +3 -0
- package/dist/esm/type/utility/dto/index.d.ts +2 -0
- package/dist/esm/type/utility/filter-keys.type.d.ts +7 -0
- package/dist/esm/type/utility/index.d.ts +7 -0
- package/dist/esm/type/utility/non-date-keys.type.d.ts +2 -0
- package/dist/esm/utility/api/controller/apply-decorators.utility.d.ts +4 -0
- package/dist/esm/utility/api/controller/apply-metadata.utility.d.ts +4 -0
- package/dist/esm/utility/api/controller/get-list/index.d.ts +2 -0
- package/dist/esm/utility/api/controller/get-list/transform-filter.utility.d.ts +3 -0
- package/dist/esm/utility/api/controller/get-list/transform-operation.utility.d.ts +3 -0
- package/dist/esm/utility/api/controller/get-method-name.utility.d.ts +2 -0
- package/dist/esm/utility/api/controller/get-primary-column.utility.d.ts +3 -0
- package/dist/esm/utility/api/controller/handle-request-relations.utility.d.ts +4 -0
- package/dist/esm/utility/api/controller/index.d.ts +9 -0
- package/dist/esm/utility/api/controller/transform-data.utility.d.ts +4 -0
- package/dist/esm/utility/api/controller/validate-request.utility.d.ts +3 -0
- package/dist/esm/utility/api/controller/write-dto-swagger.utility.d.ts +4 -0
- package/dist/esm/utility/api/controller/write-method.utility.d.ts +3 -0
- package/dist/esm/utility/api/filter-order-by-from-entity.utility.d.ts +6 -0
- package/dist/esm/utility/api/index.d.ts +2 -0
- package/dist/esm/utility/camel-case-string.utility.d.ts +1 -0
- package/dist/esm/utility/capitalize-string.utility.d.ts +1 -0
- package/dist/esm/utility/dto/analize.utility.d.ts +2 -0
- package/dist/esm/utility/dto/build-decorator.utility.d.ts +6 -0
- package/dist/esm/utility/dto/generate-decorator.utility.d.ts +4 -0
- package/dist/esm/utility/dto/generate-exception.utility.d.ts +2 -0
- package/dist/esm/utility/dto/generate-filter-decorator.utility.d.ts +3 -0
- package/dist/esm/utility/dto/generate-get-list-response.utility.d.ts +4 -0
- package/dist/esm/utility/dto/generate-relation-response.utility.d.ts +4 -0
- package/dist/esm/utility/dto/generate.utility.d.ts +6 -0
- package/dist/esm/utility/dto/get-decorator-config.utility.d.ts +3 -0
- package/dist/esm/utility/dto/get-get-list-query-base-class.utility.d.ts +5 -0
- package/dist/esm/utility/dto/handle-date-property.utility.d.ts +5 -0
- package/dist/esm/utility/dto/index.d.ts +12 -0
- package/dist/esm/utility/dto/is-property-exposed-for-guard.utility.d.ts +5 -0
- package/dist/esm/utility/dto/is-property-should-be-marked.utility.d.ts +5 -0
- package/dist/esm/utility/dto/is-should-be-generated.utility.d.ts +2 -0
- package/dist/esm/utility/dto/validate-property-config.utility.d.ts +2 -0
- package/dist/esm/utility/error-exception.utility.d.ts +1 -0
- package/dist/esm/utility/error-string.utility.d.ts +2 -0
- package/dist/esm/utility/generate-entity-information.utility.d.ts +2 -0
- package/dist/esm/utility/get-entity-columns.utility.d.ts +2 -0
- package/dist/esm/utility/index.d.ts +9 -0
- package/dist/esm/utility/is-error-of-type.utility.d.ts +2 -0
- package/dist/esm/validator/all-or-none-of-listed-properties.validator.d.ts +5 -0
- package/dist/esm/validator/has-at-least-one-and-only-one-of-listed-properties.validator.d.ts +5 -0
- package/dist/esm/validator/has-at-least-one-of-listed-properties.validator.d.ts +5 -0
- package/dist/esm/validator/has-at-least-one-property.validator.d.ts +5 -0
- package/dist/esm/validator/has-paired-custom-suffixes-fields.validator.d.ts +7 -0
- package/dist/esm/validator/index.d.ts +6 -0
- package/dist/esm/validator/is-regular-expression.validator.d.ts +4 -0
- package/dist/esm/validator/only-one-of-listed-properties.validator.d.ts +5 -0
- package/package.json +22 -14
- package/dist/package.json +0 -97
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capitalize-string.utility.js","sources":["../../../../../src/utility/capitalize-string.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,SAAU,gBAAgB,CAAC,MAAc,EAAA;AAC9C,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACtE;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MetadataStorage } from '../../class/metadata-storage.class.js';
|
|
2
|
+
import '../../enum/decorator/api/action.enum.js';
|
|
3
|
+
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
4
|
+
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
5
|
+
import '../../enum/decorator/api/controller/request-transformer-type.enum.js';
|
|
6
|
+
import '../../enum/decorator/api/dto-type.enum.js';
|
|
7
|
+
import '../../enum/decorator/api/function/type.enum.js';
|
|
8
|
+
import '../../enum/decorator/api/property/data-type.enum.js';
|
|
9
|
+
import '../../enum/decorator/api/property/date/identifier.enum.js';
|
|
10
|
+
import '../../enum/decorator/api/property/date/type.enum.js';
|
|
11
|
+
import '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
12
|
+
import '../../enum/decorator/api/property/number-type.enum.js';
|
|
13
|
+
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
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
|
+
|
|
19
|
+
function analyzeEntityMetadata(entity) {
|
|
20
|
+
const storage = MetadataStorage.getInstance();
|
|
21
|
+
storage.getMetadata(entity.name ?? "UnknownResource");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { analyzeEntityMetadata };
|
|
25
|
+
//# sourceMappingURL=analize.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analize.utility.js","sources":["../../../../../../src/utility/dto/analize.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAKM,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;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
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 { EApiDtoType } from '../../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 { 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
|
+
import { DtoGenerateDecorator } from './generate-decorator.utility.js';
|
|
18
|
+
import { DtoGetDecoratorConfig } from './get-decorator-config.utility.js';
|
|
19
|
+
import { DtoHandleDateProperty } from './handle-date-property.utility.js';
|
|
20
|
+
import { DtoIsPropertyExposedForGuard } from './is-property-exposed-for-guard.utility.js';
|
|
21
|
+
|
|
22
|
+
function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyName, currentGuard) {
|
|
23
|
+
const properties = propertyMetadata.properties?.[method];
|
|
24
|
+
if (properties?.[dtoType]?.isEnabled === false || (properties?.[dtoType]?.isResponse && properties?.[dtoType]?.isExpose === false)) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
if (!DtoIsPropertyExposedForGuard(method, propertyMetadata, dtoType, currentGuard)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
if (propertyMetadata.type === EApiPropertyDescribeType.DATE) {
|
|
31
|
+
const dateMetadata = propertyMetadata;
|
|
32
|
+
if ((method === EApiRouteType.UPDATE || method === EApiRouteType.PARTIAL_UPDATE) && dtoType === EApiDtoType.BODY) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
if (method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY) {
|
|
36
|
+
const dateProperties = DtoHandleDateProperty(propertyName, dateMetadata.identifier);
|
|
37
|
+
return dateProperties.map((property) => {
|
|
38
|
+
const newMetadata = { ...dateMetadata, identifier: property.identifier };
|
|
39
|
+
const config = DtoGetDecoratorConfig(method, newMetadata, dtoType, property.name);
|
|
40
|
+
return DtoGenerateDecorator(newMetadata, entity, config, method, dtoType, propertyName);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const config = DtoGetDecoratorConfig(method, propertyMetadata, dtoType);
|
|
45
|
+
return [DtoGenerateDecorator(propertyMetadata, entity, config, method, dtoType, propertyName)];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { DtoBuildDecorator };
|
|
49
|
+
//# sourceMappingURL=build-decorator.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-decorator.utility.js","sources":["../../../../../../src/utility/dto/build-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAegB,SAAA,iBAAiB,CAAoD,MAAS,EAAE,gBAAgD,EAAE,MAAqB,EAAE,OAAU,EAAE,YAAoB,EAAE,YAA+B,EAAA;IAKzO,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,CAAC,CAAC;AAC/F;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DTO_UTILITY_CONSTANT } from '../../constant/utility/dto/constant.js';
|
|
2
|
+
import { ErrorException } from '../error-exception.utility.js';
|
|
3
|
+
|
|
4
|
+
function DtoGenerateDecorator(metadata, entity, config, method, dtoType, propertyName) {
|
|
5
|
+
const factory = DTO_UTILITY_CONSTANT.PROPERTY_DECORATOR_FACTORIES[metadata.type];
|
|
6
|
+
if (!factory) {
|
|
7
|
+
throw ErrorException(`Unknown property type ${metadata.type}`);
|
|
8
|
+
}
|
|
9
|
+
return factory.create(metadata, entity, config, method, dtoType, propertyName);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { DtoGenerateDecorator };
|
|
13
|
+
//# 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":";;;AAOgB,SAAA,oBAAoB,CAAI,QAAwC,EAAE,MAAqB,EAAE,MAAyC,EAAE,MAAqB,EAAE,OAAoB,EAAE,YAAoB,EAAA;IACpN,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,CAAC;AAC/E;;;;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { __decorate, __metadata } from '../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { HttpStatus } from '@nestjs/common';
|
|
3
|
+
import { DATE_CONSTANT } from '../../constant/date.constant.js';
|
|
4
|
+
import '../../constant/decorator/api/function.constant.js';
|
|
5
|
+
import { EXCEPTION_DTO_CONSTANT } from '../../constant/dto/exception.constant.js';
|
|
6
|
+
import { NUMBER_CONSTANT } from '../../constant/number.constant.js';
|
|
7
|
+
import { ApiPropertyEnum } from '../../decorator/api/property/enum.decorator.js';
|
|
8
|
+
import { ApiPropertyNumber } from '../../decorator/api/property/number.decorator.js';
|
|
9
|
+
import { ApiPropertyString } from '../../decorator/api/property/string.decorator.js';
|
|
10
|
+
import { ApiPropertyUUID } from '../../decorator/api/property/uuid.decorator.js';
|
|
11
|
+
import '../../enum/decorator/api/action.enum.js';
|
|
12
|
+
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
13
|
+
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
14
|
+
import '../../enum/decorator/api/controller/request-transformer-type.enum.js';
|
|
15
|
+
import '../../enum/decorator/api/dto-type.enum.js';
|
|
16
|
+
import '../../enum/decorator/api/function/type.enum.js';
|
|
17
|
+
import '../../enum/decorator/api/property/data-type.enum.js';
|
|
18
|
+
import '../../enum/decorator/api/property/date/identifier.enum.js';
|
|
19
|
+
import '../../enum/decorator/api/property/date/type.enum.js';
|
|
20
|
+
import '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
21
|
+
import { EApiPropertyNumberType } from '../../enum/decorator/api/property/number-type.enum.js';
|
|
22
|
+
import { EApiPropertyStringType } from '../../enum/decorator/api/property/string-type.enum.js';
|
|
23
|
+
import '../../enum/decorator/api/route-type.enum.js';
|
|
24
|
+
import '../../enum/exception.enum.js';
|
|
25
|
+
import '../../enum/filter-order-direction.enum.js';
|
|
26
|
+
import '../../enum/utility/error-string-action.enum.js';
|
|
27
|
+
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
28
|
+
|
|
29
|
+
function DtoGenerateException(httpStatus) {
|
|
30
|
+
const errorName = HttpStatus[httpStatus];
|
|
31
|
+
class GeneratedErrorDTO {
|
|
32
|
+
correlationID;
|
|
33
|
+
error = CamelCaseString(errorName);
|
|
34
|
+
message = "Error message";
|
|
35
|
+
statusCode = httpStatus;
|
|
36
|
+
timestamp;
|
|
37
|
+
}
|
|
38
|
+
__decorate([
|
|
39
|
+
ApiPropertyUUID({ entity: { name: "Correlation" }, isResponse: true }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], GeneratedErrorDTO.prototype, "correlationID", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
ApiPropertyString({
|
|
44
|
+
description: "name",
|
|
45
|
+
entity: { name: "Error" },
|
|
46
|
+
exampleValue: CamelCaseString(errorName),
|
|
47
|
+
format: EApiPropertyStringType.STRING,
|
|
48
|
+
isResponse: true,
|
|
49
|
+
maxLength: EXCEPTION_DTO_CONSTANT.MAXIMUM_ERROR_LENGTH,
|
|
50
|
+
minLength: EXCEPTION_DTO_CONSTANT.MINIMUM_ERROR_LENGTH,
|
|
51
|
+
pattern: "/^[a-zA-Z_ ]{3,64}$/",
|
|
52
|
+
}),
|
|
53
|
+
__metadata("design:type", String)
|
|
54
|
+
], GeneratedErrorDTO.prototype, "error", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
ApiPropertyString({
|
|
57
|
+
description: "message",
|
|
58
|
+
entity: { name: "Error" },
|
|
59
|
+
exampleValue: "Error message",
|
|
60
|
+
format: EApiPropertyStringType.STRING,
|
|
61
|
+
isResponse: true,
|
|
62
|
+
maxLength: EXCEPTION_DTO_CONSTANT.MAXIMUM_ERROR_MESSAGE_LENGTH,
|
|
63
|
+
minLength: EXCEPTION_DTO_CONSTANT.MINIMUM_ERROR_MESSAGE_LENGTH,
|
|
64
|
+
pattern: "/^[a-zA-Z_ ]{3,64}$/",
|
|
65
|
+
}),
|
|
66
|
+
__metadata("design:type", String)
|
|
67
|
+
], GeneratedErrorDTO.prototype, "message", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
ApiPropertyEnum({
|
|
70
|
+
description: "status code",
|
|
71
|
+
entity: { name: "Error" },
|
|
72
|
+
enum: HttpStatus,
|
|
73
|
+
exampleValue: httpStatus,
|
|
74
|
+
isResponse: true,
|
|
75
|
+
}),
|
|
76
|
+
__metadata("design:type", Number)
|
|
77
|
+
], GeneratedErrorDTO.prototype, "statusCode", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
ApiPropertyNumber({
|
|
80
|
+
description: "timestamp",
|
|
81
|
+
entity: { name: "Error" },
|
|
82
|
+
exampleValue: Date.now(),
|
|
83
|
+
format: EApiPropertyNumberType.INTEGER,
|
|
84
|
+
isResponse: true,
|
|
85
|
+
maximum: DATE_CONSTANT.MAXIMUM_UNIX_TIME,
|
|
86
|
+
minimum: DATE_CONSTANT.MINIMUM_UNIX_TIME,
|
|
87
|
+
multipleOf: NUMBER_CONSTANT.ONE,
|
|
88
|
+
}),
|
|
89
|
+
__metadata("design:type", Number)
|
|
90
|
+
], GeneratedErrorDTO.prototype, "timestamp", void 0);
|
|
91
|
+
Object.defineProperty(GeneratedErrorDTO, "name", { value: `Exception${CamelCaseString(errorName)}DTO` });
|
|
92
|
+
return GeneratedErrorDTO;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export { DtoGenerateException };
|
|
96
|
+
//# sourceMappingURL=generate-exception.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-exception.utility.js","sources":["../../../../../../src/utility/dto/generate-exception.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,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;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ApiPropertyEnum } from '../../decorator/api/property/enum.decorator.js';
|
|
2
|
+
import '../../enum/decorator/api/action.enum.js';
|
|
3
|
+
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
4
|
+
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
5
|
+
import '../../enum/decorator/api/controller/request-transformer-type.enum.js';
|
|
6
|
+
import '../../enum/decorator/api/dto-type.enum.js';
|
|
7
|
+
import '../../enum/decorator/api/function/type.enum.js';
|
|
8
|
+
import '../../enum/decorator/api/property/data-type.enum.js';
|
|
9
|
+
import '../../enum/decorator/api/property/date/identifier.enum.js';
|
|
10
|
+
import '../../enum/decorator/api/property/date/type.enum.js';
|
|
11
|
+
import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
12
|
+
import '../../enum/decorator/api/property/number-type.enum.js';
|
|
13
|
+
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
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
|
+
import { EFilterOperationUuid, EFilterOperationString, EFilterOperationRelation, EFilterOperationObject, EFilterOperationNumber, EFilterOperationEnum, EFilterOperationDate, EFilterOperationBoolean } from '../../enum/filter-operation.enum.js';
|
|
19
|
+
|
|
20
|
+
function DtoGenerateFilterDecorator(metadata, entity) {
|
|
21
|
+
switch (metadata.type) {
|
|
22
|
+
case EApiPropertyDescribeType.BOOLEAN: {
|
|
23
|
+
return ApiPropertyEnum({ description: metadata.description, entity, enum: EFilterOperationBoolean, isRequired: false });
|
|
24
|
+
}
|
|
25
|
+
case EApiPropertyDescribeType.DATE: {
|
|
26
|
+
return ApiPropertyEnum({ entity, enum: EFilterOperationDate, isRequired: false });
|
|
27
|
+
}
|
|
28
|
+
case EApiPropertyDescribeType.ENUM: {
|
|
29
|
+
return ApiPropertyEnum({ description: metadata.description, entity, enum: EFilterOperationEnum, isRequired: false });
|
|
30
|
+
}
|
|
31
|
+
case EApiPropertyDescribeType.NUMBER: {
|
|
32
|
+
return ApiPropertyEnum({ description: metadata.description, entity, enum: EFilterOperationNumber, isRequired: false });
|
|
33
|
+
}
|
|
34
|
+
case EApiPropertyDescribeType.OBJECT: {
|
|
35
|
+
return ApiPropertyEnum({ description: metadata.description, entity, enum: EFilterOperationObject, isRequired: false });
|
|
36
|
+
}
|
|
37
|
+
case EApiPropertyDescribeType.RELATION: {
|
|
38
|
+
return ApiPropertyEnum({ description: metadata.description, entity, enum: EFilterOperationRelation, isRequired: false });
|
|
39
|
+
}
|
|
40
|
+
case EApiPropertyDescribeType.STRING: {
|
|
41
|
+
return ApiPropertyEnum({ description: metadata.description, entity, enum: EFilterOperationString, isRequired: false });
|
|
42
|
+
}
|
|
43
|
+
case EApiPropertyDescribeType.UUID: {
|
|
44
|
+
return ApiPropertyEnum({ description: metadata.description, entity, enum: EFilterOperationUuid, isRequired: false });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { DtoGenerateFilterDecorator };
|
|
50
|
+
//# sourceMappingURL=generate-filter-decorator.utility.js.map
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;AAOgB,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;;;;"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { __decorate, __metadata } from '../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { PickType } from '@nestjs/swagger';
|
|
3
|
+
import { ApiPropertyNumber } from '../../decorator/api/property/number.decorator.js';
|
|
4
|
+
import { ApiPropertyObject } from '../../decorator/api/property/object.decorator.js';
|
|
5
|
+
import LIST_DTO_CONSTANT from '../../constant/dto/list.constant.js';
|
|
6
|
+
import '../../enum/decorator/api/action.enum.js';
|
|
7
|
+
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
8
|
+
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
9
|
+
import '../../enum/decorator/api/controller/request-transformer-type.enum.js';
|
|
10
|
+
import '../../enum/decorator/api/dto-type.enum.js';
|
|
11
|
+
import '../../enum/decorator/api/function/type.enum.js';
|
|
12
|
+
import '../../enum/decorator/api/property/data-type.enum.js';
|
|
13
|
+
import '../../enum/decorator/api/property/date/identifier.enum.js';
|
|
14
|
+
import '../../enum/decorator/api/property/date/type.enum.js';
|
|
15
|
+
import '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
16
|
+
import { EApiPropertyNumberType } from '../../enum/decorator/api/property/number-type.enum.js';
|
|
17
|
+
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
18
|
+
import '../../enum/decorator/api/route-type.enum.js';
|
|
19
|
+
import '../../enum/exception.enum.js';
|
|
20
|
+
import '../../enum/filter-order-direction.enum.js';
|
|
21
|
+
import '../../enum/utility/error-string-action.enum.js';
|
|
22
|
+
|
|
23
|
+
function DtoGenerateGetListResponse(resourceClass, responseResourceClass, name) {
|
|
24
|
+
class ApiListGetResponse extends PickType(resourceClass, []) {
|
|
25
|
+
count;
|
|
26
|
+
currentPage;
|
|
27
|
+
items;
|
|
28
|
+
totalCount;
|
|
29
|
+
totalPages;
|
|
30
|
+
}
|
|
31
|
+
__decorate([
|
|
32
|
+
ApiPropertyNumber({
|
|
33
|
+
description: "Total number of items on page",
|
|
34
|
+
entity: resourceClass,
|
|
35
|
+
exampleValue: LIST_DTO_CONSTANT.MINIMUM_LIST_LENGTH,
|
|
36
|
+
format: EApiPropertyNumberType.INTEGER,
|
|
37
|
+
isResponse: true,
|
|
38
|
+
maximum: LIST_DTO_CONSTANT.MAXIMUM_LIST_LENGTH,
|
|
39
|
+
minimum: LIST_DTO_CONSTANT.MINIMUM_LIST_LENGTH,
|
|
40
|
+
multipleOf: 1,
|
|
41
|
+
}),
|
|
42
|
+
__metadata("design:type", Number)
|
|
43
|
+
], ApiListGetResponse.prototype, "count", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
ApiPropertyNumber({
|
|
46
|
+
description: "Current page number",
|
|
47
|
+
entity: resourceClass,
|
|
48
|
+
exampleValue: LIST_DTO_CONSTANT.MINIMUM_LIST_PAGES_COUNT,
|
|
49
|
+
format: EApiPropertyNumberType.INTEGER,
|
|
50
|
+
isResponse: true,
|
|
51
|
+
maximum: LIST_DTO_CONSTANT.MAXIMUM_LIST_PAGES_COUNT,
|
|
52
|
+
minimum: LIST_DTO_CONSTANT.MINIMUM_LIST_PAGES_COUNT,
|
|
53
|
+
multipleOf: 1,
|
|
54
|
+
}),
|
|
55
|
+
__metadata("design:type", Number)
|
|
56
|
+
], ApiListGetResponse.prototype, "currentPage", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
ApiPropertyObject({
|
|
59
|
+
entity: resourceClass,
|
|
60
|
+
isArray: true,
|
|
61
|
+
isResponse: true,
|
|
62
|
+
isUniqueItems: true,
|
|
63
|
+
maxItems: LIST_DTO_CONSTANT.MAXIMUM_LIST_LENGTH,
|
|
64
|
+
minItems: LIST_DTO_CONSTANT.MINIMUM_LIST_LENGTH,
|
|
65
|
+
type: responseResourceClass,
|
|
66
|
+
}),
|
|
67
|
+
__metadata("design:type", Array)
|
|
68
|
+
], ApiListGetResponse.prototype, "items", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
ApiPropertyNumber({
|
|
71
|
+
description: "Total number of items",
|
|
72
|
+
entity: resourceClass,
|
|
73
|
+
exampleValue: LIST_DTO_CONSTANT.MINIMUM_LIST_LENGTH,
|
|
74
|
+
format: EApiPropertyNumberType.INTEGER,
|
|
75
|
+
isResponse: true,
|
|
76
|
+
maximum: LIST_DTO_CONSTANT.MAXIMUM_LIST_LENGTH,
|
|
77
|
+
minimum: LIST_DTO_CONSTANT.MINIMUM_LIST_LENGTH,
|
|
78
|
+
multipleOf: 1,
|
|
79
|
+
}),
|
|
80
|
+
__metadata("design:type", Number)
|
|
81
|
+
], ApiListGetResponse.prototype, "totalCount", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
ApiPropertyNumber({
|
|
84
|
+
description: "Total number of pages",
|
|
85
|
+
entity: resourceClass,
|
|
86
|
+
exampleValue: LIST_DTO_CONSTANT.MINIMUM_LIST_PAGES_COUNT,
|
|
87
|
+
format: EApiPropertyNumberType.INTEGER,
|
|
88
|
+
isResponse: true,
|
|
89
|
+
maximum: LIST_DTO_CONSTANT.MAXIMUM_LIST_PAGES_COUNT,
|
|
90
|
+
minimum: LIST_DTO_CONSTANT.MINIMUM_LIST_PAGES_COUNT,
|
|
91
|
+
multipleOf: 1,
|
|
92
|
+
}),
|
|
93
|
+
__metadata("design:type", Number)
|
|
94
|
+
], ApiListGetResponse.prototype, "totalPages", void 0);
|
|
95
|
+
Object.defineProperty(ApiListGetResponse, "name", {
|
|
96
|
+
value: name,
|
|
97
|
+
});
|
|
98
|
+
return ApiListGetResponse;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export { DtoGenerateGetListResponse };
|
|
102
|
+
//# sourceMappingURL=generate-get-list-response.utility.js.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { __decorate, __metadata } from '../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ApiPropertyUUID } from '../../decorator/api/property/uuid.decorator.js';
|
|
3
|
+
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
4
|
+
import { CapitalizeString } from '../capitalize-string.utility.js';
|
|
5
|
+
|
|
6
|
+
function DtoGenerateRelationResponse(entity, method, dtoType, propertyName) {
|
|
7
|
+
class GeneratedRelationDTO {
|
|
8
|
+
id;
|
|
9
|
+
}
|
|
10
|
+
__decorate([
|
|
11
|
+
ApiPropertyUUID({ entity, isResponse: true }),
|
|
12
|
+
__metadata("design:type", String)
|
|
13
|
+
], GeneratedRelationDTO.prototype, "id", void 0);
|
|
14
|
+
Object.defineProperty(GeneratedRelationDTO, "name", { value: `${String(entity.name)}${CamelCaseString(method)}${CamelCaseString(dtoType)}${CapitalizeString(propertyName)}DTO` });
|
|
15
|
+
return GeneratedRelationDTO;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { DtoGenerateRelationResponse };
|
|
19
|
+
//# sourceMappingURL=generate-relation-response.utility.js.map
|
|
@@ -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":";;;;;AASM,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;;;;"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Validate } from 'class-validator';
|
|
2
|
+
import '../../constant/decorator/api/function.constant.js';
|
|
3
|
+
import { PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT } from '../../constant/decorator/api/property-describe.constant.js';
|
|
4
|
+
import { DTO_GENERATE_CONSTANT } from '../../constant/utility/dto/generate.constant.js';
|
|
5
|
+
import '../../enum/decorator/api/action.enum.js';
|
|
6
|
+
import '../../enum/decorator/api/authentication-type.enum.js';
|
|
7
|
+
import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
8
|
+
import '../../enum/decorator/api/controller/request-transformer-type.enum.js';
|
|
9
|
+
import { EApiDtoType } from '../../enum/decorator/api/dto-type.enum.js';
|
|
10
|
+
import '../../enum/decorator/api/function/type.enum.js';
|
|
11
|
+
import '../../enum/decorator/api/property/data-type.enum.js';
|
|
12
|
+
import '../../enum/decorator/api/property/date/identifier.enum.js';
|
|
13
|
+
import '../../enum/decorator/api/property/date/type.enum.js';
|
|
14
|
+
import '../../enum/decorator/api/property/desribe-type.enum.js';
|
|
15
|
+
import '../../enum/decorator/api/property/number-type.enum.js';
|
|
16
|
+
import '../../enum/decorator/api/property/string-type.enum.js';
|
|
17
|
+
import { EApiRouteType } from '../../enum/decorator/api/route-type.enum.js';
|
|
18
|
+
import '../../enum/exception.enum.js';
|
|
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';
|
|
22
|
+
import { CamelCaseString } from '../camel-case-string.utility.js';
|
|
23
|
+
import { ErrorException } from '../error-exception.utility.js';
|
|
24
|
+
import { DtoBuildDecorator } from './build-decorator.utility.js';
|
|
25
|
+
import { DtoGenerateFilterDecorator } from './generate-filter-decorator.utility.js';
|
|
26
|
+
import { DtoGenerateGetListResponse } from './generate-get-list-response.utility.js';
|
|
27
|
+
import { DtoGetGetListQueryBaseClass } from './get-get-list-query-base-class.utility.js';
|
|
28
|
+
import { DtoIsPropertyShouldBeMarked } from './is-property-should-be-marked.utility.js';
|
|
29
|
+
import { DtoIsShouldBeGenerated } from './is-should-be-generated.utility.js';
|
|
30
|
+
|
|
31
|
+
function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, currentGuard) {
|
|
32
|
+
if (!DtoIsShouldBeGenerated(method, dtoType)) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
if (!entityMetadata.primaryKey?.metadata?.[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME]) {
|
|
36
|
+
throw ErrorException(`Primary key for entity ${String(entityMetadata.name)} not found in metadata storage`);
|
|
37
|
+
}
|
|
38
|
+
const markedProperties = [];
|
|
39
|
+
for (const column of entityMetadata.columns) {
|
|
40
|
+
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)) {
|
|
41
|
+
markedProperties.push({
|
|
42
|
+
isPrimary: column.isPrimary,
|
|
43
|
+
metadata: column.metadata[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME],
|
|
44
|
+
name: column.name,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const BaseClass = method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY ? DtoGetGetListQueryBaseClass(entity, entityMetadata, method, dtoType) : class {
|
|
49
|
+
};
|
|
50
|
+
class GeneratedDTO extends BaseClass {
|
|
51
|
+
constructor() {
|
|
52
|
+
super();
|
|
53
|
+
for (const property of markedProperties) {
|
|
54
|
+
if (method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY) {
|
|
55
|
+
Object.defineProperty(this, `${property.name}[value]`, {
|
|
56
|
+
configurable: true,
|
|
57
|
+
enumerable: true,
|
|
58
|
+
value: undefined,
|
|
59
|
+
writable: true,
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(this, `${property.name}[values]`, {
|
|
62
|
+
configurable: true,
|
|
63
|
+
enumerable: true,
|
|
64
|
+
value: undefined,
|
|
65
|
+
writable: true,
|
|
66
|
+
});
|
|
67
|
+
Object.defineProperty(this, `${property.name}[operator]`, {
|
|
68
|
+
configurable: true,
|
|
69
|
+
enumerable: true,
|
|
70
|
+
value: undefined,
|
|
71
|
+
writable: true,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
Object.defineProperty(this, property.name, {
|
|
76
|
+
configurable: true,
|
|
77
|
+
enumerable: true,
|
|
78
|
+
value: undefined,
|
|
79
|
+
writable: true,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
for (const property of markedProperties) {
|
|
86
|
+
const decorators = DtoBuildDecorator(method, property.metadata, entityMetadata, dtoType, property.name, currentGuard);
|
|
87
|
+
if (decorators) {
|
|
88
|
+
for (const [, decorator] of decorators.entries()) {
|
|
89
|
+
if (method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY) {
|
|
90
|
+
decorator(GeneratedDTO.prototype, `${property.name}[value]`);
|
|
91
|
+
DtoGenerateFilterDecorator(property.metadata, entityMetadata)(GeneratedDTO.prototype, `${property.name}[operator]`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
decorator(GeneratedDTO.prototype, property.name);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY) {
|
|
99
|
+
const metadataArray = { ...property.metadata, isArray: true, isUniqueItems: false, maxItems: DTO_GENERATE_CONSTANT.MAXIMUM_FILTER_PROPERTIES, minItems: DTO_GENERATE_CONSTANT.MINIMUM_FILTER_PROPERTIES };
|
|
100
|
+
const decoratorsArray = DtoBuildDecorator(method, metadataArray, entityMetadata, dtoType, property.name, currentGuard);
|
|
101
|
+
if (decoratorsArray) {
|
|
102
|
+
for (const [, decorator] of decoratorsArray.entries()) {
|
|
103
|
+
decorator(GeneratedDTO.prototype, `${property.name}[values]`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (dtoConfig?.validators) {
|
|
109
|
+
for (const validator of dtoConfig.validators) {
|
|
110
|
+
Validate(validator.constraintClass, validator.options)(GeneratedDTO.prototype, "object");
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY) {
|
|
114
|
+
Object.defineProperty(GeneratedDTO.prototype, "object", {
|
|
115
|
+
configurable: true,
|
|
116
|
+
enumerable: true,
|
|
117
|
+
value: function () {
|
|
118
|
+
return this;
|
|
119
|
+
},
|
|
120
|
+
writable: true,
|
|
121
|
+
});
|
|
122
|
+
Validate(HasPairedCustomSuffixesFields, ["operator", ["value", "values"]])(GeneratedDTO.prototype, "object");
|
|
123
|
+
}
|
|
124
|
+
Object.defineProperty(GeneratedDTO, "name", {
|
|
125
|
+
value: `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}ItemsDTO`,
|
|
126
|
+
});
|
|
127
|
+
return method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.RESPONSE ? DtoGenerateGetListResponse(entity, GeneratedDTO, `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}DTO`) : GeneratedDTO;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export { DtoGenerate };
|
|
131
|
+
//# sourceMappingURL=generate.utility.js.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DTO_UTILITY_CONSTANT } from '../../constant/utility/dto/constant.js';
|
|
2
|
+
|
|
3
|
+
const DtoGetDecoratorConfig = (method, metadata, dtoType, propertyName) => {
|
|
4
|
+
const strategy = DTO_UTILITY_CONSTANT.DTO_STRATEGIES[dtoType];
|
|
5
|
+
if (!strategy) {
|
|
6
|
+
throw new Error(`Unknown DTO type ${dtoType}`);
|
|
7
|
+
}
|
|
8
|
+
let config = strategy.getDecoratorConfig(method, metadata);
|
|
9
|
+
const properties = metadata.properties?.[method];
|
|
10
|
+
if (properties && properties[dtoType]) {
|
|
11
|
+
const customConfig = properties[dtoType];
|
|
12
|
+
config = { ...config, ...customConfig };
|
|
13
|
+
}
|
|
14
|
+
return config;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { DtoGetDecoratorConfig };
|
|
18
|
+
//# sourceMappingURL=get-decorator-config.utility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-decorator-config.utility.js","sources":["../../../../../../src/utility/dto/get-decorator-config.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AASO,MAAM,qBAAqB,GAAG,CAAiD,MAAS,EAAE,QAAwC,EAAE,OAAU,EAAE,YAAoB,KAAuC;IACjN,MAAM,QAAQ,GAAyC,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC;IAEnG,IAAI,CAAC,QAAQ,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,CAAA,CAAE,CAAC;;IAG/C,IAAI,MAAM,GAAsC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAK7F,MAAM,UAAU,GAA2C,QAAQ,CAAC,UAAU,GAAG,MAAM,CAA2C;AAElI,IAAA,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;AACtC,QAAA,MAAM,YAAY,GAAkC,UAAU,CAAC,OAAO,CAAC;QAGvE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE;;AAGxC,IAAA,OAAO,MAAM;AACd;;;;"}
|