@elsikora/nestjs-crud-automator 1.16.0-dev.1 → 1.17.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/dist/cjs/class/api/authorization/engine.class.d.ts +8 -0
- package/dist/cjs/class/api/authorization/engine.class.js +92 -0
- package/dist/cjs/class/api/authorization/engine.class.js.map +1 -0
- package/dist/cjs/class/api/authorization/guard.class.d.ts +13 -0
- package/dist/cjs/class/api/authorization/guard.class.js +79 -0
- package/dist/cjs/class/api/authorization/guard.class.js.map +1 -0
- package/dist/cjs/class/api/authorization/index.d.ts +3 -0
- package/dist/cjs/class/api/authorization/policy/base.class.d.ts +37 -0
- package/dist/cjs/class/api/authorization/policy/base.class.js +68 -0
- package/dist/cjs/class/api/authorization/policy/base.class.js.map +1 -0
- package/dist/cjs/class/api/authorization/policy/discovery-service.class.d.ts +10 -0
- package/dist/cjs/class/api/authorization/policy/discovery-service.class.js +53 -0
- package/dist/cjs/class/api/authorization/policy/discovery-service.class.js.map +1 -0
- package/dist/cjs/class/api/authorization/policy/executor.class.d.ts +8 -0
- package/dist/cjs/class/api/authorization/policy/executor.class.js +43 -0
- package/dist/cjs/class/api/authorization/policy/executor.class.js.map +1 -0
- package/dist/cjs/class/api/authorization/policy/index.d.ts +4 -0
- package/dist/cjs/class/api/authorization/policy/registry.class.d.ts +26 -0
- package/dist/cjs/class/api/authorization/policy/registry.class.js +151 -0
- package/dist/cjs/class/api/authorization/policy/registry.class.js.map +1 -0
- package/dist/cjs/class/api/service-base.class.d.ts +2 -2
- package/dist/cjs/class/api/service-base.class.js.map +1 -1
- package/dist/cjs/class/index.d.ts +1 -0
- package/dist/cjs/constant/authorization/index.d.ts +3 -0
- package/dist/cjs/constant/authorization/metadata/decision.constant.d.ts +3 -0
- package/dist/cjs/constant/authorization/metadata/decision.constant.js +9 -0
- package/dist/cjs/constant/authorization/metadata/decision.constant.js.map +1 -0
- package/dist/cjs/constant/authorization/metadata/index.d.ts +1 -0
- package/dist/cjs/constant/authorization/policy/decorator.constant.d.ts +4 -0
- package/dist/cjs/constant/authorization/policy/decorator.constant.js +11 -0
- package/dist/cjs/constant/authorization/policy/decorator.constant.js.map +1 -0
- package/dist/cjs/constant/authorization/policy/index.d.ts +1 -0
- package/dist/cjs/constant/authorization/token/index.d.ts +1 -0
- package/dist/cjs/constant/authorization/token/registry.constant.d.ts +1 -0
- package/dist/cjs/constant/authorization/token/registry.constant.js +7 -0
- package/dist/cjs/constant/authorization/token/registry.constant.js.map +1 -0
- package/dist/cjs/constant/decorator/api/controller.constant.d.ts +2 -0
- package/dist/cjs/constant/decorator/api/controller.constant.js +4 -0
- package/dist/cjs/constant/decorator/api/controller.constant.js.map +1 -1
- package/dist/cjs/constant/index.d.ts +1 -0
- package/dist/cjs/decorator/api/authorization/index.d.ts +1 -0
- package/dist/cjs/decorator/api/authorization/policy.decorator.d.ts +9 -0
- package/dist/cjs/decorator/api/authorization/policy.decorator.js +25 -0
- package/dist/cjs/decorator/api/authorization/policy.decorator.js.map +1 -0
- package/dist/cjs/decorator/api/controller/index.d.ts +1 -0
- package/dist/cjs/decorator/api/controller/securable.decorator.d.ts +6 -0
- package/dist/cjs/decorator/api/controller/securable.decorator.js +17 -0
- package/dist/cjs/decorator/api/controller/securable.decorator.js.map +1 -0
- package/dist/cjs/decorator/api/index.d.ts +1 -0
- package/dist/cjs/decorator/api/method.decorator.js +7 -1
- package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
- package/dist/cjs/enum/authorization/effect.enum.d.ts +4 -0
- package/dist/cjs/enum/authorization/effect.enum.js +8 -0
- package/dist/cjs/enum/authorization/effect.enum.js.map +1 -0
- package/dist/cjs/enum/authorization/index.d.ts +2 -0
- package/dist/cjs/enum/authorization/policy/index.d.ts +1 -0
- package/dist/cjs/enum/authorization/policy/on-type.enum.d.ts +3 -0
- package/dist/cjs/enum/authorization/policy/on-type.enum.js +7 -0
- package/dist/cjs/enum/authorization/policy/on-type.enum.js.map +1 -0
- package/dist/cjs/enum/index.d.ts +1 -0
- package/dist/cjs/external/tslib/tslib.es6.js +5 -0
- package/dist/cjs/external/tslib/tslib.es6.js.map +1 -1
- package/dist/cjs/factory/api/controller.factory.js +63 -28
- package/dist/cjs/factory/api/controller.factory.js.map +1 -1
- package/dist/cjs/index.js +60 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interface/api-authentication-request.interface.d.ts +3 -0
- package/dist/cjs/interface/authorization/decision.interface.d.ts +17 -0
- package/dist/cjs/interface/authorization/engine.interface.d.ts +6 -0
- package/dist/cjs/interface/authorization/evaluate-options.interface.d.ts +9 -0
- package/dist/cjs/interface/authorization/index.d.ts +7 -0
- package/dist/cjs/interface/authorization/policy/index.d.ts +3 -0
- package/dist/cjs/interface/authorization/policy/interface.d.ts +9 -0
- package/dist/cjs/interface/authorization/policy/registry.interface.d.ts +10 -0
- package/dist/cjs/interface/authorization/policy/subscriber/context.interface.d.ts +9 -0
- package/dist/cjs/interface/authorization/policy/subscriber/index.d.ts +5 -0
- package/dist/cjs/interface/authorization/policy/subscriber/interface.d.ts +14 -0
- package/dist/cjs/interface/authorization/policy/subscriber/properties.interface.d.ts +7 -0
- package/dist/cjs/interface/authorization/policy/subscriber/registration.interface.d.ts +9 -0
- package/dist/cjs/interface/authorization/policy/subscriber/rule.interface.d.ts +13 -0
- package/dist/cjs/interface/authorization/rule/context.interface.d.ts +6 -0
- package/dist/cjs/interface/authorization/rule/index.d.ts +2 -0
- package/dist/cjs/interface/authorization/rule/interface.d.ts +15 -0
- package/dist/cjs/interface/authorization/scope.interface.d.ts +5 -0
- package/dist/cjs/interface/authorization/subject.interface.d.ts +6 -0
- package/dist/cjs/interface/class/api/subscriber/route-execution-context-data.interface.d.ts +7 -1
- package/dist/cjs/interface/index.d.ts +1 -0
- package/dist/cjs/module/api/authorization.module.d.ts +7 -0
- package/dist/cjs/module/api/authorization.module.js +39 -0
- package/dist/cjs/module/api/authorization.module.js.map +1 -0
- package/dist/cjs/module/api/index.d.ts +2 -0
- package/dist/cjs/module/{api-subscriber.module.js → api/subscriber.module.js} +3 -3
- package/dist/cjs/module/api/subscriber.module.js.map +1 -0
- package/dist/cjs/module/index.d.ts +1 -1
- package/dist/cjs/type/class/api/authorization/guard-request.type.d.ts +7 -0
- package/dist/cjs/type/class/api/authorization/index.d.ts +4 -0
- package/dist/cjs/type/class/api/authorization/policy/hook/index.d.ts +2 -0
- package/dist/cjs/type/class/api/authorization/policy/hook/result.type.d.ts +8 -0
- package/dist/cjs/type/class/api/authorization/policy/hook/type.d.ts +5 -0
- package/dist/cjs/type/class/api/authorization/policy/index.d.ts +2 -0
- package/dist/cjs/type/class/api/authorization/policy/policy-subscriber-rule-result.type.d.ts +3 -0
- package/dist/cjs/type/class/api/authorization/rule/condition.type.d.ts +3 -0
- package/dist/cjs/type/class/api/authorization/rule/index.d.ts +4 -0
- package/dist/cjs/type/class/api/authorization/rule/result-transform.type.d.ts +4 -0
- package/dist/cjs/type/class/api/authorization/rule/scope-resolver.type.d.ts +4 -0
- package/dist/cjs/type/class/api/authorization/rule/transform-payload.type.d.ts +3 -0
- package/dist/cjs/type/class/api/authorization/scope-where.type.d.ts +3 -0
- package/dist/cjs/type/class/api/subscriber/route/after/create-context.type.d.ts +1 -1
- package/dist/cjs/type/class/api/subscriber/route/after/delete-context.type.d.ts +1 -1
- package/dist/cjs/type/class/api/subscriber/route/after/get/context.type.d.ts +1 -1
- package/dist/cjs/type/class/api/subscriber/route/after/get/list-context.type.d.ts +2 -1
- package/dist/cjs/type/class/api/subscriber/route/after/get/many-context.type.d.ts +1 -1
- package/dist/cjs/type/class/api/subscriber/route/after/update-context.type.d.ts +1 -1
- package/dist/cjs/type/index.d.ts +1 -0
- package/dist/cjs/utility/api/controller/apply-metadata.utility.js +3 -5
- package/dist/cjs/utility/api/controller/apply-metadata.utility.js.map +1 -1
- package/dist/cjs/utility/authorization/decision/apply-result.utility.d.ts +12 -0
- package/dist/cjs/utility/authorization/decision/apply-result.utility.js +27 -0
- package/dist/cjs/utility/authorization/decision/apply-result.utility.js.map +1 -0
- package/dist/cjs/utility/authorization/decision/attach-resource.utility.d.ts +11 -0
- package/dist/cjs/utility/authorization/decision/attach-resource.utility.js +20 -0
- package/dist/cjs/utility/authorization/decision/attach-resource.utility.js.map +1 -0
- package/dist/cjs/utility/authorization/decision/index.d.ts +3 -0
- package/dist/cjs/utility/authorization/decision/resolve-from-request.utility.d.ts +12 -0
- package/dist/cjs/utility/authorization/decision/resolve-from-request.utility.js +22 -0
- package/dist/cjs/utility/authorization/decision/resolve-from-request.utility.js.map +1 -0
- package/dist/cjs/utility/authorization/index.d.ts +3 -0
- package/dist/cjs/utility/authorization/scope/index.d.ts +1 -0
- package/dist/cjs/utility/authorization/scope/merge/index.d.ts +1 -0
- package/dist/cjs/utility/authorization/scope/merge/where.utility.d.ts +10 -0
- package/dist/cjs/utility/authorization/scope/merge/where.utility.js +32 -0
- package/dist/cjs/utility/authorization/scope/merge/where.utility.js.map +1 -0
- package/dist/cjs/utility/authorization/subject/index.d.ts +1 -0
- package/dist/cjs/utility/authorization/subject/resolve-default-subject.utility.d.ts +7 -0
- package/dist/cjs/utility/authorization/subject/resolve-default-subject.utility.js +52 -0
- package/dist/cjs/utility/authorization/subject/resolve-default-subject.utility.js.map +1 -0
- package/dist/cjs/utility/index.d.ts +1 -0
- package/dist/esm/class/api/authorization/engine.class.d.ts +8 -0
- package/dist/esm/class/api/authorization/engine.class.js +92 -0
- package/dist/esm/class/api/authorization/engine.class.js.map +1 -0
- package/dist/esm/class/api/authorization/guard.class.d.ts +13 -0
- package/dist/esm/class/api/authorization/guard.class.js +79 -0
- package/dist/esm/class/api/authorization/guard.class.js.map +1 -0
- package/dist/esm/class/api/authorization/index.d.ts +3 -0
- package/dist/esm/class/api/authorization/policy/base.class.d.ts +37 -0
- package/dist/esm/class/api/authorization/policy/base.class.js +66 -0
- package/dist/esm/class/api/authorization/policy/base.class.js.map +1 -0
- package/dist/esm/class/api/authorization/policy/discovery-service.class.d.ts +10 -0
- package/dist/esm/class/api/authorization/policy/discovery-service.class.js +53 -0
- package/dist/esm/class/api/authorization/policy/discovery-service.class.js.map +1 -0
- package/dist/esm/class/api/authorization/policy/executor.class.d.ts +8 -0
- package/dist/esm/class/api/authorization/policy/executor.class.js +41 -0
- package/dist/esm/class/api/authorization/policy/executor.class.js.map +1 -0
- package/dist/esm/class/api/authorization/policy/index.d.ts +4 -0
- package/dist/esm/class/api/authorization/policy/registry.class.d.ts +26 -0
- package/dist/esm/class/api/authorization/policy/registry.class.js +148 -0
- package/dist/esm/class/api/authorization/policy/registry.class.js.map +1 -0
- package/dist/esm/class/api/service-base.class.d.ts +2 -2
- package/dist/esm/class/api/service-base.class.js.map +1 -1
- package/dist/esm/class/index.d.ts +1 -0
- package/dist/esm/constant/authorization/index.d.ts +3 -0
- package/dist/esm/constant/authorization/metadata/decision.constant.d.ts +3 -0
- package/dist/esm/constant/authorization/metadata/decision.constant.js +7 -0
- package/dist/esm/constant/authorization/metadata/decision.constant.js.map +1 -0
- package/dist/esm/constant/authorization/metadata/index.d.ts +1 -0
- package/dist/esm/constant/authorization/policy/decorator.constant.d.ts +4 -0
- package/dist/esm/constant/authorization/policy/decorator.constant.js +9 -0
- package/dist/esm/constant/authorization/policy/decorator.constant.js.map +1 -0
- package/dist/esm/constant/authorization/policy/index.d.ts +1 -0
- package/dist/esm/constant/authorization/token/index.d.ts +1 -0
- package/dist/esm/constant/authorization/token/registry.constant.d.ts +1 -0
- package/dist/esm/constant/authorization/token/registry.constant.js +5 -0
- package/dist/esm/constant/authorization/token/registry.constant.js.map +1 -0
- package/dist/esm/constant/decorator/api/controller.constant.d.ts +2 -0
- package/dist/esm/constant/decorator/api/controller.constant.js +4 -0
- package/dist/esm/constant/decorator/api/controller.constant.js.map +1 -1
- package/dist/esm/constant/index.d.ts +1 -0
- package/dist/esm/decorator/api/authorization/index.d.ts +1 -0
- package/dist/esm/decorator/api/authorization/policy.decorator.d.ts +9 -0
- package/dist/esm/decorator/api/authorization/policy.decorator.js +23 -0
- package/dist/esm/decorator/api/authorization/policy.decorator.js.map +1 -0
- package/dist/esm/decorator/api/controller/index.d.ts +1 -0
- package/dist/esm/decorator/api/controller/securable.decorator.d.ts +6 -0
- package/dist/esm/decorator/api/controller/securable.decorator.js +15 -0
- package/dist/esm/decorator/api/controller/securable.decorator.js.map +1 -0
- package/dist/esm/decorator/api/index.d.ts +1 -0
- package/dist/esm/decorator/api/method.decorator.js +7 -1
- package/dist/esm/decorator/api/method.decorator.js.map +1 -1
- package/dist/esm/enum/authorization/effect.enum.d.ts +4 -0
- package/dist/esm/enum/authorization/effect.enum.js +8 -0
- package/dist/esm/enum/authorization/effect.enum.js.map +1 -0
- package/dist/esm/enum/authorization/index.d.ts +2 -0
- package/dist/esm/enum/authorization/policy/index.d.ts +1 -0
- package/dist/esm/enum/authorization/policy/on-type.enum.d.ts +3 -0
- package/dist/esm/enum/authorization/policy/on-type.enum.js +7 -0
- package/dist/esm/enum/authorization/policy/on-type.enum.js.map +1 -0
- package/dist/esm/enum/index.d.ts +1 -0
- package/dist/esm/external/tslib/tslib.es6.js +5 -1
- package/dist/esm/external/tslib/tslib.es6.js.map +1 -1
- package/dist/esm/factory/api/controller.factory.js +63 -28
- package/dist/esm/factory/api/controller.factory.js.map +1 -1
- package/dist/esm/index.js +20 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interface/api-authentication-request.interface.d.ts +3 -0
- package/dist/esm/interface/authorization/decision.interface.d.ts +17 -0
- package/dist/esm/interface/authorization/engine.interface.d.ts +6 -0
- package/dist/esm/interface/authorization/evaluate-options.interface.d.ts +9 -0
- package/dist/esm/interface/authorization/index.d.ts +7 -0
- package/dist/esm/interface/authorization/policy/index.d.ts +3 -0
- package/dist/esm/interface/authorization/policy/interface.d.ts +9 -0
- package/dist/esm/interface/authorization/policy/registry.interface.d.ts +10 -0
- package/dist/esm/interface/authorization/policy/subscriber/context.interface.d.ts +9 -0
- package/dist/esm/interface/authorization/policy/subscriber/index.d.ts +5 -0
- package/dist/esm/interface/authorization/policy/subscriber/interface.d.ts +14 -0
- package/dist/esm/interface/authorization/policy/subscriber/properties.interface.d.ts +7 -0
- package/dist/esm/interface/authorization/policy/subscriber/registration.interface.d.ts +9 -0
- package/dist/esm/interface/authorization/policy/subscriber/rule.interface.d.ts +13 -0
- package/dist/esm/interface/authorization/rule/context.interface.d.ts +6 -0
- package/dist/esm/interface/authorization/rule/index.d.ts +2 -0
- package/dist/esm/interface/authorization/rule/interface.d.ts +15 -0
- package/dist/esm/interface/authorization/scope.interface.d.ts +5 -0
- package/dist/esm/interface/authorization/subject.interface.d.ts +6 -0
- package/dist/esm/interface/class/api/subscriber/route-execution-context-data.interface.d.ts +7 -1
- package/dist/esm/interface/index.d.ts +1 -0
- package/dist/esm/module/api/authorization.module.d.ts +7 -0
- package/dist/esm/module/api/authorization.module.js +39 -0
- package/dist/esm/module/api/authorization.module.js.map +1 -0
- package/dist/esm/module/api/index.d.ts +2 -0
- package/dist/esm/module/{api-subscriber.module.js → api/subscriber.module.js} +3 -3
- package/dist/esm/module/api/subscriber.module.js.map +1 -0
- package/dist/esm/module/index.d.ts +1 -1
- package/dist/esm/type/class/api/authorization/guard-request.type.d.ts +7 -0
- package/dist/esm/type/class/api/authorization/index.d.ts +4 -0
- package/dist/esm/type/class/api/authorization/policy/hook/index.d.ts +2 -0
- package/dist/esm/type/class/api/authorization/policy/hook/result.type.d.ts +8 -0
- package/dist/esm/type/class/api/authorization/policy/hook/type.d.ts +5 -0
- package/dist/esm/type/class/api/authorization/policy/index.d.ts +2 -0
- package/dist/esm/type/class/api/authorization/policy/policy-subscriber-rule-result.type.d.ts +3 -0
- package/dist/esm/type/class/api/authorization/rule/condition.type.d.ts +3 -0
- package/dist/esm/type/class/api/authorization/rule/index.d.ts +4 -0
- package/dist/esm/type/class/api/authorization/rule/result-transform.type.d.ts +4 -0
- package/dist/esm/type/class/api/authorization/rule/scope-resolver.type.d.ts +4 -0
- package/dist/esm/type/class/api/authorization/rule/transform-payload.type.d.ts +3 -0
- package/dist/esm/type/class/api/authorization/scope-where.type.d.ts +3 -0
- package/dist/esm/type/class/api/subscriber/route/after/create-context.type.d.ts +1 -1
- package/dist/esm/type/class/api/subscriber/route/after/delete-context.type.d.ts +1 -1
- package/dist/esm/type/class/api/subscriber/route/after/get/context.type.d.ts +1 -1
- package/dist/esm/type/class/api/subscriber/route/after/get/list-context.type.d.ts +2 -1
- package/dist/esm/type/class/api/subscriber/route/after/get/many-context.type.d.ts +1 -1
- package/dist/esm/type/class/api/subscriber/route/after/update-context.type.d.ts +1 -1
- package/dist/esm/type/index.d.ts +1 -0
- package/dist/esm/utility/api/controller/apply-metadata.utility.js +3 -5
- package/dist/esm/utility/api/controller/apply-metadata.utility.js.map +1 -1
- package/dist/esm/utility/authorization/decision/apply-result.utility.d.ts +12 -0
- package/dist/esm/utility/authorization/decision/apply-result.utility.js +25 -0
- package/dist/esm/utility/authorization/decision/apply-result.utility.js.map +1 -0
- package/dist/esm/utility/authorization/decision/attach-resource.utility.d.ts +11 -0
- package/dist/esm/utility/authorization/decision/attach-resource.utility.js +18 -0
- package/dist/esm/utility/authorization/decision/attach-resource.utility.js.map +1 -0
- package/dist/esm/utility/authorization/decision/index.d.ts +3 -0
- package/dist/esm/utility/authorization/decision/resolve-from-request.utility.d.ts +12 -0
- package/dist/esm/utility/authorization/decision/resolve-from-request.utility.js +20 -0
- package/dist/esm/utility/authorization/decision/resolve-from-request.utility.js.map +1 -0
- package/dist/esm/utility/authorization/index.d.ts +3 -0
- package/dist/esm/utility/authorization/scope/index.d.ts +1 -0
- package/dist/esm/utility/authorization/scope/merge/index.d.ts +1 -0
- package/dist/esm/utility/authorization/scope/merge/where.utility.d.ts +10 -0
- package/dist/esm/utility/authorization/scope/merge/where.utility.js +30 -0
- package/dist/esm/utility/authorization/scope/merge/where.utility.js.map +1 -0
- package/dist/esm/utility/authorization/subject/index.d.ts +1 -0
- package/dist/esm/utility/authorization/subject/resolve-default-subject.utility.d.ts +7 -0
- package/dist/esm/utility/authorization/subject/resolve-default-subject.utility.js +50 -0
- package/dist/esm/utility/authorization/subject/resolve-default-subject.utility.js.map +1 -0
- package/dist/esm/utility/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/module/api-subscriber.module.js.map +0 -1
- package/dist/esm/module/api-subscriber.module.js.map +0 -1
- /package/dist/cjs/module/{api-subscriber.module.d.ts → api/subscriber.module.d.ts} +0 -0
- /package/dist/esm/module/{api-subscriber.module.d.ts → api/subscriber.module.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.factory.js","sources":["../../../../../src/factory/api/controller.factory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2Ba,oBAAoB,CAAA;AAQrB,IAAA,MAAA;AACO,IAAA,UAAA;AARlB,IAAA,IAAc,eAAe,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,SAA6C;IACjE;AAEiB,IAAA,MAAM;IAEvB,WAAA,CACW,MAAqC,EAC9B,UAAuC,EAAA;QAD9C,IAAA,CAAA,MAAM,GAAN,MAAM;QACC,IAAA,CAAA,UAAU,GAAV,UAAU;QAE3B,IAAI,CAAC,MAAM,GAAG,yBAAyB,CAAI,UAAU,CAAC,MAAM,CAAC;AAC7D,QAAA,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AAE7C,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AAC5B,YAAA,MAAM,cAAc,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAA,UAAA,CAAY,CAAC;QAC7G;AAEA,QAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9I,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/F;AAEA,IAAA,YAAY,CAAC,MAAqB,EAAA;QACjC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,KAAK,KAAK,EAAE;AAC/F,YAAA,MAAM,WAAW,GAAoD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzG,YAAA,MAAM,eAAe,GAAsD,WAAW,CAAC,UAAU,IAAI,EAAE;YACvG,MAAM,UAAU,GAA+C,CAAA,EAAG,iCAAiC,CAAC,sBAAsB,CAAA,EAAG,MAAM,CAAA,CAAgD;AAEnL,YAAA,wBAAwB,CAAI,IAAa,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtG,MAAM,YAAY,GAA8C,IAAI,CAAC,eAAe,CAAC,UAAU,CAA8C;YAC7I,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;AAE5H,YAAA,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,uBAAuB,KAAK,KAAK,EAAE;AACtE,gBAAA,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC;YAC3H;YAEA,4BAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;;;AAKzG;;;;AAIuH;QACxH;IACD;IAEA,IAAI,GAAA;QACH,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AAClD,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1B;IACD;IAEU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAqB,EAAE,UAAiE,EAAE,UAAuC,EAAE,cAA6B,EAAA;AAChM,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CACvD,gBAA+C,IAAoB,EAAE,OAA+B,EAAE,EAAU,EAAE,qBAAiD,EAAA;AAClK,YAAA,MAAM,cAAc,GAAM,IAAK,UAAU,CAAC,MAAsB,EAAE;AAElE,YAAA,MAAM,sBAAsB,GAAqK;gBAChM,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD,gBAAA,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;gBACpD,UAAU,EAAE,aAAa,CAAC,MAAM;aAChC;YAED,MAAM,YAAY,GAOH,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC;YAEjO,IAAI,YAAY,EAAE;AACjB,gBAAA,IAAI,GAAG,YAAY,CAAC,IAAI;AACxB,gBAAA,OAAO,GAAG,YAAY,CAAC,OAAO;AAC9B,gBAAA,EAAE,GAAG,YAAY,CAAC,EAAE;AACpB,gBAAA,qBAAqB,GAAG,YAAY,CAAC,qBAAqB;YAC3D;AAEA,YAAA,IAAI;gBACH,MAAM,UAAU,GAA+C,6BAA6B,CAAI,IAAI,EAAE,cAAc,CAAC;gBAErH,IAAI,CAAC,UAAU,EAAE;AAChB,oBAAA,MAAM,qBAAqB,GAAgD;wBAC1E,IAAI,EAAE,sBAAsB,CAAC,IAAI;AACjC,wBAAA,MAAM,EAAE,cAAc;wBACtB,UAAU,EAAE,aAAa,CAAC,MAAM;qBAChC;oBAED,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAElR,oBAAA,MAAM,cAAc,CAAC,yCAAyC,CAAC;gBAChE;gBAEA,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC5J,gBAAA,MAAM,4BAA4B,CAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAkB,CAAC;AACrH,gBAAA,MAAM,mCAAmC,CAAI,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC;gBAEnH,MAAM,cAAc,GAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACzD,gBAAA,MAAM,GAAG,GAA8B,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC;AAEjO,gBAAA,MAAM,iBAAiB,GAAiC;oBACvD,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS;AACzD,oBAAA,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAyB;iBAClF;gBAED,MAAM,QAAQ,GAAM,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAC7D,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEjK,gBAAA,MAAM,qBAAqB,GAA8C;AACxE,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;AAC9F,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,CAAC,MAAM;iBAChC;gBAED,MAAM,WAAW,GAAkB,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC;AAE7O,gBAAA,MAAM,aAAa,GAAM,WAAW,IAAI,QAAQ;AAEhD,gBAAA,OAAO,eAAe,CAAC,GAA0B,EAAE,aAAa,EAAE;;AAEjE,oBAAA,uBAAuB,EAAE,IAAI;AAC7B,oBAAA,QAAQ,EAAE,YAAY;AACtB,iBAAA,CAAC;YACH;YAAE,OAAO,KAAK,EAAE;AACf,gBAAA,MAAM,qBAAqB,GAAgD;AAC1E,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;AAC9F,oBAAA,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,aAAa,CAAC,MAAM;iBAChC;gBACD,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAc,CAAC;AAE3O,gBAAA,MAAM,KAAK;YACZ;QACD,CAAC,EACD,MAAM,EACN,EAAE,KAAK,EAAE,UAAU,EAAE,CACrB;IACF;IAEU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAqB,EAAE,UAAiE,EAAE,UAAuC,EAAE,cAA6B,EAAA;AAChM,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CACvD,gBAA+C,UAAsB,EAAE,OAA+B,EAAE,EAAU,EAAE,qBAAiD,EAAA;AACpK,YAAA,MAAM,cAAc,GAAM,IAAK,UAAU,CAAC,MAAsB,EAAE;AAElE,YAAA,MAAM,sBAAsB,GAAuK;gBAClM,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD,gBAAA,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;gBAC1D,UAAU,EAAE,aAAa,CAAC,MAAM;aAChC;YAED,MAAM,YAAY,GAOH,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC;YAEjO,IAAI,YAAY,EAAE;AACjB,gBAAA,UAAU,GAAG,YAAY,CAAC,UAAU;AACpC,gBAAA,OAAO,GAAG,YAAY,CAAC,OAAO;AAC9B,gBAAA,EAAE,GAAG,YAAY,CAAC,EAAE;AACpB,gBAAA,qBAAqB,GAAG,YAAY,CAAC,qBAAqB;YAC3D;AAEA,YAAA,IAAI;gBACH,MAAM,UAAU,GAA+C,6BAA6B,CAAI,UAAU,EAAE,cAAc,CAAC;gBAE3H,IAAI,CAAC,UAAU,EAAE;AAChB,oBAAA,MAAM,qBAAqB,GAAgD;wBAC1E,IAAI,EAAE,sBAAsB,CAAC,IAAI;AACjC,wBAAA,MAAM,EAAE,cAAc;wBACtB,UAAU,EAAE,aAAa,CAAC,MAAM;qBAChC;oBAED,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAElR,oBAAA,MAAM,cAAc,CAAC,yCAAyC,CAAC;gBAChE;gBAEA,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAClK,gBAAA,MAAM,4BAA4B,CAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;AAC7G,gBAAA,MAAM,mCAAmC,CAAI,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;AAEzH,gBAAA,MAAM,eAAe,GAAkC;AACtD,oBAAA,CAAC,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK;iBACD;gBAElC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;AAE1C,gBAAA,MAAM,qBAAqB,GAAuD;AACjF,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AACpG,oBAAA,MAAM,EAAE,cAAc;AACtB,oBAAA,MAAM,EAAE,UAAU;oBAClB,UAAU,EAAE,aAAa,CAAC,MAAM;iBAChC;gBAED,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC;YACjN;YAAE,OAAO,KAAK,EAAE;AACf,gBAAA,MAAM,qBAAqB,GAAgD;AAC1E,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AACpG,oBAAA,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,aAAa,CAAC,MAAM;iBAChC;gBACD,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAc,CAAC;AAE3O,gBAAA,MAAM,KAAK;YACZ;QACD,CAAC,EACD,MAAM,EACN,EAAE,KAAK,EAAE,UAAU,EAAE,CACrB;IACF;IAEU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAqB,EAAE,UAA8D,EAAE,UAAuC,EAAE,cAA6B,EAAA;AAC1L,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CACvD,gBAA+C,UAAsB,EAAE,OAA+B,EAAE,EAAU,EAAE,qBAAiD,EAAA;AACpK,YAAA,MAAM,cAAc,GAAM,IAAK,UAAU,CAAC,MAAsB,EAAE;AAElE,YAAA,MAAM,sBAAsB,GAAuK;gBAClM,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD,gBAAA,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;gBAC1D,UAAU,EAAE,aAAa,CAAC,GAAG;aAC7B;YAED,MAAM,YAAY,GAOH,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC;YAE9N,IAAI,YAAY,EAAE;AACjB,gBAAA,UAAU,GAAG,YAAY,CAAC,UAAU;AACpC,gBAAA,OAAO,GAAG,YAAY,CAAC,OAAO;AAC9B,gBAAA,EAAE,GAAG,YAAY,CAAC,EAAE;AACpB,gBAAA,qBAAqB,GAAG,YAAY,CAAC,qBAAqB;YAC3D;AAEA,YAAA,IAAI;gBACH,MAAM,UAAU,GAA+C,6BAA6B,CAAI,UAAU,EAAE,cAAc,CAAC;gBAE3H,IAAI,CAAC,UAAU,EAAE;AAChB,oBAAA,MAAM,qBAAqB,GAAgD;wBAC1E,IAAI,EAAE,sBAAsB,CAAC,IAAI;AACjC,wBAAA,MAAM,EAAE,cAAc;wBACtB,UAAU,EAAE,aAAa,CAAC,GAAG;qBAC7B;oBAED,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAE/Q,oBAAA,MAAM,cAAc,CAAC,yCAAyC,CAAC;gBAChE;gBAEA,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAClK,gBAAA,MAAM,4BAA4B,CAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;AAC7G,gBAAA,MAAM,mCAAmC,CAAI,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;AAEzH,gBAAA,MAAM,iBAAiB,GAAiC;oBACvD,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS;oBACzD,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,EAAyB;iBACpE;gBAED,MAAM,QAAQ,GAAM,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAE7D,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEjK,gBAAA,MAAM,qBAAqB,GAA8C;AACxE,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AACpG,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,CAAC,GAAG;iBAC7B;gBAED,MAAM,WAAW,GAAkB,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC;AAE1O,gBAAA,MAAM,aAAa,GAAM,WAAW,IAAI,QAAQ;AAChD,gBAAA,MAAM,GAAG,GAA8B,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC;AAEjO,gBAAA,OAAO,eAAe,CAAC,GAA0B,EAAE,aAAa,EAAE;;AAEjE,oBAAA,uBAAuB,EAAE,IAAI;AAC7B,iBAAA,CAAC;YACH;YAAE,OAAO,KAAK,EAAE;AACf,gBAAA,MAAM,qBAAqB,GAAgD;AAC1E,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AACpG,oBAAA,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,aAAa,CAAC,GAAG;iBAC7B;gBACD,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAc,CAAC;AAExO,gBAAA,MAAM,KAAK;YACZ;QACD,CAAC,EACD,MAAM,EACN,EAAE,KAAK,EAAE,UAAU,EAAE,CACrB;IACF;IAEU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAqB,EAAE,UAAmE,EAAE,UAAuC,EAAE,cAA6B,EAAA;AACpM,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CACvD,gBAA+C,KAAoC,EAAE,OAA+B,EAAE,EAAU,EAAE,qBAAiD,EAAA;AAClL,YAAA,MAAM,cAAc,GAAM,IAAK,UAAU,CAAC,MAAsB,EAAE;AAElE,YAAA,MAAM,sBAAsB,GAAqL;gBAChN,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD,gBAAA,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE;gBACrD,UAAU,EAAE,aAAa,CAAC,QAAQ;aAClC;YAED,MAAM,YAAY,GAOH,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC;YAEnO,IAAI,YAAY,EAAE;AACjB,gBAAA,KAAK,GAAG,YAAY,CAAC,KAAK;AAC1B,gBAAA,OAAO,GAAG,YAAY,CAAC,OAAO;AAC9B,gBAAA,EAAE,GAAG,YAAY,CAAC,EAAE;AACpB,gBAAA,qBAAqB,GAAG,YAAY,CAAC,qBAAqB;YAC3D;AAEA,YAAA,IAAI;gBACH,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC7J,gBAAA,MAAM,4BAA4B,CAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC;AACxG,gBAAA,MAAM,mCAAmC,CAAI,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;AAEpH,gBAAA,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,GAAkC,KAAK;gBACtG,MAAM,MAAM,GAA0C,mCAAmC,CAAI,YAAY,EAAE,cAAc,CAAC;AAE1H,gBAAA,MAAM,iBAAiB,GAAqC;oBAC3D,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS;oBACzD,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;oBACpC,IAAI,EAAE,KAAK,CAAC,KAAK;AACjB,oBAAA,KAAK,EAAE,MAAM;iBACb;gBAED,IAAI,OAAO,EAAE;AACZ,oBAAA,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC,OAA0B,GAAG,cAAc,IAAI,+BAA+B,CAAC,iCAAiC,EAAyB;gBACvK;gBAEA,MAAM,QAAQ,GAAiC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC5F,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEhK,gBAAA,MAAM,qBAAqB,GAAyE;AACnG,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE;AAC/F,oBAAA,MAAM,EAAE,cAAc;AACtB,oBAAA,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,CAAC,QAAQ;iBAClC;gBAED,MAAM,WAAW,GAA6C,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC;AAEhR,gBAAA,MAAM,aAAa,GAAiC,WAAW,IAAI,QAAQ;AAC3E,gBAAA,MAAM,GAAG,GAA8B,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC;AAEjO,gBAAA,OAAO,eAAe,CAAC,GAAqD,EAAE,aAAa,EAAE;;AAE5F,oBAAA,uBAAuB,EAAE,IAAI;AAC7B,iBAAA,CAAC;YACH;YAAE,OAAO,KAAK,EAAE;AACf,gBAAA,MAAM,qBAAqB,GAAgD;AAC1E,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE;AAC/F,oBAAA,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,aAAa,CAAC,QAAQ;iBAClC;gBACD,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA+B,EAAE,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAc,CAAC;AAE/M,gBAAA,MAAM,KAAK;YACZ;QACD,CAAC,EACD,MAAM,EACN,EAAE,KAAK,EAAE,UAAU,EAAE,CACrB;IACF;IAEU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,MAAqB,EAAE,UAAyE,EAAE,UAAuC,EAAE,cAA6B,EAAA;QAChN,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CACvD,gBAA+C,UAAsB,EAAE,IAAoB,EAAE,OAA+B,EAAE,EAAU,EAAE,qBAAiD,EAAA;AAC1L,YAAA,MAAM,cAAc,GAAM,IAAK,UAAU,CAAC,MAAsB,EAAE;AAElE,YAAA,MAAM,sBAAsB,GAA6L;gBACxN,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD,gBAAA,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;gBAChE,UAAU,EAAE,aAAa,CAAC,cAAc;aACxC;YAED,MAAM,YAAY,GAQH,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,cAAc,EAAE,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC;YAEzO,IAAI,YAAY,EAAE;AACjB,gBAAA,UAAU,GAAG,YAAY,CAAC,UAAU;AACpC,gBAAA,IAAI,GAAG,YAAY,CAAC,IAAI;AACxB,gBAAA,OAAO,GAAG,YAAY,CAAC,OAAO;AAC9B,gBAAA,EAAE,GAAG,YAAY,CAAC,EAAE;AACpB,gBAAA,qBAAqB,GAAG,YAAY,CAAC,qBAAqB;YAC3D;AAEA,YAAA,IAAI;gBACH,MAAM,UAAU,GAA+C,6BAA6B,CAAI,UAAU,EAAE,cAAc,CAAC;gBAE3H,IAAI,CAAC,UAAU,EAAE;AAChB,oBAAA,MAAM,qBAAqB,GAAgD;wBAC1E,IAAI,EAAE,sBAAsB,CAAC,IAAI;AACjC,wBAAA,MAAM,EAAE,cAAc;wBACtB,UAAU,EAAE,aAAa,CAAC,cAAc;qBACxC;oBAED,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,cAAc,EAAE,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAE1R,oBAAA,MAAM,cAAc,CAAC,yCAAyC,CAAC;gBAChE;AAEA,gBAAA,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACxK,gBAAA,MAAM,4BAA4B,CAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;AAC7G,gBAAA,MAAM,mCAAmC,CAAI,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;AAEzH,gBAAA,MAAM,eAAe,GAAkC;AACtD,oBAAA,CAAC,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK;iBACD;AAElC,gBAAA,MAAM,QAAQ,GAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;gBAEpE,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEjK,gBAAA,MAAM,qBAAqB,GAA8C;AACxE,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AAC1G,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,CAAC,cAAc;iBACxC;gBAED,MAAM,WAAW,GAAkB,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,QAAQ,EAAE,aAAa,CAAC,cAAc,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC;AAErP,gBAAA,MAAM,aAAa,GAAM,WAAW,IAAI,QAAQ;AAChD,gBAAA,MAAM,GAAG,GAA8B,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC;AAEjO,gBAAA,OAAO,eAAe,CAAC,GAA0B,EAAE,aAAa,EAAE;;AAEjE,oBAAA,uBAAuB,EAAE,IAAI;AAC7B,iBAAA,CAAC;YACH;YAAE,OAAO,KAAK,EAAE;AACf,gBAAA,MAAM,qBAAqB,GAAgD;AAC1E,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AAC1G,oBAAA,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,aAAa,CAAC,cAAc;iBACxC;gBACD,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,cAAc,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAc,CAAC;AAEnP,gBAAA,MAAM,KAAK;YACZ;QACD,CAAC,EACD,MAAM,EACN,EAAE,KAAK,EAAE,UAAU,EAAE,CACrB;IACF;IAEU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAqB,EAAE,UAAiE,EAAE,UAAuC,EAAE,cAA6B,EAAA;QAChM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CACvD,gBAA+C,UAAsB,EAAE,IAAoB,EAAE,OAA+B,EAAE,EAAU,EAAE,qBAAiD,EAAA;AAC1L,YAAA,MAAM,cAAc,GAAM,IAAK,UAAU,CAAC,MAAsB,EAAE;AAElE,YAAA,MAAM,sBAAsB,GAA6L;gBACxN,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;AACxD,gBAAA,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;gBAChE,UAAU,EAAE,aAAa,CAAC,MAAM;aAChC;YAED,MAAM,YAAY,GAQH,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,CAAC;YAEjO,IAAI,YAAY,EAAE;AACjB,gBAAA,UAAU,GAAG,YAAY,CAAC,UAAU;AACpC,gBAAA,IAAI,GAAG,YAAY,CAAC,IAAI;AACxB,gBAAA,OAAO,GAAG,YAAY,CAAC,OAAO;AAC9B,gBAAA,EAAE,GAAG,YAAY,CAAC,EAAE;AACpB,gBAAA,qBAAqB,GAAG,YAAY,CAAC,qBAAqB;YAC3D;AAEA,YAAA,IAAI;gBACH,MAAM,UAAU,GAA+C,6BAA6B,CAAI,UAAU,EAAE,cAAc,CAAC;gBAE3H,IAAI,CAAC,UAAU,EAAE;AAChB,oBAAA,MAAM,qBAAqB,GAAgD;wBAC1E,IAAI,EAAE,sBAAsB,CAAC,IAAI;AACjC,wBAAA,MAAM,EAAE,cAAc;wBACtB,UAAU,EAAE,aAAa,CAAC,MAAM;qBAChC;oBAED,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,YAAY,EAAE,qBAAqB,EAAE,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAElR,oBAAA,MAAM,cAAc,CAAC,yCAAyC,CAAC;gBAChE;AAEA,gBAAA,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACxK,gBAAA,MAAM,4BAA4B,CAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;AAC7G,gBAAA,MAAM,mCAAmC,CAAI,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;AAEzH,gBAAA,MAAM,eAAe,GAAkC;AACtD,oBAAA,CAAC,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK;iBACD;AAElC,gBAAA,MAAM,QAAQ,GAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;gBAEpE,0BAA0B,CAAmB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEjK,gBAAA,MAAM,qBAAqB,GAA8C;AACxE,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AAC1G,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,CAAC,MAAM;iBAChC;gBAED,MAAM,WAAW,GAAkB,MAAM,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAA6D,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC;AAE7O,gBAAA,MAAM,aAAa,GAAM,WAAW,IAAI,QAAQ;AAChD,gBAAA,MAAM,GAAG,GAA8B,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC;AAEjO,gBAAA,OAAO,eAAe,CAAC,GAA0B,EAAE,aAAa,EAAE;;AAEjE,oBAAA,uBAAuB,EAAE,IAAI;AAC7B,iBAAA,CAAC;YACH;YAAE,OAAO,KAAK,EAAE;AACf,gBAAA,MAAM,qBAAqB,GAAgD;AAC1E,oBAAA,IAAI,EAAE,EAAE,GAAI,sBAAsB,CAAC,IAAe,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE;AAC1G,oBAAA,MAAM,EAAE,cAAc;oBACtB,UAAU,EAAE,aAAa,CAAC,MAAM;iBAChC;gBACD,MAAM,qBAAqB,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAA6D,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,KAAc,CAAC;AAE3O,gBAAA,MAAM,KAAK;YACZ;QACD,CAAC,EACD,MAAM,EACN,EAAE,KAAK,EAAE,UAAU,EAAE,CACrB;IACF;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"controller.factory.js","sources":["../../../../../src/factory/api/controller.factory.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -5,6 +5,12 @@ export { ApiSubscriberExecutor } from './class/api/subscriber/executor.class.js'
|
|
|
5
5
|
export { ApiFunctionSubscriberBase } from './class/api/subscriber/function-base.class.js';
|
|
6
6
|
export { apiSubscriberRegistry } from './class/api/subscriber/registry.class.js';
|
|
7
7
|
export { ApiRouteSubscriberBase } from './class/api/subscriber/route-base.class.js';
|
|
8
|
+
export { ApiAuthorizationEngine } from './class/api/authorization/engine.class.js';
|
|
9
|
+
export { ApiAuthorizationGuard } from './class/api/authorization/guard.class.js';
|
|
10
|
+
export { ApiAuthorizationPolicyBase } from './class/api/authorization/policy/base.class.js';
|
|
11
|
+
export { ApiAuthorizationPolicyDiscoveryService } from './class/api/authorization/policy/discovery-service.class.js';
|
|
12
|
+
export { ApiAuthorizationPolicyExecutor } from './class/api/authorization/policy/executor.class.js';
|
|
13
|
+
export { ApiAuthorizationPolicyRegistry } from './class/api/authorization/policy/registry.class.js';
|
|
8
14
|
export { MetadataStorage } from './class/metadata-storage.class.js';
|
|
9
15
|
export { DtoPropertyFactoryBoolean } from './class/utility/dto/property/factory/boolean.class.js';
|
|
10
16
|
export { DtoPropertyFactoryDate } from './class/utility/dto/property/factory/date.class.js';
|
|
@@ -18,6 +24,9 @@ export { DtoStrategyBody } from './class/utility/dto/strategy/body.class.js';
|
|
|
18
24
|
export { DtoStrategyQuery } from './class/utility/dto/strategy/query.class.js';
|
|
19
25
|
export { DtoStrategyRequest } from './class/utility/dto/strategy/request.class.js';
|
|
20
26
|
export { DtoStrategyResponse } from './class/utility/dto/strategy/response.class.js';
|
|
27
|
+
export { AUTHORIZATION_DECISION_METADATA_CONSTANT } from './constant/authorization/metadata/decision.constant.js';
|
|
28
|
+
export { AUTHORIZATION_POLICY_DECORATOR_CONSTANT } from './constant/authorization/policy/decorator.constant.js';
|
|
29
|
+
export { AUTHORIZATION_POLICY_REGISTRY_TOKEN } from './constant/authorization/token/registry.constant.js';
|
|
21
30
|
export { DATE_CONSTANT } from './constant/date.constant.js';
|
|
22
31
|
export { CONTROLLER_API_DECORATOR_CONSTANT } from './constant/decorator/api/controller.constant.js';
|
|
23
32
|
export { FUNCTION_API_DECORATOR_CONSTANT } from './constant/decorator/api/function.constant.js';
|
|
@@ -34,8 +43,10 @@ export { NUMBER_CONSTANT } from './constant/number.constant.js';
|
|
|
34
43
|
export { DTO_UTILITY_CONSTANT } from './constant/utility/dto/constant.js';
|
|
35
44
|
export { DTO_GENERATE_CONSTANT } from './constant/utility/dto/generate.constant.js';
|
|
36
45
|
export { VALIDATOR_HAS_PAIRED_CUSTOM_SUFFIXES_FIELDS_CONSTANT } from './constant/validator/has-paired-custom-suffixes-fields.constant.js';
|
|
46
|
+
export { ApiAuthorizationPolicy } from './decorator/api/authorization/policy.decorator.js';
|
|
37
47
|
export { ApiController } from './decorator/api/controller/decorator.js';
|
|
38
48
|
export { ApiControllerObservable } from './decorator/api/controller/observable.decorator.js';
|
|
49
|
+
export { ApiControllerSecurable } from './decorator/api/controller/securable.decorator.js';
|
|
39
50
|
export { ApiFunctionCreate } from './decorator/api/function/create.decorator.js';
|
|
40
51
|
export { ApiFunction } from './decorator/api/function/decorator.js';
|
|
41
52
|
export { ApiFunctionDelete } from './decorator/api/function/delete.decorator.js';
|
|
@@ -57,6 +68,8 @@ export { ApiServiceObservable } from './decorator/api/service/observable.decorat
|
|
|
57
68
|
export { ApiService } from './decorator/api/service.decorator.js';
|
|
58
69
|
export { ApiFunctionSubscriber } from './decorator/api/subscriber/function.decorator.js';
|
|
59
70
|
export { ApiRouteSubscriber } from './decorator/api/subscriber/route.decorator.js';
|
|
71
|
+
export { EAuthorizationEffect } from './enum/authorization/effect.enum.js';
|
|
72
|
+
export { EApiAuthorizationPolicyOnType } from './enum/authorization/policy/on-type.enum.js';
|
|
60
73
|
export { EApiAction } from './enum/decorator/api/action.enum.js';
|
|
61
74
|
export { EApiAuthenticationType } from './enum/decorator/api/authentication-type.enum.js';
|
|
62
75
|
export { EApiControllerLoadRelationsStrategy } from './enum/decorator/api/controller/load-relations-strategy.enum.js';
|
|
@@ -80,7 +93,8 @@ export { EHasPairedCustomSuffixesFieldsArgumentType } from './enum/validator/has
|
|
|
80
93
|
export { EMastMatchOneOfSchemasValidationErrorType } from './enum/validator/must-match-one-of-schemas-error-type.enum.js';
|
|
81
94
|
export { ApiControllerFactory } from './factory/api/controller.factory.js';
|
|
82
95
|
export { CorrelationIDResponseBodyInterceptor } from './interceptor/correlation-id-response-body.interceptor.js';
|
|
83
|
-
export {
|
|
96
|
+
export { ApiAuthorizationModule } from './module/api/authorization.module.js';
|
|
97
|
+
export { ApiSubscriberModule } from './module/api/subscriber.module.js';
|
|
84
98
|
export { ApiControllerApplyDecorators } from './utility/api/controller/apply-decorators.utility.js';
|
|
85
99
|
export { ApiControllerApplyMetadata } from './utility/api/controller/apply-metadata.utility.js';
|
|
86
100
|
export { ApiControllerGetListTransformFilter } from './utility/api/controller/get-list/transform-filter.utility.js';
|
|
@@ -94,6 +108,11 @@ export { ApiControllerWriteDtoSwagger } from './utility/api/controller/write-dto
|
|
|
94
108
|
export { ApiControllerWriteMethod } from './utility/api/controller/write-method.utility.js';
|
|
95
109
|
export { FilterOrderByFromEntity } from './utility/api/filter-order-by-from-entity.utility.js';
|
|
96
110
|
export { GetDefaultStringFormatProperties } from './utility/api/property/get-default-string-format-properties.utility.js';
|
|
111
|
+
export { AuthorizationDecisionApplyResult } from './utility/authorization/decision/apply-result.utility.js';
|
|
112
|
+
export { AuthorizationDecisionAttachResource } from './utility/authorization/decision/attach-resource.utility.js';
|
|
113
|
+
export { AuthorizationDecisionResolveFromRequest } from './utility/authorization/decision/resolve-from-request.utility.js';
|
|
114
|
+
export { AuthorizationScopeMergeWhere } from './utility/authorization/scope/merge/where.utility.js';
|
|
115
|
+
export { AuthorizationResolveDefaultSubject } from './utility/authorization/subject/resolve-default-subject.utility.js';
|
|
97
116
|
export { CamelCaseString } from './utility/camel-case-string.utility.js';
|
|
98
117
|
export { CapitalizeString } from './utility/capitalize-string.utility.js';
|
|
99
118
|
export { analyzeEntityMetadata } from './utility/dto/analize.utility.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { IApiBaseEntity } from './api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationDecision } from './authorization/index';
|
|
3
|
+
import type { TApiAuthorizationRuleTransformPayload } from '../type/class/api/authorization/rule/transform-payload.type';
|
|
2
4
|
export interface IApiAuthenticationRequest {
|
|
5
|
+
authorizationDecision?: IApiAuthorizationDecision<IApiBaseEntity, TApiAuthorizationRuleTransformPayload<IApiBaseEntity>>;
|
|
3
6
|
user: IApiBaseEntity;
|
|
4
7
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { EAuthorizationEffect } from '../../enum/authorization/effect.enum';
|
|
2
|
+
import type { IApiBaseEntity } from '../api-base-entity.interface';
|
|
3
|
+
import type { IApiAuthorizationRule } from './rule/interface';
|
|
4
|
+
import type { IApiAuthorizationScope } from './scope.interface';
|
|
5
|
+
import type { IApiAuthorizationSubject } from './subject.interface';
|
|
6
|
+
import type { TApiAuthorizationRuleResultTransform } from '../../type/class/api/authorization/rule/result-transform.type';
|
|
7
|
+
export interface IApiAuthorizationDecision<E extends IApiBaseEntity, R> {
|
|
8
|
+
action: string;
|
|
9
|
+
appliedRules: Array<IApiAuthorizationRule<E, R>>;
|
|
10
|
+
effect: EAuthorizationEffect;
|
|
11
|
+
policyId: string;
|
|
12
|
+
resource?: E;
|
|
13
|
+
resourceType: string;
|
|
14
|
+
scope?: IApiAuthorizationScope<E>;
|
|
15
|
+
subject: IApiAuthorizationSubject;
|
|
16
|
+
transforms: Array<TApiAuthorizationRuleResultTransform<E, R>>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationDecision } from './decision.interface';
|
|
3
|
+
import type { IApiAuthorizationEngineEvaluateOptions } from './evaluate-options.interface';
|
|
4
|
+
export interface IApiAuthorizationEngine<E extends IApiBaseEntity> {
|
|
5
|
+
evaluate<R>(options: IApiAuthorizationEngineEvaluateOptions<E, R>): Promise<IApiAuthorizationDecision<E, R>>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationPolicy } from './policy/interface';
|
|
3
|
+
import type { IApiAuthorizationSubject } from './subject.interface';
|
|
4
|
+
export interface IApiAuthorizationEngineEvaluateOptions<E extends IApiBaseEntity, R> {
|
|
5
|
+
action: string;
|
|
6
|
+
policy: IApiAuthorizationPolicy<E, R>;
|
|
7
|
+
resource?: E;
|
|
8
|
+
subject: IApiAuthorizationSubject;
|
|
9
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { type IApiAuthorizationDecision } from './decision.interface';
|
|
2
|
+
export { type IApiAuthorizationEngine } from './engine.interface';
|
|
3
|
+
export { type IApiAuthorizationEngineEvaluateOptions } from './evaluate-options.interface';
|
|
4
|
+
export type * from './policy/index';
|
|
5
|
+
export type * from './rule/index';
|
|
6
|
+
export { type IApiAuthorizationScope } from './scope.interface';
|
|
7
|
+
export { type IApiAuthorizationSubject } from './subject.interface';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationRule } from '../rule/interface';
|
|
3
|
+
export interface IApiAuthorizationPolicy<E extends IApiBaseEntity, R> {
|
|
4
|
+
action: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
entity: new () => E;
|
|
7
|
+
policyId: string;
|
|
8
|
+
rules: Array<IApiAuthorizationRule<E, R>>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationPolicy } from './interface';
|
|
3
|
+
import type { IApiAuthorizationPolicySubscriberRegistration } from './subscriber/registration.interface';
|
|
4
|
+
import type { TApiAuthorizationPolicyHookResult } from '../../../type/class/api/authorization/policy/hook/index';
|
|
5
|
+
export interface IApiAuthorizationPolicyRegistry {
|
|
6
|
+
buildAggregatedPolicy<E extends IApiBaseEntity, TAction extends string>(entity: new () => E, action: TAction): Promise<IApiAuthorizationPolicy<E, TApiAuthorizationPolicyHookResult<TAction, E>> | undefined>;
|
|
7
|
+
clear(): void;
|
|
8
|
+
registerPolicy<E extends IApiBaseEntity, R>(policy: IApiAuthorizationPolicy<E, R>): void;
|
|
9
|
+
registerSubscriber<E extends IApiBaseEntity>(registration: IApiAuthorizationPolicySubscriberRegistration<E>): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
|
|
2
|
+
import type { IApiBaseEntity } from '../../../api-base-entity.interface';
|
|
3
|
+
import type { IApiEntity } from '../../../entity/interface';
|
|
4
|
+
export interface IApiAuthorizationPolicySubscriberContext<E extends IApiBaseEntity> {
|
|
5
|
+
action: string;
|
|
6
|
+
entity: new () => E;
|
|
7
|
+
entityMetadata: IApiEntity<E>;
|
|
8
|
+
routeType?: EApiRouteType;
|
|
9
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { type IApiAuthorizationPolicySubscriberContext } from './context.interface';
|
|
2
|
+
export { type IApiAuthorizationPolicySubscriber } from './interface';
|
|
3
|
+
export { type IApiAuthorizationPolicySubscriberProperties } from './properties.interface';
|
|
4
|
+
export { type IApiAuthorizationPolicySubscriberRegistration } from './registration.interface';
|
|
5
|
+
export { type IApiAuthorizationPolicySubscriberRule } from './rule.interface';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
|
|
2
|
+
import type { IApiBaseEntity } from '../../../api-base-entity.interface';
|
|
3
|
+
import type { IApiAuthorizationPolicySubscriberContext } from './context.interface';
|
|
4
|
+
import type { TApiAuthorizationPolicyHookResult } from '../../../../type/class/api/authorization/policy/hook/index';
|
|
5
|
+
import type { TApiAuthorizationPolicySubscriberRuleResult } from '../../../../type/class/api/authorization/policy/policy-subscriber-rule-result.type';
|
|
6
|
+
export interface IApiAuthorizationPolicySubscriber<E extends IApiBaseEntity> {
|
|
7
|
+
getCustomActionRule?<TAction extends string>(action: TAction, context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>;
|
|
8
|
+
onBeforeCreate?(context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.CREATE, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.CREATE, E>>;
|
|
9
|
+
onBeforeDelete?(context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.DELETE, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.DELETE, E>>;
|
|
10
|
+
onBeforeGet?(context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.GET, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.GET, E>>;
|
|
11
|
+
onBeforeGetList?(context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.GET_LIST, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.GET_LIST, E>>;
|
|
12
|
+
onBeforePartialUpdate?(context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.PARTIAL_UPDATE, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.PARTIAL_UPDATE, E>>;
|
|
13
|
+
onBeforeUpdate?(context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.UPDATE, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.UPDATE, E>>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationPolicySubscriber } from './interface';
|
|
3
|
+
export interface IApiAuthorizationPolicySubscriberRegistration<E extends IApiBaseEntity> {
|
|
4
|
+
description?: string;
|
|
5
|
+
entity: new () => E;
|
|
6
|
+
policyId: string;
|
|
7
|
+
priority: number;
|
|
8
|
+
subscriber: IApiAuthorizationPolicySubscriber<E>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { EAuthorizationEffect } from '../../../../enum/authorization/effect.enum';
|
|
2
|
+
import type { IApiBaseEntity } from '../../../api-base-entity.interface';
|
|
3
|
+
import type { TApiAuthorizationRuleCondition } from '../../../../type/class/api/authorization/rule/condition.type';
|
|
4
|
+
import type { TApiAuthorizationRuleResultTransform } from '../../../../type/class/api/authorization/rule/result-transform.type';
|
|
5
|
+
import type { TApiAuthorizationRuleScopeResolver } from '../../../../type/class/api/authorization/rule/scope-resolver.type';
|
|
6
|
+
export interface IApiAuthorizationPolicySubscriberRule<E extends IApiBaseEntity, R> {
|
|
7
|
+
condition?: TApiAuthorizationRuleCondition<E>;
|
|
8
|
+
description?: string;
|
|
9
|
+
effect: EAuthorizationEffect;
|
|
10
|
+
priority?: number;
|
|
11
|
+
resultTransform?: TApiAuthorizationRuleResultTransform<E, R>;
|
|
12
|
+
scope?: TApiAuthorizationRuleScopeResolver<E>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationSubject } from '../subject.interface';
|
|
3
|
+
export interface IApiAuthorizationRuleContext<E extends IApiBaseEntity> {
|
|
4
|
+
resource?: E;
|
|
5
|
+
subject: IApiAuthorizationSubject;
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { EAuthorizationEffect } from '../../../enum/authorization/effect.enum';
|
|
2
|
+
import type { IApiBaseEntity } from '../../api-base-entity.interface';
|
|
3
|
+
import type { TApiAuthorizationRuleCondition } from '../../../type/class/api/authorization/rule/condition.type';
|
|
4
|
+
import type { TApiAuthorizationRuleResultTransform } from '../../../type/class/api/authorization/rule/result-transform.type';
|
|
5
|
+
import type { TApiAuthorizationRuleScopeResolver } from '../../../type/class/api/authorization/rule/scope-resolver.type';
|
|
6
|
+
export interface IApiAuthorizationRule<E extends IApiBaseEntity, R> {
|
|
7
|
+
action: string;
|
|
8
|
+
condition?: TApiAuthorizationRuleCondition<E>;
|
|
9
|
+
description?: string;
|
|
10
|
+
effect: EAuthorizationEffect;
|
|
11
|
+
policyId: string;
|
|
12
|
+
priority: number;
|
|
13
|
+
resultTransform?: TApiAuthorizationRuleResultTransform<E, R>;
|
|
14
|
+
scope?: TApiAuthorizationRuleScopeResolver<E>;
|
|
15
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
|
|
2
2
|
import type { IApiAuthenticationRequest } from '../../../api-authentication-request.interface';
|
|
3
3
|
import type { IApiBaseEntity } from '../../../api-base-entity.interface';
|
|
4
|
+
import type { IApiAuthorizationDecision } from '../../../authorization/index';
|
|
4
5
|
import type { IApiControllerProperties } from '../../../decorator/api/controller/properties.interface';
|
|
5
6
|
import type { IApiEntity } from '../../../entity/index';
|
|
7
|
+
import type { TApiAuthorizationRuleTransformPayload } from '../../../../type/class/api/authorization/rule/transform-payload.type';
|
|
6
8
|
/**
|
|
7
9
|
* Base data container for route subscriber execution context.
|
|
8
10
|
* Contains route metadata and configuration.
|
|
@@ -46,11 +48,15 @@ export interface IApiSubscriberRouteExecutionContextData<E extends IApiBaseEntit
|
|
|
46
48
|
* Extended data container for route subscriber execution context.
|
|
47
49
|
* Includes request context (headers, IP, authentication) in addition to base route data.
|
|
48
50
|
*/
|
|
49
|
-
export interface IApiSubscriberRouteExecutionContextDataExtended<E extends IApiBaseEntity
|
|
51
|
+
export interface IApiSubscriberRouteExecutionContextDataExtended<E extends IApiBaseEntity, R = TApiAuthorizationRuleTransformPayload<E>> extends IApiSubscriberRouteExecutionContextData<E> {
|
|
50
52
|
/**
|
|
51
53
|
* Authentication request information
|
|
52
54
|
*/
|
|
53
55
|
authenticationRequest?: IApiAuthenticationRequest;
|
|
56
|
+
/**
|
|
57
|
+
* Authorization decision
|
|
58
|
+
*/
|
|
59
|
+
authorizationDecision?: IApiAuthorizationDecision<E, R>;
|
|
54
60
|
/**
|
|
55
61
|
* HTTP request headers
|
|
56
62
|
*/
|
|
@@ -2,6 +2,7 @@ export { type IApiAuthenticationRequest } from './api-authentication-request.int
|
|
|
2
2
|
export { type IApiBaseEntity } from './api-base-entity.interface';
|
|
3
3
|
export { type IApiDtoValidator } from './api-dto-validator.interface';
|
|
4
4
|
export { type IApiRequestValidator } from './api-request-validator.interface';
|
|
5
|
+
export type * from './authorization/index';
|
|
5
6
|
export type * from './class/index';
|
|
6
7
|
export type * from './decorator/api/index';
|
|
7
8
|
export { type IDtoGenerateFactory } from './dto-generate-factory.interface';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module responsible for discovering and registering authorization policies.
|
|
3
|
+
* Import this module to enable zero-configuration RBAC.
|
|
4
|
+
* @see {@link https://elsikora.com/docs/nestjs-crud-automator/authorization | Authorization}
|
|
5
|
+
*/
|
|
6
|
+
export declare class ApiAuthorizationModule {
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __decorate } from '../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ApiAuthorizationEngine } from '../../class/api/authorization/engine.class.js';
|
|
3
|
+
import { ApiAuthorizationGuard } from '../../class/api/authorization/guard.class.js';
|
|
4
|
+
import { ApiAuthorizationPolicyDiscoveryService } from '../../class/api/authorization/policy/discovery-service.class.js';
|
|
5
|
+
import { apiAuthorizationPolicyRegistry, ApiAuthorizationPolicyRegistry } from '../../class/api/authorization/policy/registry.class.js';
|
|
6
|
+
import { AUTHORIZATION_POLICY_REGISTRY_TOKEN } from '../../constant/authorization/token/registry.constant.js';
|
|
7
|
+
import { Global, Module } from '@nestjs/common';
|
|
8
|
+
import { DiscoveryModule } from '@nestjs/core';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Module responsible for discovering and registering authorization policies.
|
|
12
|
+
* Import this module to enable zero-configuration RBAC.
|
|
13
|
+
* @see {@link https://elsikora.com/docs/nestjs-crud-automator/authorization | Authorization}
|
|
14
|
+
*/
|
|
15
|
+
let ApiAuthorizationModule = class ApiAuthorizationModule {
|
|
16
|
+
};
|
|
17
|
+
ApiAuthorizationModule = __decorate([
|
|
18
|
+
Global(),
|
|
19
|
+
Module({
|
|
20
|
+
exports: [AUTHORIZATION_POLICY_REGISTRY_TOKEN, ApiAuthorizationEngine, ApiAuthorizationGuard, ApiAuthorizationPolicyDiscoveryService],
|
|
21
|
+
imports: [DiscoveryModule],
|
|
22
|
+
providers: [
|
|
23
|
+
ApiAuthorizationEngine,
|
|
24
|
+
ApiAuthorizationGuard,
|
|
25
|
+
ApiAuthorizationPolicyDiscoveryService,
|
|
26
|
+
{
|
|
27
|
+
provide: AUTHORIZATION_POLICY_REGISTRY_TOKEN,
|
|
28
|
+
useValue: apiAuthorizationPolicyRegistry,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
provide: ApiAuthorizationPolicyRegistry,
|
|
32
|
+
useValue: apiAuthorizationPolicyRegistry,
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
})
|
|
36
|
+
], ApiAuthorizationModule);
|
|
37
|
+
|
|
38
|
+
export { ApiAuthorizationModule };
|
|
39
|
+
//# sourceMappingURL=authorization.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.module.js","sources":["../../../../../src/module/api/authorization.module.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAQA;;;;AAIG;AAmBI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB,CAAA;;AAAtB,sBAAsB,GAAA,UAAA,CAAA;AAlBlC,IAAA,MAAM,EAAE;AACR,IAAA,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,mCAAmC,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sCAAsC,CAAC;QACrI,OAAO,EAAE,CAAC,eAAe,CAAC;AAC1B,QAAA,SAAS,EAAE;YACV,sBAAsB;YACtB,qBAAqB;YACrB,sCAAsC;AACtC,YAAA;AACC,gBAAA,OAAO,EAAE,mCAAmC;AAC5C,gBAAA,QAAQ,EAAE,8BAA8B;AACxC,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,8BAA8B;AACvC,gBAAA,QAAQ,EAAE,8BAA8B;AACxC,aAAA;AACD,SAAA;KACD;AACY,CAAA,EAAA,sBAAsB,CAAG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __decorate } from '
|
|
2
|
-
import { ApiSubscriberDiscoveryService } from '
|
|
1
|
+
import { __decorate } from '../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ApiSubscriberDiscoveryService } from '../../class/api/subscriber/discovery-service.class.js';
|
|
3
3
|
import { Module } from '@nestjs/common';
|
|
4
4
|
import { DiscoveryModule } from '@nestjs/core';
|
|
5
5
|
|
|
@@ -20,4 +20,4 @@ ApiSubscriberModule = __decorate([
|
|
|
20
20
|
], ApiSubscriberModule);
|
|
21
21
|
|
|
22
22
|
export { ApiSubscriberModule };
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=subscriber.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriber.module.js","sources":["../../../../../src/module/api/subscriber.module.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAIA;;;;;AAKG;AAMI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;;AAAnB,mBAAmB,GAAA,UAAA,CAAA;AAL/B,IAAA,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,6BAA6B,CAAC;QACxC,OAAO,EAAE,CAAC,eAAe,CAAC;QAC1B,SAAS,EAAE,CAAC,6BAA6B,CAAC;KAC1C;AACY,CAAA,EAAA,mBAAmB,CAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './api
|
|
1
|
+
export * from './api/index';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationDecision } from '../../../../interface/authorization/index';
|
|
3
|
+
import type { TApiAuthorizationRuleTransformPayload } from './rule/transform-payload.type';
|
|
4
|
+
export type TApiAuthorizationGuardRequest = {
|
|
5
|
+
authorizationDecision?: IApiAuthorizationDecision<IApiBaseEntity, TApiAuthorizationRuleTransformPayload<IApiBaseEntity>>;
|
|
6
|
+
user?: unknown;
|
|
7
|
+
} & Record<string, unknown>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EApiRouteType } from '../../../../../../enum/decorator/api/route-type.enum';
|
|
2
|
+
import type { IApiBaseEntity } from '../../../../../../interface/api-base-entity.interface';
|
|
3
|
+
import type { IApiGetListResponseResult } from '../../../../../../interface/decorator/api/get-list-response-result.interface';
|
|
4
|
+
import type { TApiAuthorizationRuleTransformPayload } from '../../rule/transform-payload.type';
|
|
5
|
+
/**
|
|
6
|
+
* Maps a policy hook/action to the payload type its transforms will receive.
|
|
7
|
+
*/
|
|
8
|
+
export type TApiAuthorizationPolicyHookResult<TAction extends string, E extends IApiBaseEntity> = TAction extends EApiRouteType.CREATE ? E : TAction extends EApiRouteType.GET ? E : TAction extends EApiRouteType.GET_LIST ? IApiGetListResponseResult<E> : TAction extends EApiRouteType.PARTIAL_UPDATE ? E : TAction extends EApiRouteType.UPDATE ? E : TAction extends EApiRouteType.DELETE ? undefined : TApiAuthorizationRuleTransformPayload<E>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationPolicySubscriberContext } from '../../../../../../interface/authorization/index';
|
|
3
|
+
import type { TApiAuthorizationPolicySubscriberRuleResult } from '../policy-subscriber-rule-result.type';
|
|
4
|
+
import type { TApiAuthorizationPolicyHookResult } from './result.type';
|
|
5
|
+
export type TApiAuthorizationPolicyHook<E extends IApiBaseEntity, TAction extends string> = (context: IApiAuthorizationPolicySubscriberContext<E>) => Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationPolicySubscriberRule } from '../../../../../interface/authorization/policy/subscriber/rule.interface';
|
|
3
|
+
export type TApiAuthorizationPolicySubscriberRuleResult<E extends IApiBaseEntity, R> = Array<IApiAuthorizationPolicySubscriberRule<E, R>> | IApiAuthorizationPolicySubscriberRule<E, R> | undefined;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationRuleContext } from '../../../../../interface/authorization/rule/context.interface';
|
|
3
|
+
export type TApiAuthorizationRuleCondition<E extends IApiBaseEntity> = (context: IApiAuthorizationRuleContext<E>) => boolean | Promise<boolean>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { type TApiAuthorizationRuleCondition } from './condition.type';
|
|
2
|
+
export { type TApiAuthorizationRuleResultTransform } from './result-transform.type';
|
|
3
|
+
export { type TApiAuthorizationRuleScopeResolver } from './scope-resolver.type';
|
|
4
|
+
export { type TApiAuthorizationRuleTransformPayload } from './transform-payload.type';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationRuleContext } from '../../../../../interface/authorization/rule/context.interface';
|
|
3
|
+
import type { TApiAuthorizationRuleTransformPayload } from './transform-payload.type';
|
|
4
|
+
export type TApiAuthorizationRuleResultTransform<E extends IApiBaseEntity, R = TApiAuthorizationRuleTransformPayload<E>> = (result: R, context: IApiAuthorizationRuleContext<E>) => Promise<R> | R;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiAuthorizationRuleContext } from '../../../../../interface/authorization/rule/context.interface';
|
|
3
|
+
import type { IApiAuthorizationScope } from '../../../../../interface/authorization/scope.interface';
|
|
4
|
+
export type TApiAuthorizationRuleScopeResolver<E extends IApiBaseEntity> = (context: IApiAuthorizationRuleContext<E>) => IApiAuthorizationScope<E> | Promise<IApiAuthorizationScope<E> | undefined> | undefined;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
|
|
2
|
+
import type { IApiGetListResponseResult } from '../../../../../interface/decorator/api/get-list-response-result.interface';
|
|
3
|
+
export type TApiAuthorizationRuleTransformPayload<E extends IApiBaseEntity> = Array<unknown> | boolean | E | IApiGetListResponseResult<E> | null | number | object | Partial<E> | Record<string, unknown> | string | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { IApiBaseEntity } from '../../../../../../interface/api-base-entity.interface';
|
|
2
2
|
import type { IApiSubscriberRouteExecutionContextDataExtended } from '../../../../../../interface/class/api/subscriber/route-execution-context-data.interface';
|
|
3
3
|
import type { IApiSubscriberRouteExecutionContext } from '../../../../../../interface/class/api/subscriber/route-execution-context.interface';
|
|
4
|
-
export type TApiSubscriberRouteAfterCreateContext<E extends IApiBaseEntity> = IApiSubscriberRouteExecutionContext<E, E, IApiSubscriberRouteExecutionContextDataExtended<E>>;
|
|
4
|
+
export type TApiSubscriberRouteAfterCreateContext<E extends IApiBaseEntity> = IApiSubscriberRouteExecutionContext<E, E, IApiSubscriberRouteExecutionContextDataExtended<E, E>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { IApiBaseEntity } from '../../../../../../interface/api-base-entity.interface';
|
|
2
2
|
import type { IApiSubscriberRouteExecutionContextDataExtended } from '../../../../../../interface/class/api/subscriber/route-execution-context-data.interface';
|
|
3
3
|
import type { IApiSubscriberRouteExecutionContext } from '../../../../../../interface/class/api/subscriber/route-execution-context.interface';
|
|
4
|
-
export type TApiSubscriberRouteAfterDeleteContext<E extends IApiBaseEntity> = IApiSubscriberRouteExecutionContext<E, E, IApiSubscriberRouteExecutionContextDataExtended<E>>;
|
|
4
|
+
export type TApiSubscriberRouteAfterDeleteContext<E extends IApiBaseEntity> = IApiSubscriberRouteExecutionContext<E, E, IApiSubscriberRouteExecutionContextDataExtended<E, E>>;
|