@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,214 @@
|
|
|
1
|
+
import { __decorate } from '../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ValidatorConstraint } from 'class-validator';
|
|
3
|
+
import { EFilterOperation } from '../enum/filter-operation.enum.js';
|
|
4
|
+
|
|
5
|
+
var EArgumentType;
|
|
6
|
+
(function (EArgumentType) {
|
|
7
|
+
EArgumentType["ARRAY"] = "array";
|
|
8
|
+
EArgumentType["NULL"] = "null";
|
|
9
|
+
EArgumentType["SINGLE"] = "single";
|
|
10
|
+
})(EArgumentType || (EArgumentType = {}));
|
|
11
|
+
const DEFAULT_OPERATION_CONFIGS = {
|
|
12
|
+
[EFilterOperation.BETWEEN]: {
|
|
13
|
+
argumentType: EArgumentType.ARRAY,
|
|
14
|
+
exactLength: 2,
|
|
15
|
+
},
|
|
16
|
+
[EFilterOperation.CONT]: {
|
|
17
|
+
argumentType: EArgumentType.SINGLE,
|
|
18
|
+
},
|
|
19
|
+
[EFilterOperation.CONTL]: {
|
|
20
|
+
argumentType: EArgumentType.SINGLE,
|
|
21
|
+
},
|
|
22
|
+
[EFilterOperation.ENDS]: {
|
|
23
|
+
argumentType: EArgumentType.SINGLE,
|
|
24
|
+
},
|
|
25
|
+
[EFilterOperation.ENDSL]: {
|
|
26
|
+
argumentType: EArgumentType.SINGLE,
|
|
27
|
+
},
|
|
28
|
+
[EFilterOperation.EQ]: {
|
|
29
|
+
argumentType: EArgumentType.SINGLE,
|
|
30
|
+
},
|
|
31
|
+
[EFilterOperation.EQL]: {
|
|
32
|
+
argumentType: EArgumentType.SINGLE,
|
|
33
|
+
},
|
|
34
|
+
[EFilterOperation.EXCL]: {
|
|
35
|
+
argumentType: EArgumentType.ARRAY,
|
|
36
|
+
},
|
|
37
|
+
[EFilterOperation.EXCLL]: {
|
|
38
|
+
argumentType: EArgumentType.ARRAY,
|
|
39
|
+
},
|
|
40
|
+
[EFilterOperation.GT]: {
|
|
41
|
+
argumentType: EArgumentType.SINGLE,
|
|
42
|
+
},
|
|
43
|
+
[EFilterOperation.GTE]: {
|
|
44
|
+
argumentType: EArgumentType.SINGLE,
|
|
45
|
+
},
|
|
46
|
+
[EFilterOperation.IN]: {
|
|
47
|
+
argumentType: EArgumentType.ARRAY,
|
|
48
|
+
minLength: 1,
|
|
49
|
+
},
|
|
50
|
+
[EFilterOperation.INL]: {
|
|
51
|
+
argumentType: EArgumentType.ARRAY,
|
|
52
|
+
minLength: 1,
|
|
53
|
+
},
|
|
54
|
+
[EFilterOperation.ISNULL]: {
|
|
55
|
+
argumentType: EArgumentType.NULL,
|
|
56
|
+
},
|
|
57
|
+
[EFilterOperation.LT]: {
|
|
58
|
+
argumentType: EArgumentType.SINGLE,
|
|
59
|
+
},
|
|
60
|
+
[EFilterOperation.LTE]: {
|
|
61
|
+
argumentType: EArgumentType.SINGLE,
|
|
62
|
+
},
|
|
63
|
+
[EFilterOperation.NE]: {
|
|
64
|
+
argumentType: EArgumentType.SINGLE,
|
|
65
|
+
},
|
|
66
|
+
[EFilterOperation.NEL]: {
|
|
67
|
+
argumentType: EArgumentType.SINGLE,
|
|
68
|
+
},
|
|
69
|
+
[EFilterOperation.NOTIN]: {
|
|
70
|
+
argumentType: EArgumentType.ARRAY,
|
|
71
|
+
minLength: 1,
|
|
72
|
+
},
|
|
73
|
+
[EFilterOperation.NOTINL]: {
|
|
74
|
+
argumentType: EArgumentType.ARRAY,
|
|
75
|
+
minLength: 1,
|
|
76
|
+
},
|
|
77
|
+
[EFilterOperation.NOTNULL]: {
|
|
78
|
+
argumentType: EArgumentType.NULL,
|
|
79
|
+
},
|
|
80
|
+
[EFilterOperation.STARTS]: {
|
|
81
|
+
argumentType: EArgumentType.SINGLE,
|
|
82
|
+
},
|
|
83
|
+
[EFilterOperation.STARTSL]: {
|
|
84
|
+
argumentType: EArgumentType.SINGLE,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
let HasPairedCustomSuffixesFields = class HasPairedCustomSuffixesFields {
|
|
88
|
+
defaultMessage(properties) {
|
|
89
|
+
const object = properties.object;
|
|
90
|
+
const fieldGroups = object.__fieldGroups;
|
|
91
|
+
const operatorSuffix = object.__operatorSuffix;
|
|
92
|
+
const valueSuffixes = object.__valueSuffixes;
|
|
93
|
+
const indexableObject = properties.object;
|
|
94
|
+
for (const [baseName, groupSuffixes] of fieldGroups) {
|
|
95
|
+
const hasValueSuffix = valueSuffixes.some((suffix) => groupSuffixes.has(suffix));
|
|
96
|
+
if (hasValueSuffix && !groupSuffixes.has(operatorSuffix)) {
|
|
97
|
+
return `group "${baseName}" with value suffix must have an operator suffix [${operatorSuffix}]`;
|
|
98
|
+
}
|
|
99
|
+
if (groupSuffixes.has(operatorSuffix)) {
|
|
100
|
+
if (groupSuffixes.size === 1) {
|
|
101
|
+
return `group "${baseName}" with operator suffix must have at least one value with suffix [${[...valueSuffixes].join(", ")}]`;
|
|
102
|
+
}
|
|
103
|
+
const operatorField = `${baseName}[${operatorSuffix}]`;
|
|
104
|
+
const operatorValue = indexableObject[operatorField];
|
|
105
|
+
const operator = operatorValue;
|
|
106
|
+
const operatorConfig = DEFAULT_OPERATION_CONFIGS[operator];
|
|
107
|
+
if (!operatorConfig) {
|
|
108
|
+
return `Invalid operator "${operator}" for group "${baseName}"`;
|
|
109
|
+
}
|
|
110
|
+
if (operatorConfig.argumentType === EArgumentType.NULL) {
|
|
111
|
+
const valueCount = valueSuffixes.filter((suffix) => groupSuffixes.has(suffix)).length;
|
|
112
|
+
if (valueCount > 0) {
|
|
113
|
+
return `group "${baseName}" with ${operator} operation should not have any values`;
|
|
114
|
+
}
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
const valueFields = valueSuffixes.filter((suffix) => groupSuffixes.has(suffix)).map((suffix) => `${baseName}[${suffix}]`);
|
|
118
|
+
if (valueFields.length === 0) {
|
|
119
|
+
return `group "${baseName}" requires a value for ${operator} operation`;
|
|
120
|
+
}
|
|
121
|
+
if (valueFields.length > 1) {
|
|
122
|
+
return `group "${baseName}" can only have one value with suffix [${[...valueSuffixes].join(", ")}] when operator is present`;
|
|
123
|
+
}
|
|
124
|
+
const value = indexableObject[valueFields[0]];
|
|
125
|
+
const isArray = Array.isArray(value);
|
|
126
|
+
if (operatorConfig.argumentType === EArgumentType.ARRAY && !isArray) {
|
|
127
|
+
return `group "${baseName}" with ${operator} operation requires an array value`;
|
|
128
|
+
}
|
|
129
|
+
if (operatorConfig.argumentType === EArgumentType.SINGLE && isArray) {
|
|
130
|
+
return `group "${baseName}" with ${operator} operation requires a single value, not an array`;
|
|
131
|
+
}
|
|
132
|
+
if (isArray) {
|
|
133
|
+
if (operatorConfig.exactLength !== undefined && value.length !== operatorConfig.exactLength) {
|
|
134
|
+
return `group "${baseName}" with ${operator} operation requires exactly ${String(operatorConfig.exactLength)} values`;
|
|
135
|
+
}
|
|
136
|
+
if (operatorConfig.minLength !== undefined && value.length < operatorConfig.minLength) {
|
|
137
|
+
return `group "${baseName}" with ${operator} operation requires at least ${String(operatorConfig.minLength)} values`;
|
|
138
|
+
}
|
|
139
|
+
if (operatorConfig.maxLength !== undefined && value.length > operatorConfig.maxLength) {
|
|
140
|
+
return `group "${baseName}" with ${operator} operation requires at most ${String(operatorConfig.maxLength)} values`;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return `fields must have valid operator-value suffix pairs`;
|
|
146
|
+
}
|
|
147
|
+
validate(_value, properties) {
|
|
148
|
+
const [operatorSuffix, valueSuffixes] = properties.constraints;
|
|
149
|
+
const indexableObject = properties.object;
|
|
150
|
+
const fields = Object.keys(indexableObject);
|
|
151
|
+
const fieldGroups = new Map();
|
|
152
|
+
const suffixPattern = [operatorSuffix, ...valueSuffixes].map((suffix) => suffix.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`)).join("|");
|
|
153
|
+
const regex = new RegExp(`^(.+?)\\[(${suffixPattern})\\]$`);
|
|
154
|
+
for (const field of fields) {
|
|
155
|
+
const match = regex.exec(field);
|
|
156
|
+
if (match) {
|
|
157
|
+
const [, baseName, suffix] = match;
|
|
158
|
+
if (!fieldGroups.has(baseName)) {
|
|
159
|
+
fieldGroups.set(baseName, new Set());
|
|
160
|
+
}
|
|
161
|
+
if (indexableObject[field] !== undefined) {
|
|
162
|
+
fieldGroups.get(baseName)?.add(suffix);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
properties.object.__fieldGroups = fieldGroups;
|
|
167
|
+
properties.object.__operatorSuffix = operatorSuffix;
|
|
168
|
+
properties.object.__valueSuffixes = valueSuffixes;
|
|
169
|
+
for (const [baseName, groupSuffixes] of fieldGroups) {
|
|
170
|
+
const hasValueSuffix = valueSuffixes.some((suffix) => groupSuffixes.has(suffix));
|
|
171
|
+
if (hasValueSuffix && !groupSuffixes.has(operatorSuffix)) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
if (groupSuffixes.has(operatorSuffix)) {
|
|
175
|
+
const operatorField = `${baseName}[${operatorSuffix}]`;
|
|
176
|
+
const operatorValue = indexableObject[operatorField];
|
|
177
|
+
const operator = operatorValue;
|
|
178
|
+
const operatorConfig = DEFAULT_OPERATION_CONFIGS[operator];
|
|
179
|
+
if (!operatorConfig)
|
|
180
|
+
return false;
|
|
181
|
+
if (operatorConfig.argumentType === EArgumentType.NULL) {
|
|
182
|
+
const valueCount = valueSuffixes.filter((suffix) => groupSuffixes.has(suffix)).length;
|
|
183
|
+
if (valueCount > 0)
|
|
184
|
+
return false;
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
const valueFields = valueSuffixes.filter((suffix) => groupSuffixes.has(suffix)).map((suffix) => `${baseName}[${suffix}]`);
|
|
188
|
+
if (valueFields.length !== 1)
|
|
189
|
+
return false;
|
|
190
|
+
const value = indexableObject[valueFields[0]];
|
|
191
|
+
const isArray = Array.isArray(value);
|
|
192
|
+
if (operatorConfig.argumentType === EArgumentType.ARRAY && !isArray)
|
|
193
|
+
return false;
|
|
194
|
+
if (operatorConfig.argumentType === EArgumentType.SINGLE && isArray)
|
|
195
|
+
return false;
|
|
196
|
+
if (isArray) {
|
|
197
|
+
if (operatorConfig.exactLength !== undefined && value.length !== operatorConfig.exactLength)
|
|
198
|
+
return false;
|
|
199
|
+
if (operatorConfig.minLength !== undefined && value.length < operatorConfig.minLength)
|
|
200
|
+
return false;
|
|
201
|
+
if (operatorConfig.maxLength !== undefined && value.length > operatorConfig.maxLength)
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return true;
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
HasPairedCustomSuffixesFields = __decorate([
|
|
210
|
+
ValidatorConstraint({ async: false, name: "has-paired-custom-suffixes-fields" })
|
|
211
|
+
], HasPairedCustomSuffixesFields);
|
|
212
|
+
|
|
213
|
+
export { HasPairedCustomSuffixesFields };
|
|
214
|
+
//# sourceMappingURL=has-paired-custom-suffixes-fields.validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-paired-custom-suffixes-fields.validator.js","sources":["../../../../../src/validator/has-paired-custom-suffixes-fields.validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { __decorate } from '../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ValidatorConstraint } from 'class-validator';
|
|
3
|
+
|
|
4
|
+
let IsRegularExpression = class IsRegularExpression {
|
|
5
|
+
validate(pattern) {
|
|
6
|
+
if (pattern) {
|
|
7
|
+
try {
|
|
8
|
+
new RegExp(pattern);
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
IsRegularExpression = __decorate([
|
|
21
|
+
ValidatorConstraint()
|
|
22
|
+
], IsRegularExpression);
|
|
23
|
+
|
|
24
|
+
export { IsRegularExpression };
|
|
25
|
+
//# sourceMappingURL=is-regular-expression.validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-regular-expression.validator.js","sources":["../../../../../src/validator/is-regular-expression.validator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKa,IAAA,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;AAC/B,IAAA,QAAQ,CAAC,OAAe,EAAA;QACvB,IAAI,OAAO,EAAE;AACZ,YAAA,IAAI;AACH,gBAAA,IAAI,MAAM,CAAC,OAAO,CAAC;AAEnB,gBAAA,OAAO,IAAI;;AACV,YAAA,MAAM;AACP,gBAAA,OAAO,KAAK;;;aAEP;AACN,YAAA,OAAO,KAAK;;;;AAXF,mBAAmB,GAAA,UAAA,CAAA;AAD/B,IAAA,mBAAmB;AACP,CAAA,EAAA,mBAAmB,CAc/B;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __decorate } from '../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ValidatorConstraint } from 'class-validator';
|
|
3
|
+
|
|
4
|
+
let OnlyOneOfListedProperties = class OnlyOneOfListedProperties {
|
|
5
|
+
defaultMessage(properties) {
|
|
6
|
+
return `only one of the following properties must be provided: ${properties.constraints.join(", ")}`;
|
|
7
|
+
}
|
|
8
|
+
validate(_value, properties) {
|
|
9
|
+
const constraints = properties.constraints;
|
|
10
|
+
if (constraints.length > 0) {
|
|
11
|
+
let count = 0;
|
|
12
|
+
const indexableObject = properties.object;
|
|
13
|
+
for (const constraint of constraints) {
|
|
14
|
+
if (Object.prototype.hasOwnProperty.call(indexableObject, constraint) && indexableObject[constraint] !== undefined) {
|
|
15
|
+
count++;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return count === 1;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
OnlyOneOfListedProperties = __decorate([
|
|
24
|
+
ValidatorConstraint({ async: false, name: "only-one-of-listed-properties" })
|
|
25
|
+
], OnlyOneOfListedProperties);
|
|
26
|
+
|
|
27
|
+
export { OnlyOneOfListedProperties };
|
|
28
|
+
//# sourceMappingURL=only-one-of-listed-properties.validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"only-one-of-listed-properties.validator.js","sources":["../../../../../src/validator/only-one-of-listed-properties.validator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAMa,IAAA,yBAAyB,GAA/B,MAAM,yBAAyB,CAAA;AACrC,IAAA,cAAc,CAAC,UAA+B,EAAA;QAC7C,OAAO,CAAA,uDAAA,EAA0D,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE;;IAGrG,QAAQ,CAAC,MAAe,EAAE,UAA+B,EAAA;AACxD,QAAA,MAAM,WAAW,GAAkB,UAAU,CAAC,WAA4B;AAE1E,QAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,KAAK,GAAW,CAAC;AACrB,YAAA,MAAM,eAAe,GAAwB,UAAU,CAAC,MAA6B;AAErF,YAAA,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;gBACrC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;AACnH,oBAAA,KAAK,EAAE;;;YAIT,OAAO,KAAK,KAAK,CAAC;;AAGnB,QAAA,OAAO,IAAI;;;AArBA,yBAAyB,GAAA,UAAA,CAAA;IADrC,mBAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE;AAC/D,CAAA,EAAA,yBAAyB,CAuBrC;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TRANSFORMER_VALUE_DTO_CONSTANT } from "../constant/dto/transformer-value.constant";
|
|
2
|
+
import type { EApiControllerRequestTransformerType } from "../enum";
|
|
3
|
+
import type { IApiGetListResponseResult } from "../interface";
|
|
4
|
+
export type TApiRequestTransformer<E> = {
|
|
5
|
+
key: keyof {
|
|
6
|
+
limit: number;
|
|
7
|
+
page: number;
|
|
8
|
+
} | keyof IApiGetListResponseResult<E> | keyof Partial<E>;
|
|
9
|
+
} & ({
|
|
10
|
+
type: EApiControllerRequestTransformerType.DYNAMIC;
|
|
11
|
+
value: (typeof TRANSFORMER_VALUE_DTO_CONSTANT)[keyof typeof TRANSFORMER_VALUE_DTO_CONSTANT];
|
|
12
|
+
} | {
|
|
13
|
+
type: EApiControllerRequestTransformerType.STATIC;
|
|
14
|
+
value: string;
|
|
15
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from "./method.type";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EFilterOrderDirection } from "../../../../enum";
|
|
2
|
+
import type { TFilterKeys } from "../../../utility";
|
|
3
|
+
export type TApiControllerGetListQuery<E> = {
|
|
4
|
+
limit: number;
|
|
5
|
+
orderBy?: keyof E;
|
|
6
|
+
orderDirection?: EFilterOrderDirection;
|
|
7
|
+
page: number;
|
|
8
|
+
} & Partial<TFilterKeys<E>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from "./route";
|
package/dist/esm/type/decorator/api/controller/properties/route/base-request-relations.type.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FindOptionsRelations } from "typeorm";
|
|
2
|
+
import type { EApiControllerLoadRelationsStrategy } from "../../../../../../enum";
|
|
3
|
+
export type TApiControllerPropertiesRouteBaseRequestRelations<E> = {
|
|
4
|
+
relationsLoadStrategy: EApiControllerLoadRelationsStrategy;
|
|
5
|
+
servicesLoadStrategy: EApiControllerLoadRelationsStrategy;
|
|
6
|
+
shouldLoadRelations: boolean;
|
|
7
|
+
} & ({
|
|
8
|
+
relationsLoadStrategy: EApiControllerLoadRelationsStrategy.AUTO;
|
|
9
|
+
} | {
|
|
10
|
+
relationsLoadStrategy: EApiControllerLoadRelationsStrategy.MANUAL;
|
|
11
|
+
relationsToLoad: Array<keyof FindOptionsRelations<E>>;
|
|
12
|
+
}) & ({
|
|
13
|
+
relationsServices: Partial<Record<keyof FindOptionsRelations<E>, string>>;
|
|
14
|
+
servicesLoadStrategy: EApiControllerLoadRelationsStrategy.MANUAL;
|
|
15
|
+
} | {
|
|
16
|
+
servicesLoadStrategy: EApiControllerLoadRelationsStrategy.AUTO;
|
|
17
|
+
shouldForceAllServicesToBeSpecified?: boolean;
|
|
18
|
+
});
|
package/dist/esm/type/decorator/api/controller/properties/route/base-request-transformers.type.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EApiDtoType, EApiRouteType } from "../../../../../../enum";
|
|
2
|
+
import type { TApiControllerTransformerConfig } from "../../transformer-config.type";
|
|
3
|
+
export type TApiControllerPropertiesRouteBaseRequestTransformers<E, R extends EApiRouteType> = R extends EApiRouteType ? {
|
|
4
|
+
[EApiRouteType.CREATE]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.BODY>;
|
|
5
|
+
[EApiRouteType.DELETE]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.REQUEST>;
|
|
6
|
+
[EApiRouteType.GET_LIST]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.QUERY>;
|
|
7
|
+
[EApiRouteType.GET]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.REQUEST>;
|
|
8
|
+
[EApiRouteType.PARTIAL_UPDATE]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.BODY | EApiDtoType.REQUEST>;
|
|
9
|
+
[EApiRouteType.UPDATE]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.BODY | EApiDtoType.REQUEST>;
|
|
10
|
+
}[R] : never;
|
package/dist/esm/type/decorator/api/controller/properties/route/base-response-transformers.type.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EApiDtoType, EApiRouteType } from "../../../../../../enum";
|
|
2
|
+
import type { TApiControllerTransformerConfig } from "../../transformer-config.type";
|
|
3
|
+
export type TApiControllerPropertiesRouteBaseResponseTransformers<E, R extends EApiRouteType> = R extends EApiRouteType ? {
|
|
4
|
+
[EApiRouteType.CREATE]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.RESPONSE>;
|
|
5
|
+
[EApiRouteType.DELETE]: never;
|
|
6
|
+
[EApiRouteType.GET_LIST]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.RESPONSE>;
|
|
7
|
+
[EApiRouteType.GET]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.RESPONSE>;
|
|
8
|
+
[EApiRouteType.PARTIAL_UPDATE]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.RESPONSE>;
|
|
9
|
+
[EApiRouteType.UPDATE]: Pick<TApiControllerTransformerConfig<E>, EApiDtoType.RESPONSE>;
|
|
10
|
+
}[R] : never;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { EApiRouteType } from "../../../../enum";
|
|
2
|
+
import type { IApiControllerPropertiesRouteWithAutoDto, IApiControllerPropertiesRouteWithDto } from "../../../../interface";
|
|
3
|
+
export type TApiControllerPropertiesRoute<E, R extends EApiRouteType> = IApiControllerPropertiesRouteWithAutoDto<E, R> | IApiControllerPropertiesRouteWithDto<E, R>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EApiDtoType } from "../../../../enum";
|
|
2
|
+
import type { TApiRequestTransformer } from "../../../api-request-transformer.type";
|
|
3
|
+
export type TApiControllerTransformerConfig<E> = {
|
|
4
|
+
[EApiDtoType.BODY]?: Array<TApiRequestTransformer<E>>;
|
|
5
|
+
[EApiDtoType.QUERY]?: Array<TApiRequestTransformer<E>>;
|
|
6
|
+
[EApiDtoType.REQUEST]?: Array<TApiRequestTransformer<E>>;
|
|
7
|
+
[EApiDtoType.RESPONSE]?: Array<TApiRequestTransformer<E>>;
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TApiFilterAllowedTypes = Date | number | string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TApiFilterExctractedAllowedTypes } from "./extracted-allowed-types.type";
|
|
2
|
+
export type TApiFilterOrderBy<E> = {
|
|
3
|
+
[K in Uppercase<keyof E & string> as TApiFilterExctractedAllowedTypes<E[keyof E & Lowercase<K>]> extends never ? never : K]: E[keyof E & Lowercase<K>];
|
|
4
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FindOperator } from "typeorm/find-options/FindOperator";
|
|
2
|
+
import type { FindOptionsWhere } from "typeorm/index";
|
|
3
|
+
export type TApiFunctionGetListPropertiesWhere<E> = {
|
|
4
|
+
createdAt?: FindOperator<Date>;
|
|
5
|
+
receivedAt?: FindOperator<Date>;
|
|
6
|
+
updatedAt?: FindOperator<Date>;
|
|
7
|
+
} & FindOptionsWhere<E>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type * from "./create-properties.type";
|
|
2
|
+
export type * from "./delete-criteria.type";
|
|
3
|
+
export type * from "./get-list-properties-where.type";
|
|
4
|
+
export type * from "./get-list-properties.type";
|
|
5
|
+
export type * from "./get-many.properties";
|
|
6
|
+
export type * from "./get-properties.type";
|
|
7
|
+
export type * from "./properties.type";
|
|
8
|
+
export type * from "./update-criteria.type";
|
|
9
|
+
export type * from "./update-properties.type";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from "../../../../../interface";
|
|
2
|
+
import type { TApiPropertyBaseArrayOptionalProperties, TApiPropertyBaseArrayRequiredProperties } from "./array";
|
|
3
|
+
import type { TApiPropertyBaseRequestProperties } from "./request-properties.type";
|
|
4
|
+
import type { TApiPropertyBaseResponseProperties } from "./response-properties.type";
|
|
5
|
+
export type TApiPropertyBaseProperties = {
|
|
6
|
+
description?: string;
|
|
7
|
+
entity: IApiBaseEntity;
|
|
8
|
+
isNullable?: boolean;
|
|
9
|
+
} & (TApiPropertyBaseArrayOptionalProperties | TApiPropertyBaseArrayRequiredProperties) & (TApiPropertyBaseRequestProperties | TApiPropertyBaseResponseProperties);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { EApiPropertyDateIdentifier, EApiPropertyDateType } from "../../../../enum";
|
|
2
|
+
import type { TApiPropertyBaseProperties } from "./base";
|
|
3
|
+
export type TApiPropertyDateProperties = {
|
|
4
|
+
format: EApiPropertyDateType;
|
|
5
|
+
identifier: EApiPropertyDateIdentifier;
|
|
6
|
+
} & TApiPropertyBaseProperties;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { EApiPropertyDescribeType } from "../../../../../enum";
|
|
2
|
+
import type { TApiPropertyDescribeArrayOptionalProperties, TApiPropertyDescribeArrayRequiredProperties } from "./array";
|
|
3
|
+
import type { TApiPropertyDescribeBaseProperties } from "./base-properties.type";
|
|
4
|
+
export type TApiPropertyDescribeBooleanProperties = {
|
|
5
|
+
description: string;
|
|
6
|
+
type: EApiPropertyDescribeType.BOOLEAN;
|
|
7
|
+
} & (TApiPropertyDescribeArrayOptionalProperties | TApiPropertyDescribeArrayRequiredProperties) & TApiPropertyDescribeBaseProperties;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EApiPropertyDateIdentifier, EApiPropertyDateType, EApiPropertyDescribeType } from "../../../../../enum";
|
|
2
|
+
import type { TApiPropertyDescribeArrayOptionalProperties, TApiPropertyDescribeArrayRequiredProperties } from "./array";
|
|
3
|
+
import type { TApiPropertyDescribeBaseProperties } from "./base-properties.type";
|
|
4
|
+
export type TApiPropertyDescribeDateProperties = {
|
|
5
|
+
format: EApiPropertyDateType;
|
|
6
|
+
identifier: EApiPropertyDateIdentifier;
|
|
7
|
+
type: EApiPropertyDescribeType.DATE;
|
|
8
|
+
} & (TApiPropertyDescribeArrayOptionalProperties | TApiPropertyDescribeArrayRequiredProperties) & TApiPropertyDescribeBaseProperties;
|