@elsikora/nestjs-crud-automator 3.0.2-dev.1 → 4.0.0-dev.2
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 +113 -11
- package/dist/cjs/class/api/authorization/guard.class.d.ts +1 -0
- package/dist/cjs/class/api/authorization/guard.class.js +39 -3
- package/dist/cjs/class/api/authorization/guard.class.js.map +1 -1
- package/dist/cjs/class/api/authorization/iam/engine.class.d.ts +3 -2
- package/dist/cjs/class/api/authorization/iam/engine.class.js.map +1 -1
- package/dist/cjs/class/api/authorization/iam/query-planner.class.d.ts +3 -2
- package/dist/cjs/class/api/authorization/iam/query-planner.class.js.map +1 -1
- package/dist/cjs/class/api/authorization/policy/base.class.js +1 -0
- package/dist/cjs/class/api/authorization/policy/base.class.js.map +1 -1
- package/dist/cjs/class/api/authorization/policy/executor.class.d.ts +2 -1
- package/dist/cjs/class/api/authorization/policy/executor.class.js.map +1 -1
- package/dist/cjs/class/api/authorization/policy/registry.class.d.ts +3 -2
- package/dist/cjs/class/api/authorization/policy/registry.class.js.map +1 -1
- package/dist/cjs/class/api/authorization/runtime.class.d.ts +3 -2
- package/dist/cjs/class/api/authorization/runtime.class.js +2 -1
- package/dist/cjs/class/api/authorization/runtime.class.js.map +1 -1
- package/dist/cjs/class/api/authorization/simulator.class.d.ts +3 -3
- package/dist/cjs/class/api/authorization/simulator.class.js.map +1 -1
- package/dist/cjs/class/api/controller/generated/function-capability.class.d.ts +12 -0
- package/dist/cjs/class/api/controller/generated/function-capability.class.js +47 -0
- package/dist/cjs/class/api/controller/generated/function-capability.class.js.map +1 -0
- package/dist/cjs/class/api/controller/generated/get-many-contract.class.d.ts +25 -0
- package/dist/cjs/class/api/controller/generated/get-many-contract.class.js +250 -0
- package/dist/cjs/class/api/controller/generated/get-many-contract.class.js.map +1 -0
- package/dist/cjs/class/api/controller/generated/index.d.ts +3 -0
- package/dist/cjs/class/api/controller/generated/read-scope-storage.class.d.ts +19 -0
- package/dist/cjs/class/api/controller/generated/read-scope-storage.class.js +120 -0
- package/dist/cjs/class/api/controller/generated/read-scope-storage.class.js.map +1 -0
- package/dist/cjs/class/api/controller/generated/relation-cache-contract.class.d.ts +11 -0
- package/dist/cjs/class/api/controller/generated/relation-cache-contract.class.js +70 -0
- package/dist/cjs/class/api/controller/generated/relation-cache-contract.class.js.map +1 -0
- package/dist/cjs/class/api/controller/generated/scope-where-contract.class.d.ts +14 -0
- package/dist/cjs/class/api/controller/generated/scope-where-contract.class.js +68 -0
- package/dist/cjs/class/api/controller/generated/scope-where-contract.class.js.map +1 -0
- package/dist/cjs/class/api/controller/generated/security-snapshot.class.d.ts +14 -0
- package/dist/cjs/class/api/controller/generated/security-snapshot.class.js +165 -0
- package/dist/cjs/class/api/controller/generated/security-snapshot.class.js.map +1 -0
- package/dist/cjs/class/api/controller/generated/write-hydration-contract.class.d.ts +9 -0
- package/dist/cjs/class/api/controller/generated/write-hydration-contract.class.js +69 -0
- package/dist/cjs/class/api/controller/generated/write-hydration-contract.class.js.map +1 -0
- package/dist/cjs/class/api/controller/get-list/cursor/data-source-contract.class.d.ts +32 -0
- package/dist/cjs/class/api/controller/get-list/cursor/data-source-contract.class.js +424 -0
- package/dist/cjs/class/api/controller/get-list/cursor/data-source-contract.class.js.map +1 -0
- package/dist/cjs/class/api/controller/get-list/cursor/index.d.ts +2 -0
- package/dist/cjs/class/api/controller/get-list/cursor/runtime.class.d.ts +28 -0
- package/dist/cjs/class/api/controller/get-list/cursor/runtime.class.js +371 -0
- package/dist/cjs/class/api/controller/get-list/cursor/runtime.class.js.map +1 -0
- package/dist/cjs/class/api/controller/get-list/query/plan-compiler.class.d.ts +20 -0
- package/dist/cjs/class/api/controller/get-list/query/plan-compiler.class.js +479 -41
- package/dist/cjs/class/api/controller/get-list/query/plan-compiler.class.js.map +1 -1
- package/dist/cjs/class/api/controller/get-list/query/runtime.class.d.ts +2 -0
- package/dist/cjs/class/api/controller/get-list/query/runtime.class.js +45 -2
- package/dist/cjs/class/api/controller/get-list/query/runtime.class.js.map +1 -1
- package/dist/cjs/class/api/controller/identity-plan-compiler.class.d.ts +14 -0
- package/dist/cjs/class/api/controller/identity-plan-compiler.class.js +150 -0
- package/dist/cjs/class/api/controller/identity-plan-compiler.class.js.map +1 -0
- package/dist/cjs/class/api/controller/index.d.ts +1 -0
- package/dist/cjs/class/api/controller/read-plan-compiler.class.d.ts +17 -0
- package/dist/cjs/class/api/controller/read-plan-compiler.class.js +240 -0
- package/dist/cjs/class/api/controller/read-plan-compiler.class.js.map +1 -0
- package/dist/cjs/class/api/function/context-storage.class.js +1 -0
- package/dist/cjs/class/api/function/context-storage.class.js.map +1 -1
- package/dist/cjs/class/api/function/custom-runtime.class.js +1 -0
- package/dist/cjs/class/api/function/custom-runtime.class.js.map +1 -1
- package/dist/cjs/class/api/function/step-runtime.class.js +1 -0
- package/dist/cjs/class/api/function/step-runtime.class.js.map +1 -1
- package/dist/cjs/class/api/function/transaction/exception/commit-unknown-outcome.class.js +1 -0
- package/dist/cjs/class/api/function/transaction/exception/commit-unknown-outcome.class.js.map +1 -1
- package/dist/cjs/class/api/function/transaction/exception/post-commit.class.js +1 -0
- package/dist/cjs/class/api/function/transaction/exception/post-commit.class.js.map +1 -1
- package/dist/cjs/class/api/function/transaction/exception/rollback.class.js +1 -0
- package/dist/cjs/class/api/function/transaction/exception/rollback.class.js.map +1 -1
- package/dist/cjs/class/api/function/transaction/lifecycle.class.js +1 -0
- package/dist/cjs/class/api/function/transaction/lifecycle.class.js.map +1 -1
- package/dist/cjs/class/api/function/transaction/registry.class.js +1 -0
- package/dist/cjs/class/api/function/transaction/registry.class.js.map +1 -1
- package/dist/cjs/class/api/function/transaction/runtime.class.js +1 -0
- package/dist/cjs/class/api/function/transaction/runtime.class.js.map +1 -1
- package/dist/cjs/class/api/function/transaction/scope.class.js +1 -0
- package/dist/cjs/class/api/function/transaction/scope.class.js.map +1 -1
- package/dist/cjs/class/api/route-runtime.class.d.ts +2 -0
- package/dist/cjs/class/api/route-runtime.class.js +202 -60
- package/dist/cjs/class/api/route-runtime.class.js.map +1 -1
- package/dist/cjs/class/api/subscriber/executor.class.js +1 -0
- package/dist/cjs/class/api/subscriber/executor.class.js.map +1 -1
- package/dist/cjs/class/api/subscriber/registry.class.d.ts +3 -3
- package/dist/cjs/class/api/subscriber/registry.class.js +3 -1
- package/dist/cjs/class/api/subscriber/registry.class.js.map +1 -1
- package/dist/cjs/class/api/subscriber/route-base.class.d.ts +2 -2
- package/dist/cjs/class/api/subscriber/route-base.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js +1 -0
- package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js +1 -0
- package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/number.class.js +1 -0
- package/dist/cjs/class/utility/dto/property/factory/number.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/property/factory/relation.class.js +1 -0
- package/dist/cjs/class/utility/dto/property/factory/relation.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/body.class.js +1 -0
- package/dist/cjs/class/utility/dto/strategy/body.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/query.class.js +1 -0
- package/dist/cjs/class/utility/dto/strategy/query.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/request.class.js +1 -0
- package/dist/cjs/class/utility/dto/strategy/request.class.js.map +1 -1
- package/dist/cjs/class/utility/dto/strategy/response.class.js +1 -0
- package/dist/cjs/class/utility/dto/strategy/response.class.js.map +1 -1
- package/dist/cjs/constant/api-controller-cursor.constant.d.ts +1 -0
- package/dist/cjs/constant/api-controller-cursor.constant.js +6 -0
- package/dist/cjs/constant/api-controller-cursor.constant.js.map +1 -0
- package/dist/cjs/constant/filter/operator-registry.constant.js +1 -0
- package/dist/cjs/constant/filter/operator-registry.constant.js.map +1 -1
- package/dist/cjs/constant/safe-object-property-names.constant.d.ts +1 -0
- package/dist/cjs/constant/safe-object-property-names.constant.js +6 -0
- package/dist/cjs/constant/safe-object-property-names.constant.js.map +1 -0
- package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js +1 -0
- package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js.map +1 -1
- package/dist/cjs/constant/utility/dto/constant.js +1 -0
- package/dist/cjs/constant/utility/dto/constant.js.map +1 -1
- package/dist/cjs/decorator/api/controller/decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/create.decorator.js +1 -0
- package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/custom.decorator.js +1 -0
- package/dist/cjs/decorator/api/function/custom.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/decorator.js +5 -0
- package/dist/cjs/decorator/api/function/decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/delete.decorator.js +19 -7
- package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get/decorator.js +53 -19
- package/dist/cjs/decorator/api/function/get/decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get/list.decorator.js +41 -27
- package/dist/cjs/decorator/api/function/get/list.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/get/many.decorator.js +70 -19
- package/dist/cjs/decorator/api/function/get/many.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/step.decorator.js +1 -0
- package/dist/cjs/decorator/api/function/step.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/function/update.decorator.js +20 -1
- package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/method.decorator.js +1 -0
- package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/boolean.decorator.js +1 -0
- package/dist/cjs/decorator/api/property/boolean.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/date.decorator.js +1 -0
- package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/number.decorator.js +1 -0
- package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/string.decorator.js +1 -0
- package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/property/uuid.decorator.js +1 -0
- package/dist/cjs/decorator/api/property/uuid.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/route-custom.decorator.js +1 -0
- package/dist/cjs/decorator/api/route-custom.decorator.js.map +1 -1
- package/dist/cjs/decorator/api/service/decorator.js +16 -0
- package/dist/cjs/decorator/api/service/decorator.js.map +1 -1
- package/dist/cjs/enum/decorator/api/controller/get-list/query/index.d.ts +1 -0
- package/dist/cjs/enum/decorator/api/controller/get-list/query/pagination-mode.enum.d.ts +4 -0
- package/dist/cjs/enum/decorator/api/controller/get-list/query/pagination-mode.enum.js +8 -0
- package/dist/cjs/enum/decorator/api/controller/get-list/query/pagination-mode.enum.js.map +1 -0
- package/dist/cjs/factory/api-controller.factory.d.ts +4 -4
- package/dist/cjs/factory/api-controller.factory.js +37 -11
- package/dist/cjs/factory/api-controller.factory.js.map +1 -1
- package/dist/cjs/index.js +15 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interface/api/request-validator.interface.d.ts +3 -2
- package/dist/cjs/interface/class/api/authorization/policy/build-options.interface.d.ts +3 -2
- package/dist/cjs/interface/class/api/authorization/policy/registry.interface.d.ts +3 -2
- package/dist/cjs/interface/class/api/authorization/policy/subscriber/context/data.interface.d.ts +2 -1
- package/dist/cjs/interface/class/api/authorization/policy/subscriber/context/interface.d.ts +3 -2
- package/dist/cjs/interface/class/api/authorization/policy/subscriber/interface.d.ts +9 -8
- package/dist/cjs/interface/class/api/authorization/policy/subscriber/registration.interface.d.ts +3 -2
- package/dist/cjs/interface/class/api/authorization/request-metadata.interface.d.ts +3 -2
- package/dist/cjs/interface/class/api/controller/generated/get-many-session.interface.d.ts +11 -0
- package/dist/cjs/interface/class/api/controller/generated/index.d.ts +2 -0
- package/dist/cjs/interface/class/api/controller/generated/read-scope-entry.interface.d.ts +10 -0
- package/dist/cjs/interface/class/api/controller/get-list/query/plan/order/entry.interface.d.ts +5 -0
- package/dist/cjs/interface/class/api/controller/get-list/query/plan/order/index.d.ts +1 -0
- package/dist/cjs/interface/class/api/controller/get-list/query/plan/order/interface.d.ts +3 -0
- package/dist/cjs/interface/class/api/controller/get-list/query/plan/pagination.interface.d.ts +4 -0
- package/dist/cjs/interface/class/api/controller/get-list/query/runtime-result.interface.d.ts +2 -0
- package/dist/cjs/interface/class/api/controller/identity-plan.interface.d.ts +7 -0
- package/dist/cjs/interface/class/api/controller/index.d.ts +1 -0
- package/dist/cjs/interface/class/api/controller/read/index.d.ts +1 -0
- package/dist/cjs/interface/class/api/controller/read/plan/index.d.ts +2 -0
- package/dist/cjs/interface/class/api/controller/read/plan/interface.d.ts +7 -0
- package/dist/cjs/interface/class/api/controller/read/plan/parameter.interface.d.ts +4 -0
- package/dist/cjs/interface/class/api/route/runtime/generated/targets.interface.d.ts +2 -1
- package/dist/cjs/interface/class/api/subscriber/route/execution/context/data/extended.interface.d.ts +3 -2
- package/dist/cjs/interface/class/api/subscriber/route.interface.d.ts +7 -7
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/index.d.ts +1 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/read/index.d.ts +3 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/read/interface.d.ts +4 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/read/scope-parameter.interface.d.ts +5 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/read/scope.interface.d.ts +4 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/index.d.ts +1 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/interface.d.ts +2 -2
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/index.d.ts +1 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/interface.d.ts +4 -1
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/order/entry.interface.d.ts +6 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/order/index.d.ts +1 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/order/interface.d.ts +3 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/pagination.interface.d.ts +4 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/read-parameters-target.interface.d.ts +5 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/target.interface.d.ts +3 -2
- package/dist/cjs/interface/decorator/api/controller/properties/route/identity.interface.d.ts +3 -0
- package/dist/cjs/interface/decorator/api/controller/properties/route/index.d.ts +1 -0
- package/dist/cjs/interface/decorator/api/get-list/cursor-response-result.interface.d.ts +5 -0
- package/dist/cjs/interface/decorator/api/get-list/index.d.ts +2 -0
- package/dist/cjs/interface/decorator/api/index.d.ts +1 -1
- package/dist/cjs/module/api/authorization.module.js +2 -1
- package/dist/cjs/module/api/authorization.module.js.map +1 -1
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/type/api-request-transformer.type.d.ts +4 -2
- package/dist/cjs/type/class/api/authorization/policy/before/get/list-result.type.d.ts +2 -1
- package/dist/cjs/type/class/api/authorization/policy/context/before/get/list-context.type.d.ts +4 -3
- package/dist/cjs/type/class/api/authorization/policy/context/with-request-metadata.type.d.ts +4 -3
- package/dist/cjs/type/class/api/authorization/policy/hook/execution-result.type.d.ts +5 -0
- package/dist/cjs/type/class/api/authorization/policy/hook/result.type.d.ts +3 -2
- package/dist/cjs/type/class/api/authorization/policy/hook/type.d.ts +2 -1
- package/dist/cjs/type/class/api/authorization/rule/transform-payload.type.d.ts +2 -2
- package/dist/cjs/type/class/api/controller/generated/function.type.d.ts +1 -0
- package/dist/cjs/type/class/api/controller/generated/index.d.ts +2 -0
- package/dist/cjs/type/class/api/controller/generated/scope-function-type.type.d.ts +2 -0
- package/dist/cjs/type/class/api/controller/get-list/compiled/index.d.ts +3 -0
- package/dist/cjs/type/class/api/controller/get-list/compiled/order-field.type.d.ts +16 -0
- package/dist/cjs/type/class/api/controller/get-list/compiled/order.type.d.ts +6 -0
- package/dist/cjs/type/class/api/controller/get-list/compiled/plan.type.d.ts +8 -0
- package/dist/cjs/type/class/api/controller/get-list/cursor/execution-options.type.d.ts +18 -0
- package/dist/cjs/type/class/api/controller/get-list/cursor/index.d.ts +2 -0
- package/dist/cjs/type/class/api/controller/get-list/cursor/query-runtime-result.type.d.ts +8 -0
- package/dist/cjs/type/class/api/controller/get-list/index.d.ts +2 -0
- package/dist/cjs/type/class/api/controller/index.d.ts +1 -0
- package/dist/cjs/type/class/api/subscriber/route/after/get/list-context.type.d.ts +3 -2
- package/dist/cjs/type/class/api/subscriber/route/before/get/list-context.type.d.ts +5 -6
- package/dist/cjs/type/decorator/api/controller/get-list/index.d.ts +1 -0
- package/dist/cjs/type/decorator/api/controller/get-list/query/dto-contract.type.d.ts +1 -0
- package/dist/cjs/type/decorator/api/controller/get-list/query/request-target.type.d.ts +7 -0
- package/dist/cjs/type/decorator/api/controller/get-list/query/type.d.ts +22 -2
- package/dist/cjs/type/decorator/api/controller/get-list/response.type.d.ts +3 -0
- package/dist/cjs/type/decorator/api/controller/index.d.ts +1 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/contract.type.d.ts +5 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/identity/index.d.ts +2 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/identity/with.type.d.ts +11 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/identity/without.type.d.ts +3 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/read/dto.type.d.ts +10 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/read/index.d.ts +3 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/read/with.type.d.ts +11 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/read/without.type.d.ts +3 -0
- package/dist/cjs/type/decorator/api/controller/properties/route/without-parameters-dto.type.d.ts +4 -0
- package/dist/cjs/type/decorator/api/controller/properties-route.type.d.ts +3 -3
- package/dist/cjs/type/decorator/api/controller/read/direct-scalar-field.type.d.ts +2 -0
- package/dist/cjs/type/decorator/api/controller/read/index.d.ts +2 -0
- package/dist/cjs/type/decorator/api/controller/read/parameter-transformer/index.d.ts +1 -0
- package/dist/cjs/type/decorator/api/controller/read/parameter-transformer/type.d.ts +3 -0
- package/dist/cjs/type/decorator/api/controller/read/parameter-transformer/with-string-key.type.d.ts +5 -0
- package/dist/cjs/type/decorator/api/property/describe/properties/base/properties.type.d.ts +1 -1
- package/dist/cjs/type/factory/api/controller/method/map.type.d.ts +4 -5
- package/dist/cjs/type/factory/api/controller/target-methods.type.d.ts +3 -3
- package/dist/cjs/type/utility/api/controller/transform-data/is-validation-properties.type.d.ts +3 -2
- package/dist/cjs/type/utility/api/controller/transform-data/object-to-transform.type.d.ts +4 -3
- package/dist/cjs/type/utility/api/controller/transform-data/runtime-transformer.type.d.ts +3 -0
- package/dist/cjs/type/utility/api/controller/transform-data/targets.type.d.ts +17 -0
- package/dist/cjs/type/utility/dto/generate/allowed-combination.type.d.ts +1 -1
- package/dist/cjs/utility/api/controller/apply/decorators.utility.d.ts +18 -2
- package/dist/cjs/utility/api/controller/apply/decorators.utility.js +24 -2
- package/dist/cjs/utility/api/controller/apply/decorators.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/apply/metadata.utility.d.ts +18 -0
- package/dist/cjs/utility/api/controller/apply/metadata.utility.js +23 -3
- package/dist/cjs/utility/api/controller/apply/metadata.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/build-route-documentation.utility.js +1 -0
- package/dist/cjs/utility/api/controller/build-route-documentation.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get/dto.utility.d.ts +17 -0
- package/dist/cjs/utility/api/controller/get/dto.utility.js +90 -11
- package/dist/cjs/utility/api/controller/get/dto.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-list/query/get-pagination-mode.utility.d.ts +8 -0
- package/dist/cjs/utility/api/controller/get-list/query/get-pagination-mode.utility.js +43 -0
- package/dist/cjs/utility/api/controller/get-list/query/get-pagination-mode.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/get-list/query/open-api/decorators.utility.js +1 -0
- package/dist/cjs/utility/api/controller/get-list/query/open-api/decorators.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-list/query/open-api/value-schema.utility.js +1 -0
- package/dist/cjs/utility/api/controller/get-list/query/open-api/value-schema.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/get-list/query/resolve-cursor-order-fields.utility.d.ts +7 -0
- package/dist/cjs/utility/api/controller/get-list/query/resolve-cursor-order-fields.utility.js +26 -0
- package/dist/cjs/utility/api/controller/get-list/query/resolve-cursor-order-fields.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js +1 -0
- package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.d.ts +2 -1
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.js +1 -0
- package/dist/cjs/utility/api/controller/handle-request-relations.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/identity/assert-plan.utility.d.ts +8 -0
- package/dist/cjs/utility/api/controller/identity/assert-plan.utility.js +18 -0
- package/dist/cjs/utility/api/controller/identity/assert-plan.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/identity/index.d.ts +2 -0
- package/dist/cjs/utility/api/controller/identity/plan/get.utility.d.ts +7 -0
- package/dist/cjs/utility/api/controller/identity/plan/get.utility.js +15 -0
- package/dist/cjs/utility/api/controller/identity/plan/get.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/identity/plan/index.d.ts +2 -0
- package/dist/cjs/utility/api/controller/identity/plan/metadata-key.constant.d.ts +1 -0
- package/dist/cjs/utility/api/controller/identity/plan/metadata-key.constant.js +6 -0
- package/dist/cjs/utility/api/controller/identity/plan/metadata-key.constant.js.map +1 -0
- package/dist/cjs/utility/api/controller/identity/plan/set.utility.d.ts +8 -0
- package/dist/cjs/utility/api/controller/identity/plan/set.utility.js +16 -0
- package/dist/cjs/utility/api/controller/identity/plan/set.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/read/assert-plan.utility.d.ts +8 -0
- package/dist/cjs/utility/api/controller/read/assert-plan.utility.js +18 -0
- package/dist/cjs/utility/api/controller/read/assert-plan.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/read/index.d.ts +3 -0
- package/dist/cjs/utility/api/controller/read/plan/get.utility.d.ts +8 -0
- package/dist/cjs/utility/api/controller/read/plan/get.utility.js +16 -0
- package/dist/cjs/utility/api/controller/read/plan/get.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/read/plan/index.d.ts +2 -0
- package/dist/cjs/utility/api/controller/read/plan/metadata-key.constant.d.ts +1 -0
- package/dist/cjs/utility/api/controller/read/plan/metadata-key.constant.js +6 -0
- package/dist/cjs/utility/api/controller/read/plan/metadata-key.constant.js.map +1 -0
- package/dist/cjs/utility/api/controller/read/plan/set.utility.d.ts +9 -0
- package/dist/cjs/utility/api/controller/read/plan/set.utility.js +17 -0
- package/dist/cjs/utility/api/controller/read/plan/set.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/read/scope.utility.d.ts +12 -0
- package/dist/cjs/utility/api/controller/read/scope.utility.js +38 -0
- package/dist/cjs/utility/api/controller/read/scope.utility.js.map +1 -0
- package/dist/cjs/utility/api/controller/transform-data.utility.js +13 -11
- package/dist/cjs/utility/api/controller/transform-data.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/validate-request.utility.d.ts +2 -1
- package/dist/cjs/utility/api/controller/validate-request.utility.js.map +1 -1
- package/dist/cjs/utility/api/controller/write/dto-swagger.utility.d.ts +17 -0
- package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js +23 -4
- package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
- package/dist/cjs/utility/api/function-transaction.utility.js +1 -0
- package/dist/cjs/utility/api/function-transaction.utility.js.map +1 -1
- package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js +1 -0
- package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js.map +1 -1
- package/dist/cjs/utility/api/route/response/project-relation.utility.js +1 -0
- package/dist/cjs/utility/api/route/response/project-relation.utility.js.map +1 -1
- package/dist/cjs/utility/authorization/scope-merge-where.utility.js +247 -130
- package/dist/cjs/utility/authorization/scope-merge-where.utility.js.map +1 -1
- package/dist/cjs/utility/dto/build-decorator.utility.js +1 -0
- package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/core.utility.js +19 -7
- package/dist/cjs/utility/dto/generate/core.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/dynamic.utility.js +1 -0
- package/dist/cjs/utility/dto/generate/dynamic.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/exception.utility.js +1 -0
- package/dist/cjs/utility/dto/generate/exception.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/filter-decorator.utility.js +1 -0
- package/dist/cjs/utility/dto/generate/filter-decorator.utility.js.map +1 -1
- package/dist/cjs/utility/dto/generate/get-list/cursor-response.utility.d.ts +10 -0
- package/dist/cjs/utility/dto/generate/get-list/cursor-response.utility.js +100 -0
- package/dist/cjs/utility/dto/generate/get-list/cursor-response.utility.js.map +1 -0
- package/dist/cjs/utility/dto/generate/get-list/index.d.ts +3 -0
- package/dist/cjs/utility/dto/generate/{get-list-query-properties.utility.d.ts → get-list/query-properties.utility.d.ts} +4 -4
- package/dist/cjs/utility/dto/generate/{get-list-query-properties.utility.js → get-list/query-properties.utility.js} +35 -34
- package/dist/cjs/utility/dto/generate/get-list/query-properties.utility.js.map +1 -0
- package/dist/cjs/utility/dto/generate/{get-list-response.utility.d.ts → get-list/response.utility.d.ts} +1 -1
- package/dist/cjs/utility/dto/generate/{get-list-response.utility.js → get-list/response.utility.js} +33 -32
- package/dist/cjs/utility/dto/generate/get-list/response.utility.js.map +1 -0
- package/dist/cjs/utility/dto/generate/identity-read-parameters.utility.d.ts +17 -0
- package/dist/cjs/utility/dto/generate/identity-read-parameters.utility.js +113 -0
- package/dist/cjs/utility/dto/generate/identity-read-parameters.utility.js.map +1 -0
- package/dist/cjs/utility/dto/generate/index.d.ts +1 -1
- package/dist/cjs/utility/dto/generate/read-parameters.utility.d.ts +17 -0
- package/dist/cjs/utility/dto/generate/read-parameters.utility.js +111 -0
- package/dist/cjs/utility/dto/generate/read-parameters.utility.js.map +1 -0
- package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.d.ts +3 -2
- package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js +48 -15
- package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
- package/dist/cjs/utility/dto/handle-date-property.utility.js +1 -0
- package/dist/cjs/utility/dto/handle-date-property.utility.js.map +1 -1
- package/dist/cjs/utility/dto/is/property/infrastructure-timestamp.utility.js +1 -0
- package/dist/cjs/utility/dto/is/property/infrastructure-timestamp.utility.js.map +1 -1
- package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js +1 -0
- package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
- package/dist/cjs/utility/dto/is/should-be-generated.utility.js +1 -0
- package/dist/cjs/utility/dto/is/should-be-generated.utility.js.map +1 -1
- package/dist/cjs/utility/object-find-property-descriptor.utility.d.ts +7 -0
- package/dist/cjs/utility/object-find-property-descriptor.utility.js +22 -0
- package/dist/cjs/utility/object-find-property-descriptor.utility.js.map +1 -0
- package/dist/cjs/validator/at-most-one-of-listed-properties.validator.d.ts +5 -0
- package/dist/cjs/validator/at-most-one-of-listed-properties.validator.js +21 -0
- package/dist/cjs/validator/at-most-one-of-listed-properties.validator.js.map +1 -0
- package/dist/esm/class/api/authorization/guard.class.d.ts +1 -0
- package/dist/esm/class/api/authorization/guard.class.js +39 -3
- package/dist/esm/class/api/authorization/guard.class.js.map +1 -1
- package/dist/esm/class/api/authorization/iam/engine.class.d.ts +3 -2
- package/dist/esm/class/api/authorization/iam/engine.class.js.map +1 -1
- package/dist/esm/class/api/authorization/iam/query-planner.class.d.ts +3 -2
- package/dist/esm/class/api/authorization/iam/query-planner.class.js.map +1 -1
- package/dist/esm/class/api/authorization/policy/base.class.js +1 -0
- package/dist/esm/class/api/authorization/policy/base.class.js.map +1 -1
- package/dist/esm/class/api/authorization/policy/executor.class.d.ts +2 -1
- package/dist/esm/class/api/authorization/policy/executor.class.js.map +1 -1
- package/dist/esm/class/api/authorization/policy/registry.class.d.ts +3 -2
- package/dist/esm/class/api/authorization/policy/registry.class.js.map +1 -1
- package/dist/esm/class/api/authorization/runtime.class.d.ts +3 -2
- package/dist/esm/class/api/authorization/runtime.class.js +2 -1
- package/dist/esm/class/api/authorization/runtime.class.js.map +1 -1
- package/dist/esm/class/api/authorization/simulator.class.d.ts +3 -3
- package/dist/esm/class/api/authorization/simulator.class.js.map +1 -1
- package/dist/esm/class/api/controller/generated/function-capability.class.d.ts +12 -0
- package/dist/esm/class/api/controller/generated/function-capability.class.js +45 -0
- package/dist/esm/class/api/controller/generated/function-capability.class.js.map +1 -0
- package/dist/esm/class/api/controller/generated/get-many-contract.class.d.ts +25 -0
- package/dist/esm/class/api/controller/generated/get-many-contract.class.js +248 -0
- package/dist/esm/class/api/controller/generated/get-many-contract.class.js.map +1 -0
- package/dist/esm/class/api/controller/generated/index.d.ts +3 -0
- package/dist/esm/class/api/controller/generated/read-scope-storage.class.d.ts +19 -0
- package/dist/esm/class/api/controller/generated/read-scope-storage.class.js +118 -0
- package/dist/esm/class/api/controller/generated/read-scope-storage.class.js.map +1 -0
- package/dist/esm/class/api/controller/generated/relation-cache-contract.class.d.ts +11 -0
- package/dist/esm/class/api/controller/generated/relation-cache-contract.class.js +68 -0
- package/dist/esm/class/api/controller/generated/relation-cache-contract.class.js.map +1 -0
- package/dist/esm/class/api/controller/generated/scope-where-contract.class.d.ts +14 -0
- package/dist/esm/class/api/controller/generated/scope-where-contract.class.js +66 -0
- package/dist/esm/class/api/controller/generated/scope-where-contract.class.js.map +1 -0
- package/dist/esm/class/api/controller/generated/security-snapshot.class.d.ts +14 -0
- package/dist/esm/class/api/controller/generated/security-snapshot.class.js +163 -0
- package/dist/esm/class/api/controller/generated/security-snapshot.class.js.map +1 -0
- package/dist/esm/class/api/controller/generated/write-hydration-contract.class.d.ts +9 -0
- package/dist/esm/class/api/controller/generated/write-hydration-contract.class.js +67 -0
- package/dist/esm/class/api/controller/generated/write-hydration-contract.class.js.map +1 -0
- package/dist/esm/class/api/controller/get-list/cursor/data-source-contract.class.d.ts +32 -0
- package/dist/esm/class/api/controller/get-list/cursor/data-source-contract.class.js +422 -0
- package/dist/esm/class/api/controller/get-list/cursor/data-source-contract.class.js.map +1 -0
- package/dist/esm/class/api/controller/get-list/cursor/index.d.ts +2 -0
- package/dist/esm/class/api/controller/get-list/cursor/runtime.class.d.ts +28 -0
- package/dist/esm/class/api/controller/get-list/cursor/runtime.class.js +369 -0
- package/dist/esm/class/api/controller/get-list/cursor/runtime.class.js.map +1 -0
- package/dist/esm/class/api/controller/get-list/query/plan-compiler.class.d.ts +20 -0
- package/dist/esm/class/api/controller/get-list/query/plan-compiler.class.js +479 -41
- package/dist/esm/class/api/controller/get-list/query/plan-compiler.class.js.map +1 -1
- package/dist/esm/class/api/controller/get-list/query/runtime.class.d.ts +2 -0
- package/dist/esm/class/api/controller/get-list/query/runtime.class.js +45 -2
- package/dist/esm/class/api/controller/get-list/query/runtime.class.js.map +1 -1
- package/dist/esm/class/api/controller/identity-plan-compiler.class.d.ts +14 -0
- package/dist/esm/class/api/controller/identity-plan-compiler.class.js +148 -0
- package/dist/esm/class/api/controller/identity-plan-compiler.class.js.map +1 -0
- package/dist/esm/class/api/controller/index.d.ts +1 -0
- package/dist/esm/class/api/controller/read-plan-compiler.class.d.ts +17 -0
- package/dist/esm/class/api/controller/read-plan-compiler.class.js +238 -0
- package/dist/esm/class/api/controller/read-plan-compiler.class.js.map +1 -0
- package/dist/esm/class/api/function/context-storage.class.js +1 -0
- package/dist/esm/class/api/function/context-storage.class.js.map +1 -1
- package/dist/esm/class/api/function/custom-runtime.class.js +1 -0
- package/dist/esm/class/api/function/custom-runtime.class.js.map +1 -1
- package/dist/esm/class/api/function/step-runtime.class.js +1 -0
- package/dist/esm/class/api/function/step-runtime.class.js.map +1 -1
- package/dist/esm/class/api/function/transaction/exception/commit-unknown-outcome.class.js +1 -0
- package/dist/esm/class/api/function/transaction/exception/commit-unknown-outcome.class.js.map +1 -1
- package/dist/esm/class/api/function/transaction/exception/post-commit.class.js +1 -0
- package/dist/esm/class/api/function/transaction/exception/post-commit.class.js.map +1 -1
- package/dist/esm/class/api/function/transaction/exception/rollback.class.js +1 -0
- package/dist/esm/class/api/function/transaction/exception/rollback.class.js.map +1 -1
- package/dist/esm/class/api/function/transaction/lifecycle.class.js +1 -0
- package/dist/esm/class/api/function/transaction/lifecycle.class.js.map +1 -1
- package/dist/esm/class/api/function/transaction/registry.class.js +1 -0
- package/dist/esm/class/api/function/transaction/registry.class.js.map +1 -1
- package/dist/esm/class/api/function/transaction/runtime.class.js +1 -0
- package/dist/esm/class/api/function/transaction/runtime.class.js.map +1 -1
- package/dist/esm/class/api/function/transaction/scope.class.js +1 -0
- package/dist/esm/class/api/function/transaction/scope.class.js.map +1 -1
- package/dist/esm/class/api/route-runtime.class.d.ts +2 -0
- package/dist/esm/class/api/route-runtime.class.js +201 -59
- package/dist/esm/class/api/route-runtime.class.js.map +1 -1
- package/dist/esm/class/api/subscriber/executor.class.js +1 -0
- package/dist/esm/class/api/subscriber/executor.class.js.map +1 -1
- package/dist/esm/class/api/subscriber/registry.class.d.ts +3 -3
- package/dist/esm/class/api/subscriber/registry.class.js +3 -1
- package/dist/esm/class/api/subscriber/registry.class.js.map +1 -1
- package/dist/esm/class/api/subscriber/route-base.class.d.ts +2 -2
- package/dist/esm/class/api/subscriber/route-base.class.js.map +1 -1
- package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js +1 -0
- package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
- package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js +1 -0
- package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
- package/dist/esm/class/utility/dto/property/factory/number.class.js +1 -0
- package/dist/esm/class/utility/dto/property/factory/number.class.js.map +1 -1
- package/dist/esm/class/utility/dto/property/factory/relation.class.js +1 -0
- package/dist/esm/class/utility/dto/property/factory/relation.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/body.class.js +1 -0
- package/dist/esm/class/utility/dto/strategy/body.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/query.class.js +1 -0
- package/dist/esm/class/utility/dto/strategy/query.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/request.class.js +1 -0
- package/dist/esm/class/utility/dto/strategy/request.class.js.map +1 -1
- package/dist/esm/class/utility/dto/strategy/response.class.js +1 -0
- package/dist/esm/class/utility/dto/strategy/response.class.js.map +1 -1
- package/dist/esm/constant/api-controller-cursor.constant.d.ts +1 -0
- package/dist/esm/constant/api-controller-cursor.constant.js +4 -0
- package/dist/esm/constant/api-controller-cursor.constant.js.map +1 -0
- package/dist/esm/constant/filter/operator-registry.constant.js +1 -0
- package/dist/esm/constant/filter/operator-registry.constant.js.map +1 -1
- package/dist/esm/constant/safe-object-property-names.constant.d.ts +1 -0
- package/dist/esm/constant/safe-object-property-names.constant.js +4 -0
- package/dist/esm/constant/safe-object-property-names.constant.js.map +1 -0
- package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js +1 -0
- package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js.map +1 -1
- package/dist/esm/constant/utility/dto/constant.js +1 -0
- package/dist/esm/constant/utility/dto/constant.js.map +1 -1
- package/dist/esm/decorator/api/controller/decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/create.decorator.js +1 -0
- package/dist/esm/decorator/api/function/create.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/custom.decorator.js +1 -0
- package/dist/esm/decorator/api/function/custom.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/decorator.js +5 -0
- package/dist/esm/decorator/api/function/decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/delete.decorator.js +19 -7
- package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/get/decorator.js +53 -19
- package/dist/esm/decorator/api/function/get/decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/get/list.decorator.js +41 -27
- package/dist/esm/decorator/api/function/get/list.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/get/many.decorator.js +70 -19
- package/dist/esm/decorator/api/function/get/many.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/step.decorator.js +1 -0
- package/dist/esm/decorator/api/function/step.decorator.js.map +1 -1
- package/dist/esm/decorator/api/function/update.decorator.js +20 -1
- package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
- package/dist/esm/decorator/api/method.decorator.js +1 -0
- package/dist/esm/decorator/api/method.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/boolean.decorator.js +1 -0
- package/dist/esm/decorator/api/property/boolean.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/date.decorator.js +1 -0
- package/dist/esm/decorator/api/property/date.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/number.decorator.js +1 -0
- package/dist/esm/decorator/api/property/number.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/string.decorator.js +1 -0
- package/dist/esm/decorator/api/property/string.decorator.js.map +1 -1
- package/dist/esm/decorator/api/property/uuid.decorator.js +1 -0
- package/dist/esm/decorator/api/property/uuid.decorator.js.map +1 -1
- package/dist/esm/decorator/api/route-custom.decorator.js +1 -0
- package/dist/esm/decorator/api/route-custom.decorator.js.map +1 -1
- package/dist/esm/decorator/api/service/decorator.js +16 -0
- package/dist/esm/decorator/api/service/decorator.js.map +1 -1
- package/dist/esm/enum/decorator/api/controller/get-list/query/index.d.ts +1 -0
- package/dist/esm/enum/decorator/api/controller/get-list/query/pagination-mode.enum.d.ts +4 -0
- package/dist/esm/enum/decorator/api/controller/get-list/query/pagination-mode.enum.js +8 -0
- package/dist/esm/enum/decorator/api/controller/get-list/query/pagination-mode.enum.js.map +1 -0
- package/dist/esm/factory/api-controller.factory.d.ts +4 -4
- package/dist/esm/factory/api-controller.factory.js +36 -10
- package/dist/esm/factory/api-controller.factory.js.map +1 -1
- package/dist/esm/index.js +7 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interface/api/request-validator.interface.d.ts +3 -2
- package/dist/esm/interface/class/api/authorization/policy/build-options.interface.d.ts +3 -2
- package/dist/esm/interface/class/api/authorization/policy/registry.interface.d.ts +3 -2
- package/dist/esm/interface/class/api/authorization/policy/subscriber/context/data.interface.d.ts +2 -1
- package/dist/esm/interface/class/api/authorization/policy/subscriber/context/interface.d.ts +3 -2
- package/dist/esm/interface/class/api/authorization/policy/subscriber/interface.d.ts +9 -8
- package/dist/esm/interface/class/api/authorization/policy/subscriber/registration.interface.d.ts +3 -2
- package/dist/esm/interface/class/api/authorization/request-metadata.interface.d.ts +3 -2
- package/dist/esm/interface/class/api/controller/generated/get-many-session.interface.d.ts +11 -0
- package/dist/esm/interface/class/api/controller/generated/index.d.ts +2 -0
- package/dist/esm/interface/class/api/controller/generated/read-scope-entry.interface.d.ts +10 -0
- package/dist/esm/interface/class/api/controller/get-list/query/plan/order/entry.interface.d.ts +5 -0
- package/dist/esm/interface/class/api/controller/get-list/query/plan/order/index.d.ts +1 -0
- package/dist/esm/interface/class/api/controller/get-list/query/plan/order/interface.d.ts +3 -0
- package/dist/esm/interface/class/api/controller/get-list/query/plan/pagination.interface.d.ts +4 -0
- package/dist/esm/interface/class/api/controller/get-list/query/runtime-result.interface.d.ts +2 -0
- package/dist/esm/interface/class/api/controller/identity-plan.interface.d.ts +7 -0
- package/dist/esm/interface/class/api/controller/index.d.ts +1 -0
- package/dist/esm/interface/class/api/controller/read/index.d.ts +1 -0
- package/dist/esm/interface/class/api/controller/read/plan/index.d.ts +2 -0
- package/dist/esm/interface/class/api/controller/read/plan/interface.d.ts +7 -0
- package/dist/esm/interface/class/api/controller/read/plan/parameter.interface.d.ts +4 -0
- package/dist/esm/interface/class/api/route/runtime/generated/targets.interface.d.ts +2 -1
- package/dist/esm/interface/class/api/subscriber/route/execution/context/data/extended.interface.d.ts +3 -2
- package/dist/esm/interface/class/api/subscriber/route.interface.d.ts +7 -7
- package/dist/esm/interface/decorator/api/controller/properties/route/base/index.d.ts +1 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/read/index.d.ts +3 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/read/interface.d.ts +4 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/read/scope-parameter.interface.d.ts +5 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/read/scope.interface.d.ts +4 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/index.d.ts +1 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/interface.d.ts +2 -2
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/index.d.ts +1 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/interface.d.ts +4 -1
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/order/entry.interface.d.ts +6 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/order/index.d.ts +1 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/order/interface.d.ts +3 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/pagination.interface.d.ts +4 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/read-parameters-target.interface.d.ts +5 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/base/request/target.interface.d.ts +3 -2
- package/dist/esm/interface/decorator/api/controller/properties/route/identity.interface.d.ts +3 -0
- package/dist/esm/interface/decorator/api/controller/properties/route/index.d.ts +1 -0
- package/dist/esm/interface/decorator/api/get-list/cursor-response-result.interface.d.ts +5 -0
- package/dist/esm/interface/decorator/api/get-list/index.d.ts +2 -0
- package/dist/esm/interface/decorator/api/index.d.ts +1 -1
- package/dist/esm/module/api/authorization.module.js +2 -1
- package/dist/esm/module/api/authorization.module.js.map +1 -1
- package/dist/esm/package.json +1 -0
- package/dist/esm/type/api-request-transformer.type.d.ts +4 -2
- package/dist/esm/type/class/api/authorization/policy/before/get/list-result.type.d.ts +2 -1
- package/dist/esm/type/class/api/authorization/policy/context/before/get/list-context.type.d.ts +4 -3
- package/dist/esm/type/class/api/authorization/policy/context/with-request-metadata.type.d.ts +4 -3
- package/dist/esm/type/class/api/authorization/policy/hook/execution-result.type.d.ts +5 -0
- package/dist/esm/type/class/api/authorization/policy/hook/result.type.d.ts +3 -2
- package/dist/esm/type/class/api/authorization/policy/hook/type.d.ts +2 -1
- package/dist/esm/type/class/api/authorization/rule/transform-payload.type.d.ts +2 -2
- package/dist/esm/type/class/api/controller/generated/function.type.d.ts +1 -0
- package/dist/esm/type/class/api/controller/generated/index.d.ts +2 -0
- package/dist/esm/type/class/api/controller/generated/scope-function-type.type.d.ts +2 -0
- package/dist/esm/type/class/api/controller/get-list/compiled/index.d.ts +3 -0
- package/dist/esm/type/class/api/controller/get-list/compiled/order-field.type.d.ts +16 -0
- package/dist/esm/type/class/api/controller/get-list/compiled/order.type.d.ts +6 -0
- package/dist/esm/type/class/api/controller/get-list/compiled/plan.type.d.ts +8 -0
- package/dist/esm/type/class/api/controller/get-list/cursor/execution-options.type.d.ts +18 -0
- package/dist/esm/type/class/api/controller/get-list/cursor/index.d.ts +2 -0
- package/dist/esm/type/class/api/controller/get-list/cursor/query-runtime-result.type.d.ts +8 -0
- package/dist/esm/type/class/api/controller/get-list/index.d.ts +2 -0
- package/dist/esm/type/class/api/controller/index.d.ts +1 -0
- package/dist/esm/type/class/api/subscriber/route/after/get/list-context.type.d.ts +3 -2
- package/dist/esm/type/class/api/subscriber/route/before/get/list-context.type.d.ts +5 -6
- package/dist/esm/type/decorator/api/controller/get-list/index.d.ts +1 -0
- package/dist/esm/type/decorator/api/controller/get-list/query/dto-contract.type.d.ts +1 -0
- package/dist/esm/type/decorator/api/controller/get-list/query/request-target.type.d.ts +7 -0
- package/dist/esm/type/decorator/api/controller/get-list/query/type.d.ts +22 -2
- package/dist/esm/type/decorator/api/controller/get-list/response.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/controller/index.d.ts +1 -0
- package/dist/esm/type/decorator/api/controller/properties/route/contract.type.d.ts +5 -0
- package/dist/esm/type/decorator/api/controller/properties/route/identity/index.d.ts +2 -0
- package/dist/esm/type/decorator/api/controller/properties/route/identity/with.type.d.ts +11 -0
- package/dist/esm/type/decorator/api/controller/properties/route/identity/without.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/controller/properties/route/read/dto.type.d.ts +10 -0
- package/dist/esm/type/decorator/api/controller/properties/route/read/index.d.ts +3 -0
- package/dist/esm/type/decorator/api/controller/properties/route/read/with.type.d.ts +11 -0
- package/dist/esm/type/decorator/api/controller/properties/route/read/without.type.d.ts +3 -0
- package/dist/esm/type/decorator/api/controller/properties/route/without-parameters-dto.type.d.ts +4 -0
- package/dist/esm/type/decorator/api/controller/properties-route.type.d.ts +3 -3
- package/dist/esm/type/decorator/api/controller/read/direct-scalar-field.type.d.ts +2 -0
- package/dist/esm/type/decorator/api/controller/read/index.d.ts +2 -0
- package/dist/esm/type/decorator/api/controller/read/parameter-transformer/index.d.ts +1 -0
- package/dist/esm/type/decorator/api/controller/read/parameter-transformer/type.d.ts +3 -0
- package/dist/esm/type/decorator/api/controller/read/parameter-transformer/with-string-key.type.d.ts +5 -0
- package/dist/esm/type/decorator/api/property/describe/properties/base/properties.type.d.ts +1 -1
- package/dist/esm/type/factory/api/controller/method/map.type.d.ts +4 -5
- package/dist/esm/type/factory/api/controller/target-methods.type.d.ts +3 -3
- package/dist/esm/type/utility/api/controller/transform-data/is-validation-properties.type.d.ts +3 -2
- package/dist/esm/type/utility/api/controller/transform-data/object-to-transform.type.d.ts +4 -3
- package/dist/esm/type/utility/api/controller/transform-data/runtime-transformer.type.d.ts +3 -0
- package/dist/esm/type/utility/api/controller/transform-data/targets.type.d.ts +17 -0
- package/dist/esm/type/utility/dto/generate/allowed-combination.type.d.ts +1 -1
- package/dist/esm/utility/api/controller/apply/decorators.utility.d.ts +18 -2
- package/dist/esm/utility/api/controller/apply/decorators.utility.js +25 -4
- package/dist/esm/utility/api/controller/apply/decorators.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/apply/metadata.utility.d.ts +18 -0
- package/dist/esm/utility/api/controller/apply/metadata.utility.js +24 -5
- package/dist/esm/utility/api/controller/apply/metadata.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/build-route-documentation.utility.js +1 -0
- package/dist/esm/utility/api/controller/build-route-documentation.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/get/dto.utility.d.ts +17 -0
- package/dist/esm/utility/api/controller/get/dto.utility.js +90 -12
- package/dist/esm/utility/api/controller/get/dto.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/get-list/query/get-pagination-mode.utility.d.ts +8 -0
- package/dist/esm/utility/api/controller/get-list/query/get-pagination-mode.utility.js +41 -0
- package/dist/esm/utility/api/controller/get-list/query/get-pagination-mode.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/get-list/query/open-api/decorators.utility.js +1 -0
- package/dist/esm/utility/api/controller/get-list/query/open-api/decorators.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/get-list/query/open-api/value-schema.utility.js +1 -0
- package/dist/esm/utility/api/controller/get-list/query/open-api/value-schema.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/get-list/query/resolve-cursor-order-fields.utility.d.ts +7 -0
- package/dist/esm/utility/api/controller/get-list/query/resolve-cursor-order-fields.utility.js +24 -0
- package/dist/esm/utility/api/controller/get-list/query/resolve-cursor-order-fields.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js +1 -0
- package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/handle-request-relations.utility.d.ts +2 -1
- package/dist/esm/utility/api/controller/handle-request-relations.utility.js +1 -0
- package/dist/esm/utility/api/controller/handle-request-relations.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/identity/assert-plan.utility.d.ts +8 -0
- package/dist/esm/utility/api/controller/identity/assert-plan.utility.js +16 -0
- package/dist/esm/utility/api/controller/identity/assert-plan.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/identity/index.d.ts +2 -0
- package/dist/esm/utility/api/controller/identity/plan/get.utility.d.ts +7 -0
- package/dist/esm/utility/api/controller/identity/plan/get.utility.js +13 -0
- package/dist/esm/utility/api/controller/identity/plan/get.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/identity/plan/index.d.ts +2 -0
- package/dist/esm/utility/api/controller/identity/plan/metadata-key.constant.d.ts +1 -0
- package/dist/esm/utility/api/controller/identity/plan/metadata-key.constant.js +4 -0
- package/dist/esm/utility/api/controller/identity/plan/metadata-key.constant.js.map +1 -0
- package/dist/esm/utility/api/controller/identity/plan/set.utility.d.ts +8 -0
- package/dist/esm/utility/api/controller/identity/plan/set.utility.js +14 -0
- package/dist/esm/utility/api/controller/identity/plan/set.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/read/assert-plan.utility.d.ts +8 -0
- package/dist/esm/utility/api/controller/read/assert-plan.utility.js +16 -0
- package/dist/esm/utility/api/controller/read/assert-plan.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/read/index.d.ts +3 -0
- package/dist/esm/utility/api/controller/read/plan/get.utility.d.ts +8 -0
- package/dist/esm/utility/api/controller/read/plan/get.utility.js +14 -0
- package/dist/esm/utility/api/controller/read/plan/get.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/read/plan/index.d.ts +2 -0
- package/dist/esm/utility/api/controller/read/plan/metadata-key.constant.d.ts +1 -0
- package/dist/esm/utility/api/controller/read/plan/metadata-key.constant.js +4 -0
- package/dist/esm/utility/api/controller/read/plan/metadata-key.constant.js.map +1 -0
- package/dist/esm/utility/api/controller/read/plan/set.utility.d.ts +9 -0
- package/dist/esm/utility/api/controller/read/plan/set.utility.js +15 -0
- package/dist/esm/utility/api/controller/read/plan/set.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/read/scope.utility.d.ts +12 -0
- package/dist/esm/utility/api/controller/read/scope.utility.js +36 -0
- package/dist/esm/utility/api/controller/read/scope.utility.js.map +1 -0
- package/dist/esm/utility/api/controller/transform-data.utility.js +13 -11
- package/dist/esm/utility/api/controller/transform-data.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/validate-request.utility.d.ts +2 -1
- package/dist/esm/utility/api/controller/validate-request.utility.js.map +1 -1
- package/dist/esm/utility/api/controller/write/dto-swagger.utility.d.ts +17 -0
- package/dist/esm/utility/api/controller/write/dto-swagger.utility.js +24 -6
- package/dist/esm/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
- package/dist/esm/utility/api/function-transaction.utility.js +1 -0
- package/dist/esm/utility/api/function-transaction.utility.js.map +1 -1
- package/dist/esm/utility/api/route/apply-dto-metadata.utility.js +1 -0
- package/dist/esm/utility/api/route/apply-dto-metadata.utility.js.map +1 -1
- package/dist/esm/utility/api/route/response/project-relation.utility.js +1 -0
- package/dist/esm/utility/api/route/response/project-relation.utility.js.map +1 -1
- package/dist/esm/utility/authorization/scope-merge-where.utility.js +248 -131
- package/dist/esm/utility/authorization/scope-merge-where.utility.js.map +1 -1
- package/dist/esm/utility/dto/build-decorator.utility.js +1 -0
- package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/core.utility.js +18 -6
- package/dist/esm/utility/dto/generate/core.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/dynamic.utility.js +1 -0
- package/dist/esm/utility/dto/generate/dynamic.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/exception.utility.js +1 -0
- package/dist/esm/utility/dto/generate/exception.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/filter-decorator.utility.js +1 -0
- package/dist/esm/utility/dto/generate/filter-decorator.utility.js.map +1 -1
- package/dist/esm/utility/dto/generate/get-list/cursor-response.utility.d.ts +10 -0
- package/dist/esm/utility/dto/generate/get-list/cursor-response.utility.js +98 -0
- package/dist/esm/utility/dto/generate/get-list/cursor-response.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate/get-list/index.d.ts +3 -0
- package/dist/esm/utility/dto/generate/{get-list-query-properties.utility.d.ts → get-list/query-properties.utility.d.ts} +4 -4
- package/dist/esm/utility/dto/generate/{get-list-query-properties.utility.js → get-list/query-properties.utility.js} +35 -34
- package/dist/esm/utility/dto/generate/get-list/query-properties.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate/{get-list-response.utility.d.ts → get-list/response.utility.d.ts} +1 -1
- package/dist/esm/utility/dto/generate/{get-list-response.utility.js → get-list/response.utility.js} +33 -32
- package/dist/esm/utility/dto/generate/get-list/response.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate/identity-read-parameters.utility.d.ts +17 -0
- package/dist/esm/utility/dto/generate/identity-read-parameters.utility.js +111 -0
- package/dist/esm/utility/dto/generate/identity-read-parameters.utility.js.map +1 -0
- package/dist/esm/utility/dto/generate/index.d.ts +1 -1
- package/dist/esm/utility/dto/generate/read-parameters.utility.d.ts +17 -0
- package/dist/esm/utility/dto/generate/read-parameters.utility.js +109 -0
- package/dist/esm/utility/dto/generate/read-parameters.utility.js.map +1 -0
- package/dist/esm/utility/dto/get/get-list-query-base-class.utility.d.ts +3 -2
- package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js +48 -15
- package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
- package/dist/esm/utility/dto/handle-date-property.utility.js +1 -0
- package/dist/esm/utility/dto/handle-date-property.utility.js.map +1 -1
- package/dist/esm/utility/dto/is/property/infrastructure-timestamp.utility.js +1 -0
- package/dist/esm/utility/dto/is/property/infrastructure-timestamp.utility.js.map +1 -1
- package/dist/esm/utility/dto/is/property/should-be-marked.utility.js +1 -0
- package/dist/esm/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
- package/dist/esm/utility/dto/is/should-be-generated.utility.js +1 -0
- package/dist/esm/utility/dto/is/should-be-generated.utility.js.map +1 -1
- package/dist/esm/utility/object-find-property-descriptor.utility.d.ts +7 -0
- package/dist/esm/utility/object-find-property-descriptor.utility.js +20 -0
- package/dist/esm/utility/object-find-property-descriptor.utility.js.map +1 -0
- package/dist/esm/validator/at-most-one-of-listed-properties.validator.d.ts +5 -0
- package/dist/esm/validator/at-most-one-of-listed-properties.validator.js +21 -0
- package/dist/esm/validator/at-most-one-of-listed-properties.validator.js.map +1 -0
- package/package.json +2 -1
- package/dist/cjs/utility/dto/generate/get-list-query-properties.utility.js.map +0 -1
- package/dist/cjs/utility/dto/generate/get-list-response.utility.js.map +0 -1
- package/dist/esm/utility/dto/generate/get-list-query-properties.utility.js.map +0 -1
- package/dist/esm/utility/dto/generate/get-list-response.utility.js.map +0 -1
- /package/dist/cjs/interface/decorator/api/{get-list-response-result.interface.d.ts → get-list/response-result.interface.d.ts} +0 -0
- /package/dist/esm/interface/decorator/api/{get-list-response-result.interface.d.ts → get-list/response-result.interface.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
- [Advanced Usage](#advanced-usage)
|
|
22
22
|
- [Subscriber System (Hooks)](#subscriber-system-hooks-intercepting-and-extending-logic)
|
|
23
23
|
- [Swagger Documentation](#swagger-documentation)
|
|
24
|
+
- [Migrating to 4.0](#-migrating-to-40)
|
|
24
25
|
- [Migrating to 3.0](#-migrating-to-30)
|
|
25
26
|
- [Current Status](#-current-status)
|
|
26
27
|
- [AI Agent Skill](#-ai-agent-skill)
|
|
@@ -41,7 +42,8 @@ The core philosophy of this library is built on four pillars: being **Declarativ
|
|
|
41
42
|
- ✨ **🔄 Data transformation with class-transformer for request/response handling**
|
|
42
43
|
- ✨ **🧩 Type-safe decorators for entity properties with rich metadata support**
|
|
43
44
|
- ✨ **🔒 Authentication and authorization guards integration**
|
|
44
|
-
- ✨ **🔍 Advanced filtering, sorting, and pagination for list operations**
|
|
45
|
+
- ✨ **🔍 Advanced filtering, sorting, and generated PAGE/CURSOR pagination for list operations**
|
|
46
|
+
- ✨ **🧩 Generated nested GET/GET_LIST reads with owner path scoping and stable server ordering**
|
|
45
47
|
- ✨ **📚 Support for object relations with include-driven loading**
|
|
46
48
|
- ✨ **⚡ Performance optimized with TypeORM integration for database operations**
|
|
47
49
|
- ✨ **🌐 Full support for TypeScript with strong typing throughout the library**
|
|
@@ -67,7 +69,7 @@ yarn add @elsikora/nestjs-crud-automator
|
|
|
67
69
|
pnpm add @elsikora/nestjs-crud-automator
|
|
68
70
|
```
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
Version `3.0.2` is the published baseline before the current generated-route work. The source now includes an intentional breaking capability boundary for generated service calls and must be released as a new major; package versions remain owned by release automation. Pin the exact released version your application has verified and review [Migrating to 4.0](https://elsikora.com/docs/nestjs-crud-automator/guides/migrating-to-4-0).
|
|
71
73
|
|
|
72
74
|
### Prerequisites
|
|
73
75
|
|
|
@@ -438,7 +440,9 @@ export class UserController {
|
|
|
438
440
|
}
|
|
439
441
|
```
|
|
440
442
|
|
|
441
|
-
The
|
|
443
|
+
The shown route omits pagination config, so it uses PAGE and keeps `count`, `currentPage`, `items`, `totalCount`, and `totalPages`, while `items` are serialized with `PublicUserResponseDto`. A route that opts into CURSOR instead uses the flat `{ items, nextCursor, previousCursor }` wrapper, provided its item DTO satisfies the CURSOR proof below.
|
|
444
|
+
|
|
445
|
+
For CURSOR, custom DTO metadata must keep every potential order field and final primary tie-breaker as a same-name, required, non-null, raw response scalar. A full custom wrapper must prove exactly `items`, `nextCursor`, and `previousCursor`. Wire-time aliases/transforms that change protected fields fail closed; PAGE custom DTO behavior is unchanged.
|
|
442
446
|
|
|
443
447
|
### Authorization
|
|
444
448
|
|
|
@@ -1299,21 +1303,118 @@ The library provides advanced filtering capabilities for list endpoints:
|
|
|
1299
1303
|
|
|
1300
1304
|
This query would search for users with "john" in their username and created between Jan 1 and Dec 31, 2023.
|
|
1301
1305
|
|
|
1302
|
-
GET_LIST query DTOs remain dynamically generated from entity `ApiPropertyDescribe` and TypeORM metadata. A route can optionally narrow or overlay that baseline through `routes[GET_LIST].request[QUERY].filter` and `order`. The normalized plan drives the generated DTO, strict runtime parser, TypeORM predicates, and OpenAPI deep-object `oneOf` branches. Omitted sections retain legacy metadata-driven behavior.
|
|
1306
|
+
GET_LIST query DTOs remain dynamically generated from entity `ApiPropertyDescribe` and TypeORM metadata. A route can optionally narrow or overlay that baseline through `routes[GET_LIST].request[QUERY].filter` and `order`, and select `pagination.mode`. The normalized plan drives the generated DTO, strict runtime parser, TypeORM predicates, response wrapper, and OpenAPI deep-object `oneOf` branches. Omitted pagination remains PAGE; omitted filter/order sections retain legacy metadata-driven behavior in PAGE mode.
|
|
1307
|
+
|
|
1308
|
+
Use `INHERIT` to overlay metadata-enabled fields or `REJECT` to create an allowlist. Enabled filters declare a non-empty operation set and optional `OMIT`, `REJECT`, or `USE_DEFAULT` missing behavior; `REJECT` returns `400 FILTER_REQUIRED`. Route plans cannot re-enable metadata-disabled fields. A manual QUERY DTO is mutually exclusive with generated filter/order/pagination config, while a manual RESPONSE DTO remains compatible.
|
|
1309
|
+
|
|
1310
|
+
### Generated Nested Reads and Stable Ordering
|
|
1311
|
+
|
|
1312
|
+
Generated `GET` and `GET_LIST` routes can bind inherited controller path parameters to described direct scalar entity fields. This keeps nested owner/resource reads inside the native generated runtime:
|
|
1313
|
+
|
|
1314
|
+
```typescript
|
|
1315
|
+
@ApiController<GameEntity>({
|
|
1316
|
+
entity: GameEntity,
|
|
1317
|
+
path: "providers/:providerKey/games",
|
|
1318
|
+
routes: {
|
|
1319
|
+
[EApiRouteType.GET]: {
|
|
1320
|
+
identity: { parameter: "gameId" },
|
|
1321
|
+
read: {
|
|
1322
|
+
scope: {
|
|
1323
|
+
parameters: [{ parameter: "providerKey", field: "providerId" }],
|
|
1324
|
+
},
|
|
1325
|
+
},
|
|
1326
|
+
},
|
|
1327
|
+
[EApiRouteType.GET_LIST]: {
|
|
1328
|
+
read: {
|
|
1329
|
+
scope: {
|
|
1330
|
+
parameters: [{ parameter: "providerKey", field: "providerId" }],
|
|
1331
|
+
},
|
|
1332
|
+
},
|
|
1333
|
+
request: {
|
|
1334
|
+
[EApiControllerRequestTarget.QUERY]: {
|
|
1335
|
+
order: {
|
|
1336
|
+
defaultOrder: [
|
|
1337
|
+
{ direction: EFilterOrderDirection.DESC, field: "rank" },
|
|
1338
|
+
{ direction: EFilterOrderDirection.ASC, field: "id" },
|
|
1339
|
+
],
|
|
1340
|
+
fields: {
|
|
1341
|
+
rank: { isEnabled: true },
|
|
1342
|
+
},
|
|
1343
|
+
tieBreakers: [{ direction: EFilterOrderDirection.ASC, field: "id" }],
|
|
1344
|
+
unlistedFields: EApiControllerGetListQueryUnlistedFields.REJECT,
|
|
1345
|
+
},
|
|
1346
|
+
},
|
|
1347
|
+
},
|
|
1348
|
+
},
|
|
1349
|
+
},
|
|
1350
|
+
})
|
|
1351
|
+
export class ProviderGameController {
|
|
1352
|
+
constructor(public service: GameService) {}
|
|
1353
|
+
}
|
|
1354
|
+
```
|
|
1355
|
+
|
|
1356
|
+
`identity.parameter` gives generated `GET` an external primary-identity name without changing the entity field: the example exposes `:gameId` while its TypeORM predicate still targets the entity primary column. The identity config is GET-only. It may be used by itself only when the controller path has no inherited dynamic parameters; any inherited path parameter requires `read.scope.parameters` on the same GET, with every inherited parameter mapped. Its value must be a safe simple identifier such as `gameId`; whitespace, slashes, control characters, punctuation, inherited-path collisions, and unsafe object-property names fail at bootstrap. It does not select an arbitrary lookup field and it does not rename response properties.
|
|
1357
|
+
|
|
1358
|
+
Every required scalar `:parameter` inherited from the controller `path` must be mapped exactly once. Wildcards and optional/grouped dynamic parameters are not valid read-scope owners and fail at bootstrap. Each mapping targets a described direct scalar field; duplicate parameters, duplicate fields, unknown path parameters, relations, objects, and missing mappings also fail at bootstrap. Automator generates and documents a route-scoped PARAMETERS DTO from the mapped field metadata and the configured external GET identity. A manual PARAMETERS DTO and generated read configuration are mutually exclusive.
|
|
1359
|
+
|
|
1360
|
+
Read criteria are merged conjunctively in a fixed order: GET identity or GET_LIST query predicates, then path scope, then HOOKS/IAM scope. A later layer never overwrites an earlier field; incompatible values become a match-nothing condition. During an additional-scope merge, scalar leaves are emitted as explicit TypeORM `Equal(...)` predicates so relation-shaped paths cannot cause TypeORM to discard them. Wrap object-valued scalar columns such as JSON/JSONB or geometry in `Equal(value)` explicitly; unwrapped objects are interpreted as relation or embedded criteria.
|
|
1361
|
+
|
|
1362
|
+
`defaultOrder` applies when the client omits `orderBy`/`orderDirection`. A supplied client order replaces the defaults, after which `tieBreakers` are appended and duplicate fields are removed with the earlier entry winning. These server-owned entries may use any described direct scalar field, including a UUID `id`, without exposing that field in the client `orderBy` allowlist. Use a deterministic final tie-breaker for stable `page`/`limit` pagination.
|
|
1363
|
+
|
|
1364
|
+
### Generated Cursor Pagination
|
|
1365
|
+
|
|
1366
|
+
Opt into cursor pagination beside the typed filter/order plan:
|
|
1367
|
+
|
|
1368
|
+
```typescript
|
|
1369
|
+
[EApiRouteType.GET_LIST]: {
|
|
1370
|
+
request: {
|
|
1371
|
+
[EApiControllerRequestTarget.QUERY]: {
|
|
1372
|
+
order: {
|
|
1373
|
+
defaultOrder: [{ direction: EFilterOrderDirection.DESC, field: "position" }],
|
|
1374
|
+
fields: {
|
|
1375
|
+
isFeatured: { isEnabled: true },
|
|
1376
|
+
position: { isEnabled: true },
|
|
1377
|
+
},
|
|
1378
|
+
tieBreakers: [{ direction: EFilterOrderDirection.ASC, field: "id" }],
|
|
1379
|
+
unlistedFields: EApiControllerGetListQueryUnlistedFields.REJECT,
|
|
1380
|
+
},
|
|
1381
|
+
pagination: { mode: EApiControllerGetListQueryPaginationMode.CURSOR },
|
|
1382
|
+
},
|
|
1383
|
+
},
|
|
1384
|
+
}
|
|
1385
|
+
```
|
|
1386
|
+
|
|
1387
|
+
The request has required `limit`, optional paired `orderBy`/`orderDirection`, existing filters, and at most one of `after`/`before`; it has no `page`. The response always contains exactly `items`, `nextCursor`, and `previousCursor`. The first window performs one `getMany` query with `limit + 1`; a cursor window adds one opposite-direction `take: 1` probe. Tokens are unsigned canonical stateless Base64URL values, so no cursor table or key is needed.
|
|
1388
|
+
|
|
1389
|
+
CURSOR requires one primary column as the only final explicit tie-breaker, and every possible order field must be a described non-null direct scalar. Tokens bind route, inherited path values, plan signature, normalized actual filters, and effective order. They exclude `limit` and HOOKS/IAM: current query/path/IAM predicates are recalculated and AND-merged on every window and probe.
|
|
1390
|
+
|
|
1391
|
+
CURSOR v1 deliberately supports only PostgreSQL with its standard text result parsers. Proven TypeORM order declarations are limited to `boolean`; signed `smallint` and `integer`, including increment-generated columns whose PostgreSQL DDL uses `SMALLSERIAL` or `SERIAL`; numeric enums backed by `smallint` or `integer`; signed `bigint`, including increment-generated columns whose DDL uses `BIGSERIAL`, exposed as a canonical decimal `BIGINT_STRING`; and native `uuid`. PostgreSQL binary mode, custom `extra.types` parsers, every other PostgreSQL storage type, and every other database driver fail closed before CURSOR query I/O. PAGE behavior and its existing TypeORM driver support are unchanged.
|
|
1392
|
+
|
|
1393
|
+
The route authorization action remains GET_LIST (`onBeforeGetList`). One GET_MANY BEFORE chain runs per CURSOR HTTP request; its detached candidate `where` and `withDeleted` snapshot is reused for the main window and opposite probe. The framework re-ANDs mandatory scope and window predicates, owns `order`/`take`, forces `cache: false`, shadows `select`/`skip`, and rejects subscriber `join`/`lock`. GET_MANY AFTER hooks run for each actual query. Direct `getMany(...)` calls retain their ordinary per-call subscriber contract.
|
|
1394
|
+
|
|
1395
|
+
Generated mandatory reads bypass explicit, inherited, and globally enabled TypeORM query caches. Requested relations with effective `relationLoadStrategy: "query"` and a data-source cache configured with `alwaysEnabled: true` cannot inherit the root `cache: false` guarantee, so Automator rejects that combination before repository I/O; use join loading or disable the global always-on cache.
|
|
1396
|
+
|
|
1397
|
+
Because unsigned tokens carry reversible order values, every potential order/tie field must be selected, persisted, non-null, exactly representable, free of TypeORM value transformers/accessors, and unconditionally raw-exposed in the response. Entity `@AfterLoad` listeners are rejected at bootstrap, and applicable active TypeORM `afterLoad` subscribers fail before query I/O. Automator snapshots each subscriber's `listenTo()` target once; subscriber implementations and PostgreSQL parser configuration are trusted TypeORM extension code and must be deterministic. Before decoding, the actual transaction repository proves the supported PostgreSQL storage, hydration, comparison, and canonical wire domain; everything outside the v1 matrix fails closed. Request-only DTO bounds, lengths, patterns, and `multipleOf` rules do not constrain the opaque seek boundary, and `BIGINT_STRING` values never convert through `Number`. Later function, route, authorization, relation, DTO, and serialization work may redact unrelated fields but cannot change cardinality, row sequence, protected raw tuples, cursors, or the flat envelope.
|
|
1398
|
+
|
|
1399
|
+
## 🧭 Migrating to 4.0
|
|
1400
|
+
|
|
1401
|
+
Generated controller routes now resolve and capture the exact service function before the Automator-managed route transaction or repository I/O. GET, GET_LIST, GET_MANY, UPDATE, and DELETE accept only a function produced for the same entity and function type by `@ApiService` or the matching built-in `@ApiFunctionGet`, `@ApiFunctionGetList`, `@ApiFunctionGetMany`, `@ApiFunctionUpdate`, or `@ApiFunctionDelete` decorator. Undecorated overrides, instance shadows, accessors, and wrong-entity/type decorators fail closed before the method body runs. Generated UPDATE also preflights a protected GET when response relation loading requires a reload.
|
|
1402
|
+
|
|
1403
|
+
This intentionally breaks the former generated-route selective-override behavior. Remove a reserved override and use the `@ApiService` implementation, apply the matching built-in decorator knowing that it owns the resulting CRUD implementation, or move domain behavior to subscribers, `@ApiFunctionCustom`, or a custom route. Direct service calls remain outside this route capability check. CREATE is not capability-gated in the same way, but a generated CREATE route preflights the protected GET needed for its post-create read. See the full [4.0 migration guide](https://elsikora.com/docs/nestjs-crud-automator/guides/migrating-to-4-0).
|
|
1303
1404
|
|
|
1304
|
-
|
|
1405
|
+
The release commit must use `feat!:` or a `BREAKING CHANGE:` footer so semantic-release publishes a major version.
|
|
1305
1406
|
|
|
1306
1407
|
## 🧭 Migrating to 3.0
|
|
1307
1408
|
|
|
1308
|
-
The
|
|
1409
|
+
The 3.0 line is published, and `3.0.2` is the baseline before the current source work. Review the [3.0 release notes](https://elsikora.com/docs/nestjs-crud-automator/guides/release-notes-3-0) and follow [Migrating to 3.0](https://elsikora.com/docs/nestjs-crud-automator/guides/migrating-to-3-0) when upgrading a pre-3.0 consumer. The separate generated-route capability boundary above requires a later major release.
|
|
1309
1410
|
|
|
1310
1411
|
The major migration covers semantic timestamp ownership, UPDATE `currentEntity`, named transaction scopes and post-transaction hooks, source-first authorization, opt-in generated-route transactions and relation locks, entity-based service relation inputs, typed GET_LIST query plans and strict `400` responses, the BigInt string sign enum, and retired validator configuration exports.
|
|
1311
1412
|
|
|
1312
|
-
|
|
1413
|
+
The current contract has no arbitrary immutable controller `baseWhere`, no `FULL` or `PRESERVE` relation projection, and no custom-only/default-disabled controller mode. Generated `read.scope.parameters` is specifically a request-bound mapping from inherited path parameters, while GET-only `identity.parameter` names the wire parameter for the actual primary column; neither is a fixed-scope escape hatch. HOOKS/IAM scope remains the authorization boundary, custom-only controllers disable all six generated routes explicitly, and a consumer-side typed URL/bracket-filter builder remains deferred.
|
|
1313
1414
|
|
|
1314
1415
|
## 🛣 Current Status
|
|
1315
1416
|
|
|
1316
|
-
|
|
1417
|
+
Version `3.0.2` is the published baseline before the current source; package versions remain owned by release automation. The generated-route service capability boundary requires a new major release. Core CRUD generation, DTO generation, Swagger/OpenAPI metadata, request/response transformers, relation loading, default page pagination, opt-in stateless cursor pagination, filtering/sorting, subscribers, transactions, and HOOKS/IAM authorization are implemented.
|
|
1317
1418
|
|
|
1318
1419
|
MongoDB, GraphQL, soft deletes, bulk operations, general-purpose cache integration, and custom parameter decorators are not part of the current public contract. Authorization supports source-first resolver reads by default, bounded in-process resolver caching as an explicit opt-in, separate policy-rule caching, and explicit cache invalidation.
|
|
1319
1420
|
|
|
@@ -1324,10 +1425,11 @@ The roadmap is aligned with the current source contract rather than older docs-o
|
|
|
1324
1425
|
### Available in Current Source
|
|
1325
1426
|
|
|
1326
1427
|
- REST CRUD controller and service generation for TypeORM entities
|
|
1327
|
-
- Entity-driven DTO generation for body, query, parameters, and response contracts, including controller-scoped typed GET_LIST query plans
|
|
1428
|
+
- Entity-driven DTO generation for body, query, parameters, and response contracts, including controller-scoped typed GET_LIST query plans and inherited read-path parameter DTOs
|
|
1328
1429
|
- Custom DTO support, including nested manual DTOs and GET_LIST item response DTOs
|
|
1329
1430
|
- Swagger/OpenAPI metadata generation for generated and custom routes
|
|
1330
|
-
-
|
|
1431
|
+
- Default page/limit and opt-in bidirectional cursor pagination, typed filtering, client ordering plus server defaults/tie-breakers, request validators, and request/response transformers
|
|
1432
|
+
- Generated nested GET/GET_LIST owner scoping through exact inherited path-parameter mappings
|
|
1331
1433
|
- Request and response relation loading with configurable reference projection
|
|
1332
1434
|
- Route and function subscribers, including custom route/function hooks and error hooks
|
|
1333
1435
|
- Hooks-mode authorization policies and IAM-style policy document authorization
|
|
@@ -1373,7 +1475,7 @@ Yes! The library provides multiple ways to customize your endpoints:
|
|
|
1373
1475
|
|
|
1374
1476
|
### Does it support pagination?
|
|
1375
1477
|
|
|
1376
|
-
Yes
|
|
1478
|
+
Yes. PAGE is the source-compatible default: it requires 1-based `page` and `limit` and returns counts/totals. CURSOR is opt-in: it requires `limit`, accepts at most one of `after`/`before`, and returns `{ items, nextCursor, previousCursor }`. Configure an explicit order with the sole primary column only as the final tie-breaker; cursor mode then supports next/previous navigation without database cursor storage. CURSOR v1 is PostgreSQL-only and accepts only the exact boolean, signed int2/int4, numeric-enum int2/int4, signed `BIGINT_STRING` int8, and native UUID storage contracts described above; PAGE is unchanged.
|
|
1377
1479
|
|
|
1378
1480
|
### How is filtering implemented?
|
|
1379
1481
|
|
|
@@ -8,6 +8,7 @@ export declare class ApiAuthorizationGuard implements CanActivate {
|
|
|
8
8
|
private isControllerSecurable;
|
|
9
9
|
private resolveControllerProperties;
|
|
10
10
|
private resolveHeaders;
|
|
11
|
+
private resolveIdentityParameters;
|
|
11
12
|
private resolveRequestMetadata;
|
|
12
13
|
private resolveRouteMetadata;
|
|
13
14
|
}
|
|
@@ -18,6 +18,7 @@ require('../../../enum/class/authorization/policy/status.enum.js');
|
|
|
18
18
|
require('../../../enum/class/authorization/principal-type.enum.js');
|
|
19
19
|
var common = require('@nestjs/common');
|
|
20
20
|
var exception_utility = require('../../../utility/error/exception.utility.js');
|
|
21
|
+
var get_utility = require('../../../utility/api/controller/identity/plan/get.utility.js');
|
|
21
22
|
var logger_utility = require('../../../utility/logger.utility.js');
|
|
22
23
|
|
|
23
24
|
const authorizationGuardLogger = logger_utility.LoggerUtility.getLogger("ApiAuthorizationGuard");
|
|
@@ -42,7 +43,8 @@ exports.ApiAuthorizationGuard = class ApiAuthorizationGuard {
|
|
|
42
43
|
authorizationGuardLogger.verbose(`Evaluating authorization for entity "${entityConstructor.name}" action "${action}"`);
|
|
43
44
|
const request = context.switchToHttp().getRequest();
|
|
44
45
|
const authenticationRequest = request;
|
|
45
|
-
const
|
|
46
|
+
const identityPlan = get_utility.ApiControllerIdentityPlanGet(context.getHandler());
|
|
47
|
+
const requestMetadata = this.resolveRequestMetadata(request, identityPlan);
|
|
46
48
|
const decision = await this.runtime.evaluate({
|
|
47
49
|
action,
|
|
48
50
|
authenticationRequest,
|
|
@@ -89,12 +91,46 @@ exports.ApiAuthorizationGuard = class ApiAuthorizationGuard {
|
|
|
89
91
|
}
|
|
90
92
|
return resolvedHeaders;
|
|
91
93
|
}
|
|
92
|
-
|
|
94
|
+
resolveIdentityParameters(parameters, identityPlan) {
|
|
95
|
+
if (!parameters || typeof parameters !== "object") {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
const resolvedParameters = {};
|
|
99
|
+
for (const key of Reflect.ownKeys(parameters)) {
|
|
100
|
+
const descriptor = Object.getOwnPropertyDescriptor(parameters, key);
|
|
101
|
+
if (!descriptor?.enumerable || !("value" in descriptor)) {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
Object.defineProperty(resolvedParameters, key, {
|
|
105
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
106
|
+
configurable: true,
|
|
107
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
108
|
+
enumerable: true,
|
|
109
|
+
value: descriptor.value,
|
|
110
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
111
|
+
writable: true,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
const identityDescriptor = Object.getOwnPropertyDescriptor(resolvedParameters, identityPlan.parameter);
|
|
115
|
+
if (identityDescriptor && "value" in identityDescriptor) {
|
|
116
|
+
Object.defineProperty(resolvedParameters, identityPlan.field, {
|
|
117
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
118
|
+
configurable: true,
|
|
119
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
120
|
+
enumerable: true,
|
|
121
|
+
value: identityDescriptor.value,
|
|
122
|
+
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
123
|
+
writable: true,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return resolvedParameters;
|
|
127
|
+
}
|
|
128
|
+
resolveRequestMetadata(request, identityPlan) {
|
|
93
129
|
return {
|
|
94
130
|
body: request.body,
|
|
95
131
|
headers: this.resolveHeaders(request.headers),
|
|
96
132
|
ip: typeof request.ip === "string" ? request.ip : undefined,
|
|
97
|
-
parameters: request.params,
|
|
133
|
+
parameters: identityPlan ? this.resolveIdentityParameters(request.params, identityPlan) : request.params,
|
|
98
134
|
query: request.query,
|
|
99
135
|
};
|
|
100
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.class.js","sources":["../../../../../../src/class/api/authorization/guard.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","ApiAuthorizationGuard","ErrorException","EApiPolicyEffect","ForbiddenException","AUTHORIZATION_DECISION_METADATA_CONSTANT","CONTROLLER_API_DECORATOR_CONSTANT","METHOD_API_DECORATOR_CONSTANT","__decorate","Injectable","ApiAuthorizationRuntime"],"mappings":"
|
|
1
|
+
{"version":3,"file":"guard.class.js","sources":["../../../../../../src/class/api/authorization/guard.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","ApiAuthorizationGuard","ErrorException","ApiControllerIdentityPlanGet","EApiPolicyEffect","ForbiddenException","AUTHORIZATION_DECISION_METADATA_CONSTANT","CONTROLLER_API_DECORATOR_CONSTANT","METHOD_API_DECORATOR_CONSTANT","__decorate","Injectable","ApiAuthorizationRuntime"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EApiControllerGetListQueryPaginationMode } from '../../../../enum/decorator/api';
|
|
1
2
|
import { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
|
|
2
3
|
import { IApiAuthorizationDecision, IApiAuthorizationPrincipal, IApiAuthorizationRequestMetadata, IApiAuthorizationResourceDefinition, IApiPolicyDocumentRecord, IApiResolvedPolicyAttachments } from '../../../../interface/class/api/authorization';
|
|
3
4
|
import { TApiAuthorizationRuleTransformPayload } from '../../../../type/class/api/authorization/rule/transform-payload.type';
|
|
@@ -5,13 +6,13 @@ import { ApiAuthorizationIamQueryPlanner } from './query-planner.class';
|
|
|
5
6
|
export declare class ApiAuthorizationIamEngine {
|
|
6
7
|
private readonly queryPlanner;
|
|
7
8
|
constructor(queryPlanner: ApiAuthorizationIamQueryPlanner);
|
|
8
|
-
evaluate<E extends IApiBaseEntity>(options: {
|
|
9
|
+
evaluate<E extends IApiBaseEntity, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(options: {
|
|
9
10
|
action: string;
|
|
10
11
|
attachments: IApiResolvedPolicyAttachments;
|
|
11
12
|
documents: ReadonlyArray<IApiPolicyDocumentRecord>;
|
|
12
13
|
policyNamespace: string;
|
|
13
14
|
principal: IApiAuthorizationPrincipal;
|
|
14
|
-
requestMetadata: IApiAuthorizationRequestMetadata<E>;
|
|
15
|
+
requestMetadata: IApiAuthorizationRequestMetadata<E, M>;
|
|
15
16
|
resource?: E;
|
|
16
17
|
resourceDefinition: IApiAuthorizationResourceDefinition<E>;
|
|
17
18
|
}): Promise<IApiAuthorizationDecision<E, TApiAuthorizationRuleTransformPayload<E>>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.class.js","sources":["../../../../../../../src/class/api/authorization/iam/engine.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","ApiAuthorizationIamEngine","EApiAuthorizationDecisionType","EApiPolicyEffect","EApiAuthorizationMode","AuthorizationScopeMergeWhere","ErrorException","__decorate","Injectable","ApiAuthorizationIamQueryPlanner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.class.js","sources":["../../../../../../../src/class/api/authorization/iam/engine.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","ApiAuthorizationIamEngine","EApiAuthorizationDecisionType","EApiPolicyEffect","EApiAuthorizationMode","AuthorizationScopeMergeWhere","ErrorException","__decorate","Injectable","ApiAuthorizationIamQueryPlanner"],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { EApiControllerGetListQueryPaginationMode } from '../../../../enum/decorator/api';
|
|
1
2
|
import { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
|
|
2
3
|
import { IApiAuthorizationPrincipal, IApiAuthorizationRequestMetadata, IApiAuthorizationResourceDefinition, IApiAuthorizationScope, IApiPolicyStatement } from '../../../../interface/class/api/authorization';
|
|
3
4
|
export declare class ApiAuthorizationIamQueryPlanner {
|
|
4
|
-
plan<E extends IApiBaseEntity>(options: {
|
|
5
|
+
plan<E extends IApiBaseEntity, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(options: {
|
|
5
6
|
principal: IApiAuthorizationPrincipal;
|
|
6
|
-
requestMetadata: IApiAuthorizationRequestMetadata<E>;
|
|
7
|
+
requestMetadata: IApiAuthorizationRequestMetadata<E, M>;
|
|
7
8
|
resource?: E;
|
|
8
9
|
resourceDefinition: IApiAuthorizationResourceDefinition<E>;
|
|
9
10
|
statements: ReadonlyArray<IApiPolicyStatement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-planner.class.js","sources":["../../../../../../../src/class/api/authorization/iam/query-planner.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","ApiAuthorizationIamQueryPlanner","__decorate","Injectable"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"query-planner.class.js","sources":["../../../../../../../src/class/api/authorization/iam/query-planner.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","ApiAuthorizationIamQueryPlanner","__decorate","Injectable"],"mappings":";;;;;;AAQA,MAAM,qBAAqB,GAAkBA,4BAAa,CAAC,SAAS,CAAC,iCAAiC,CAAC;AAG1FC,uCAA+B,GAArC,MAAM,+BAA+B,CAAA;AACpC,IAAA,IAAI,CAA+H,OAAqO,EAAA;AAC9W,QAAA,qBAAqB,CAAC,OAAO,CAAC,CAAA,4CAAA,EAA+C,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAA,QAAA,EAAW,OAAO,CAAC,UAAU,CAAC,MAAM,CAAA,YAAA,CAAc,CAAC;QAEvK,MAAM,QAAQ,GAA+B,EAAE;AAE/C,QAAA,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE;AAC3C,YAAA,MAAM,iBAAiB,GAA2D,IAAI,CAAC,qBAAqB,CAAC;gBAC5G,SAAS,EAAE,SAAS,CAAC,SAAS;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;AAC9C,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;gBACpC,qBAAqB,CAAC,OAAO,CAAC,CAAA,2DAAA,EAA8D,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAA,EAAA,CAAI,CAAC;AAExI,gBAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE;YACpC;AAEA,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;gBAC7B;YACD;AAEA,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtD,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;YACrD;AAEA,YAAA,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACvC;AAEA,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,qBAAqB,CAAC,OAAO,CAAC,CAAA,mCAAA,EAAsC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAA,6CAAA,CAA+C,CAAC;YAE3J,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;QACrD;AAEA,QAAA,qBAAqB,CAAC,OAAO,CAAC,CAAA,mCAAA,EAAsC,OAAO,CAAC,kBAAkB,CAAC,YAAY,mBAAmB,QAAQ,CAAC,MAAM,CAAA,gBAAA,CAAkB,CAAC;QAEhK,OAAO;AACN,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,KAAK,EAAE;AACN,gBAAA,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ;AACrD,aAAA;SACD;IACF;AAEQ,IAAA,gBAAgB,CAA2B,KAA0B,EAAE,SAAiB,EAAE,KAAc,EAAA;AAC/G,QAAA,MAAM,YAAY,GAAkB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAExE,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B;QACD;QAEA,IAAI,YAAY,GAA4B,KAAK;AAEjD,QAAA,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE;AAC1C,gBAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3B;AAEA,YAAA,YAAY,GAAG,YAAY,CAAC,OAAO,CAA4B;QAChE;QAEA,MAAM,WAAW,GAAuB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QAE3D,IAAI,CAAC,WAAW,EAAE;YACjB;QACD;AAEA,QAAA,YAAY,CAAC,WAAW,CAAC,GAAG,KAAK;IAClC;AAEQ,IAAA,qBAAqB,CAA+E,OAA0O,EAAA;AACrV,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACvB,OAAO;AACN,gBAAA,YAAY,EAAE,IAAI;aAClB;QACF;QAEA,MAAM,KAAK,GAAwB,EAAE;QACrC,IAAI,oBAAoB,GAAY,KAAK;AAEzC,QAAA,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACrE,YAAA,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACxD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;oBAClC;gBACD;gBAEA,oBAAoB,GAAG,IAAI;gBAE3B,IAAI,QAAQ,KAAK,cAAc,IAAI,QAAQ,KAAK,sBAAsB,EAAE;AACvE,oBAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;gBAC/B;gBAEA,MAAM,eAAe,GAAyE,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAA+D,KAAc,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAEvO,gBAAA,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE;AACnC,oBAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;gBAC/B;AAEA,gBAAA,MAAM,aAAa,GAAY,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE;oBACnE,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,OAAO,CAAC,eAAe;oBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC1B,iBAAA,CAAC;gBAEF,IAAI,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AACtE,oBAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;gBAC/B;gBAEA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC;YACvE;QACD;QAEA,OAAO;AACN,YAAA,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,oBAAoB,GAAG,KAAK,GAAG,SAAS;SAC/C;IACF;AAEQ,IAAA,cAAc,CAAC,KAAc,EAAA;QACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;IACnD;AAEQ,IAAA,QAAQ,CAAC,KAAc,EAAA;AAC9B,QAAA,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5E;IAEQ,qBAAqB,CAC5B,KAAc,EACd,OAUC,EAAA;AAED,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC9B,YAAA,OAAO,KAAK;QACb;QAEA,MAAM,OAAO,GAA4B,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAEnE,IAAI,CAAC,OAAO,EAAE;AACb,YAAA,OAAO,KAAK;QACb;AAEA,QAAA,MAAM,WAAW,GAAuB,OAAO,CAAC,CAAC,CAAC;QAElD,IAAI,CAAC,WAAW,EAAE;AACjB,YAAA,OAAO,SAAS;QACjB;QAEA,OAAO,IAAI,CAAC,gBAAgB,CAC3B;YACC,SAAS,EAAE,OAAO,CAAC,SAAS;AAC5B,YAAA,OAAO,EAAE;AACR,gBAAA,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;AAC1B,gBAAA,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;AAChC,gBAAA,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;AACtB,gBAAA,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;AACtC,gBAAA,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;AAC5B,aAAA;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC1B,EACD,WAAW,CACX;IACF;IAEQ,gBAAgB,CAAC,MAAe,EAAE,IAAY,EAAA;QACrD,IAAI,YAAY,GAAY,MAAM;AAElC,QAAA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACjC,gBAAA,OAAO,SAAS;YACjB;AAEA,YAAA,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;QACrC;AAEA,QAAA,OAAO,YAAY;IACpB;;AA5LYA,uCAA+B,GAAAC,oBAAA,CAAA;AAD3C,IAAAC,iBAAU;AACE,CAAA,EAAAF,uCAA+B,CA6L3C;;"}
|
|
@@ -12,6 +12,7 @@ require('../../../../enum/class/authorization/policy/source-type.enum.js');
|
|
|
12
12
|
require('../../../../enum/class/authorization/policy/status.enum.js');
|
|
13
13
|
require('../../../../enum/class/authorization/principal-type.enum.js');
|
|
14
14
|
var setMatches_utility = require('../../../../utility/authorization/permission/set-matches.utility.js');
|
|
15
|
+
require('../../../../constant/safe-object-property-names.constant.js');
|
|
15
16
|
require('typeorm');
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.class.js","sources":["../../../../../../../src/class/api/authorization/policy/base.class.ts"],"sourcesContent":[null],"names":["ApiSubscriberBase","EApiPolicyEffect","EApiAuthorizationPermissionMatch","AuthorizationPermissionSetMatches"],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.class.js","sources":["../../../../../../../src/class/api/authorization/policy/base.class.ts"],"sourcesContent":[null],"names":["ApiSubscriberBase","EApiPolicyEffect","EApiAuthorizationPermissionMatch","AuthorizationPermissionSetMatches"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { EApiControllerGetListQueryPaginationMode } from '../../../../enum/decorator/api';
|
|
1
2
|
import { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
|
|
2
3
|
import { IApiAuthorizationPolicySubscriber, IApiAuthorizationPolicySubscriberContext, IApiAuthorizationPolicySubscriberRule } from '../../../../interface/class/api/authorization/policy/subscriber';
|
|
3
4
|
import { TApiAuthorizationPolicyHookResult } from '../../../../type/class/api/authorization/policy/hook';
|
|
4
5
|
export declare class ApiAuthorizationPolicyExecutor {
|
|
5
|
-
static execute<E extends IApiBaseEntity, TAction extends string>(subscriber: IApiAuthorizationPolicySubscriber<E>, action: TAction, context: IApiAuthorizationPolicySubscriberContext<E>): Promise<Array<IApiAuthorizationPolicySubscriberRule<E, TApiAuthorizationPolicyHookResult<TAction, E>>>>;
|
|
6
|
+
static execute<E extends IApiBaseEntity, TAction extends string, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(subscriber: IApiAuthorizationPolicySubscriber<E, M>, action: TAction, context: IApiAuthorizationPolicySubscriberContext<E, M>): Promise<Array<IApiAuthorizationPolicySubscriberRule<E, TApiAuthorizationPolicyHookResult<TAction, E, M>>>>;
|
|
6
7
|
private static normalizeRuleResult;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.class.js","sources":["../../../../../../../src/class/api/authorization/policy/executor.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","EApiPolicyOnType","CamelCaseString"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"executor.class.js","sources":["../../../../../../../src/class/api/authorization/policy/executor.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","EApiPolicyOnType","CamelCaseString"],"mappings":";;;;;;AAYA,MAAM,oBAAoB,GAAkBA,4BAAa,CAAC,SAAS,CAAC,gCAAgC,CAAC;MAExF,8BAA8B,CAAA;IACnC,aAAa,OAAO,CAAuJ,UAAmD,EAAE,MAAe,EAAE,OAAuD,EAAA;AAC9S,QAAA,MAAM,SAAS,GAA8B,OAAO,CAAC,SAAS;QAE9D,IAAI,SAAS,EAAE;AACd,YAAA,MAAM,QAAQ,GAAW,CAAA,EAAA,EAAKC,4BAAgB,CAAC,MAAM,CAAA,EAAGC,uCAAe,CAAC,SAAS,CAAC,CAAA,CAAE;YACpF,MAAM,IAAI,GAAY,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAEvD,YAAA,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAC/B,gBAAA,oBAAoB,CAAC,OAAO,CAAC,CAAA,oCAAA,EAAuC,QAAQ,CAAA,MAAA,EAAS,UAAU,CAAC,WAAW,CAAC,IAAI,CAAA,aAAA,EAAgB,MAAM,CAAA,CAAA,CAAG,CAAC;gBAC1I,MAAM,SAAS,GAA2H,IAA8H;gBACxQ,MAAM,MAAM,GAA8D,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;AAE7G,gBAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,MAAM,CAAC;YAC9C;AAEA,YAAA,OAAO,EAAE;QACV;AAEA,QAAA,IAAI,OAAO,UAAU,CAAC,mBAAmB,KAAK,UAAU,EAAE;AACzD,YAAA,OAAO,EAAE;QACV;QAEA,MAAM,gBAAgB,GAAqJ,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1N,MAAM,YAAY,GAA8D,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;AAEjH,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,YAAY,CAAC;IACpD;IAEQ,OAAO,mBAAmB,CAA8B,MAAyD,EAAA;AACxH,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAoE,KAA0D,IAAI,IAAI,IAAI,CAAC;IAClK;AACA;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EApiControllerGetListQueryPaginationMode } from '../../../../enum/decorator/api';
|
|
1
2
|
import { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
|
|
2
3
|
import { IApiAuthorizationPolicy, IApiAuthorizationPolicyRegistry, IApiAuthorizationPolicySubscriberRegistration } from '../../../../interface/class/api/authorization';
|
|
3
4
|
import { IApiAuthorizationPolicyBuildOptions } from '../../../../interface/class/api/authorization/policy/build-options.interface';
|
|
@@ -8,12 +9,12 @@ export declare class ApiAuthorizationPolicyRegistry implements IApiAuthorization
|
|
|
8
9
|
private readonly POLICY_REGISTRY;
|
|
9
10
|
private readonly POLICY_RULE_CACHE;
|
|
10
11
|
constructor();
|
|
11
|
-
buildAggregatedPolicy<E extends IApiBaseEntity, TAction extends string>(entity: new () => E, action: TAction, options?: IApiAuthorizationPolicyBuildOptions<E>): Promise<IApiAuthorizationPolicy<E, TApiAuthorizationPolicyHookResult<TAction, E>> | undefined>;
|
|
12
|
+
buildAggregatedPolicy<E extends IApiBaseEntity, TAction extends string, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(entity: new () => E, action: TAction, options?: IApiAuthorizationPolicyBuildOptions<E, M>): Promise<IApiAuthorizationPolicy<E, TApiAuthorizationPolicyHookResult<TAction, E, M>> | undefined>;
|
|
12
13
|
clear(): void;
|
|
13
14
|
configureCache(options?: IApiAuthorizationPolicyCacheOptions): void;
|
|
14
15
|
hasSubscriberForEntity(entity: new () => IApiBaseEntity): boolean;
|
|
15
16
|
invalidateCache(entity?: new () => IApiBaseEntity): void;
|
|
16
|
-
registerSubscriber<E extends IApiBaseEntity>(registration: IApiAuthorizationPolicySubscriberRegistration<E>): void;
|
|
17
|
+
registerSubscriber<E extends IApiBaseEntity, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(registration: IApiAuthorizationPolicySubscriberRegistration<E, M>): void;
|
|
17
18
|
private cacheRules;
|
|
18
19
|
private createPolicyCacheKey;
|
|
19
20
|
private getCachedRules;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.class.js","sources":["../../../../../../../src/class/api/authorization/policy/registry.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","GenerateEntityInformation","PolicySubscriberWrapper","AUTHORIZATION_POLICY_DECORATOR_CONSTANT","ApiAuthorizationPolicyExecutor","AuthorizationResolveDefaultPrincipal"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"registry.class.js","sources":["../../../../../../../src/class/api/authorization/policy/registry.class.ts"],"sourcesContent":[null],"names":["LoggerUtility","GenerateEntityInformation","PolicySubscriberWrapper","AUTHORIZATION_POLICY_DECORATOR_CONSTANT","ApiAuthorizationPolicyExecutor","AuthorizationResolveDefaultPrincipal"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EApiControllerGetListQueryPaginationMode } from '../../../enum/decorator/api';
|
|
1
2
|
import { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
|
|
2
3
|
import { IApiAuthenticationRequest } from '../../../interface/api/authentication-request.interface';
|
|
3
4
|
import { IApiAuthorizationAuditSink, IApiAuthorizationDecision, IApiAuthorizationPolicyRegistry, IApiAuthorizationPrincipal, IApiAuthorizationPrincipalResolver, IApiAuthorizationRequestMetadata } from '../../../interface/class/api/authorization';
|
|
@@ -18,13 +19,13 @@ export declare class ApiAuthorizationRuntime {
|
|
|
18
19
|
private readonly principalResolver?;
|
|
19
20
|
private readonly auditSink?;
|
|
20
21
|
constructor(policyRegistry: IApiAuthorizationPolicyRegistry, authorizationEngine: ApiAuthorizationEngine, hookPermissionResolver: ApiAuthorizationHookPermissionResolver, iamAttachmentResolver: ApiAuthorizationIamAttachmentResolver, iamDocumentResolver: ApiAuthorizationIamDocumentResolver, iamEngine: ApiAuthorizationIamEngine, principalResolver?: IApiAuthorizationPrincipalResolver | undefined, auditSink?: IApiAuthorizationAuditSink | undefined);
|
|
21
|
-
evaluate<E extends IApiBaseEntity>(options: {
|
|
22
|
+
evaluate<E extends IApiBaseEntity, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(options: {
|
|
22
23
|
action: string;
|
|
23
24
|
authenticationRequest?: IApiAuthenticationRequest;
|
|
24
25
|
authorization: IApiControllerAuthorizationProperties<E>;
|
|
25
26
|
entity: new () => E;
|
|
26
27
|
principal?: IApiAuthorizationPrincipal;
|
|
27
|
-
requestMetadata: IApiAuthorizationRequestMetadata<E>;
|
|
28
|
+
requestMetadata: IApiAuthorizationRequestMetadata<E, M>;
|
|
28
29
|
resource?: E;
|
|
29
30
|
routeAuthorization?: IApiRouteAuthorizationProperties;
|
|
30
31
|
routeType?: EApiRouteType;
|
|
@@ -28,8 +28,9 @@ require('../../../enum/decorator/api/route/subscriber-authorization-expectation.
|
|
|
28
28
|
var type_enum = require('../../../enum/decorator/api/route/type.enum.js');
|
|
29
29
|
var common = require('@nestjs/common');
|
|
30
30
|
var resolveDefaultPrincipal_utility = require('../../../utility/authorization/resolve-default-principal.utility.js');
|
|
31
|
-
require('
|
|
31
|
+
require('../../../constant/safe-object-property-names.constant.js');
|
|
32
32
|
var exception_utility = require('../../../utility/error/exception.utility.js');
|
|
33
|
+
require('typeorm');
|
|
33
34
|
var logger_utility = require('../../../utility/logger.utility.js');
|
|
34
35
|
|
|
35
36
|
const authorizationRuntimeLogger = logger_utility.LoggerUtility.getLogger("ApiAuthorizationRuntime");
|