@venizia/ignis-kernel 0.4.2 → 0.4.4
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/LICENSE.md +2 -5
- package/README.md +13 -0
- package/dist/esm/base/applications/common/constants.d.ts +9 -0
- package/dist/esm/base/applications/common/constants.d.ts.map +1 -1
- package/dist/esm/base/applications/common/constants.js +9 -0
- package/dist/esm/base/applications/common/constants.js.map +1 -1
- package/dist/esm/base/applications/common/types/application.d.ts +1 -1
- package/dist/esm/base/applications/common/types/application.d.ts.map +1 -1
- package/dist/esm/base/applications/common/types/application.js.map +1 -1
- package/dist/esm/base/applications/common/types/middlewares.d.ts +9 -3
- package/dist/esm/base/applications/common/types/middlewares.d.ts.map +1 -1
- package/dist/esm/base/applications/common/types/middlewares.js.map +1 -1
- package/dist/esm/base/applications/rest.d.ts +1 -1
- package/dist/esm/base/applications/rest.d.ts.map +1 -1
- package/dist/esm/base/applications/rest.js +8 -24
- package/dist/esm/base/applications/rest.js.map +1 -1
- package/dist/esm/base/auth/authenticate/common/constants/jose.d.ts +10 -0
- package/dist/esm/base/auth/authenticate/common/constants/jose.d.ts.map +1 -1
- package/dist/esm/base/auth/authenticate/common/constants/jose.js +10 -0
- package/dist/esm/base/auth/authenticate/common/constants/jose.js.map +1 -1
- package/dist/esm/base/auth/authenticate/common/types/jwt.d.ts +1 -2
- package/dist/esm/base/auth/authenticate/common/types/jwt.d.ts.map +1 -1
- package/dist/esm/base/auth/authenticate/common/types/jwt.js.map +1 -1
- package/dist/esm/base/auth/authorize/common/constants/authorization.d.ts +11 -0
- package/dist/esm/base/auth/authorize/common/constants/authorization.d.ts.map +1 -1
- package/dist/esm/base/auth/authorize/common/constants/authorization.js +11 -0
- package/dist/esm/base/auth/authorize/common/constants/authorization.js.map +1 -1
- package/dist/esm/base/auth/authorize/common/types/request.d.ts +2 -1
- package/dist/esm/base/auth/authorize/common/types/request.d.ts.map +1 -1
- package/dist/esm/base/auth/authorize/common/types/request.js.map +1 -1
- package/dist/esm/base/auth/authorize/providers/request-domain.js +5 -5
- package/dist/esm/base/auth/authorize/providers/request-domain.js.map +1 -1
- package/dist/esm/base/controllers/common/constants.d.ts +10 -0
- package/dist/esm/base/controllers/common/constants.d.ts.map +1 -1
- package/dist/esm/base/controllers/common/constants.js +10 -0
- package/dist/esm/base/controllers/common/constants.js.map +1 -1
- package/dist/esm/base/controllers/factory/controller.d.ts +1 -1
- package/dist/esm/base/controllers/factory/controller.d.ts.map +1 -1
- package/dist/esm/base/controllers/rest/abstract.d.ts +2 -1
- package/dist/esm/base/controllers/rest/abstract.d.ts.map +1 -1
- package/dist/esm/base/controllers/rest/abstract.js +6 -4
- package/dist/esm/base/controllers/rest/abstract.js.map +1 -1
- package/dist/esm/base/metadata/model-metadata.d.ts +15 -0
- package/dist/esm/base/metadata/model-metadata.d.ts.map +1 -0
- package/dist/esm/base/metadata/model-metadata.js +33 -0
- package/dist/esm/base/metadata/model-metadata.js.map +1 -0
- package/dist/esm/base/metadata/model-settings.d.ts +7 -17
- package/dist/esm/base/metadata/model-settings.d.ts.map +1 -1
- package/dist/esm/base/metadata/model-settings.js +20 -63
- package/dist/esm/base/metadata/model-settings.js.map +1 -1
- package/dist/esm/base/metadata/persistents.d.ts +1 -1
- package/dist/esm/base/metadata/persistents.d.ts.map +1 -1
- package/dist/esm/base/metadata/persistents.js +6 -13
- package/dist/esm/base/metadata/persistents.js.map +1 -1
- package/dist/esm/base/models/common/constants.d.ts +17 -0
- package/dist/esm/base/models/common/constants.d.ts.map +1 -1
- package/dist/esm/base/models/common/constants.js +17 -0
- package/dist/esm/base/models/common/constants.js.map +1 -1
- package/dist/esm/base/models/common/schemas.d.ts +1 -1
- package/dist/esm/base/models/common/schemas.d.ts.map +1 -1
- package/dist/esm/base/models/common/schemas.js.map +1 -1
- package/dist/esm/base/models/common/types/id.d.ts +0 -2
- package/dist/esm/base/models/common/types/id.d.ts.map +1 -1
- package/dist/esm/base/models/common/types/id.js.map +1 -1
- package/dist/esm/helpers/inversion/common/constants.d.ts +10 -0
- package/dist/esm/helpers/inversion/common/constants.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/common/constants.js +9 -0
- package/dist/esm/helpers/inversion/common/constants.js.map +1 -1
- package/dist/esm/helpers/inversion/common/types/model.d.ts +9 -33
- package/dist/esm/helpers/inversion/common/types/model.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/common/types/model.js.map +1 -1
- package/dist/esm/helpers/inversion/mixins/artifact.mixin.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/mixins/controllers/controller.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/mixins/controllers/grpc.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/mixins/controllers/rest.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/mixins/model.mixin.d.ts +5 -4
- package/dist/esm/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/mixins/model.mixin.js +5 -4
- package/dist/esm/helpers/inversion/mixins/model.mixin.js.map +1 -1
- package/dist/esm/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
- package/dist/esm/helpers/inversion/registry.d.ts.map +1 -1
- package/package.json +13 -23
- package/dist/cjs/base/applications/abstract.d.ts +0 -43
- package/dist/cjs/base/applications/abstract.d.ts.map +0 -1
- package/dist/cjs/base/applications/abstract.js +0 -96
- package/dist/cjs/base/applications/abstract.js.map +0 -1
- package/dist/cjs/base/applications/artifact-group.d.ts +0 -63
- package/dist/cjs/base/applications/artifact-group.d.ts.map +0 -1
- package/dist/cjs/base/applications/artifact-group.js +0 -136
- package/dist/cjs/base/applications/artifact-group.js.map +0 -1
- package/dist/cjs/base/applications/artifact-index.d.ts +0 -45
- package/dist/cjs/base/applications/artifact-index.d.ts.map +0 -1
- package/dist/cjs/base/applications/artifact-index.js +0 -238
- package/dist/cjs/base/applications/artifact-index.js.map +0 -1
- package/dist/cjs/base/applications/boot-sequence.d.ts +0 -33
- package/dist/cjs/base/applications/boot-sequence.d.ts.map +0 -1
- package/dist/cjs/base/applications/boot-sequence.js +0 -66
- package/dist/cjs/base/applications/boot-sequence.js.map +0 -1
- package/dist/cjs/base/applications/common/constants.d.ts +0 -15
- package/dist/cjs/base/applications/common/constants.d.ts.map +0 -1
- package/dist/cjs/base/applications/common/constants.js +0 -26
- package/dist/cjs/base/applications/common/constants.js.map +0 -1
- package/dist/cjs/base/applications/common/index.d.ts +0 -3
- package/dist/cjs/base/applications/common/index.d.ts.map +0 -1
- package/dist/cjs/base/applications/common/index.js +0 -19
- package/dist/cjs/base/applications/common/index.js.map +0 -1
- package/dist/cjs/base/applications/common/types/application.d.ts +0 -83
- package/dist/cjs/base/applications/common/types/application.d.ts.map +0 -1
- package/dist/cjs/base/applications/common/types/application.js +0 -3
- package/dist/cjs/base/applications/common/types/application.js.map +0 -1
- package/dist/cjs/base/applications/common/types/artifacts.d.ts +0 -38
- package/dist/cjs/base/applications/common/types/artifacts.d.ts.map +0 -1
- package/dist/cjs/base/applications/common/types/artifacts.js +0 -3
- package/dist/cjs/base/applications/common/types/artifacts.js.map +0 -1
- package/dist/cjs/base/applications/common/types/index.d.ts +0 -4
- package/dist/cjs/base/applications/common/types/index.d.ts.map +0 -1
- package/dist/cjs/base/applications/common/types/index.js +0 -20
- package/dist/cjs/base/applications/common/types/index.js.map +0 -1
- package/dist/cjs/base/applications/common/types/middlewares.d.ts +0 -44
- package/dist/cjs/base/applications/common/types/middlewares.d.ts.map +0 -1
- package/dist/cjs/base/applications/common/types/middlewares.js +0 -3
- package/dist/cjs/base/applications/common/types/middlewares.js.map +0 -1
- package/dist/cjs/base/applications/cors.d.ts +0 -13
- package/dist/cjs/base/applications/cors.d.ts.map +0 -1
- package/dist/cjs/base/applications/cors.js +0 -43
- package/dist/cjs/base/applications/cors.js.map +0 -1
- package/dist/cjs/base/applications/deprecations.d.ts +0 -10
- package/dist/cjs/base/applications/deprecations.d.ts.map +0 -1
- package/dist/cjs/base/applications/deprecations.js +0 -23
- package/dist/cjs/base/applications/deprecations.js.map +0 -1
- package/dist/cjs/base/applications/index.d.ts +0 -6
- package/dist/cjs/base/applications/index.d.ts.map +0 -1
- package/dist/cjs/base/applications/index.js +0 -22
- package/dist/cjs/base/applications/index.js.map +0 -1
- package/dist/cjs/base/applications/rest.d.ts +0 -154
- package/dist/cjs/base/applications/rest.d.ts.map +0 -1
- package/dist/cjs/base/applications/rest.js +0 -660
- package/dist/cjs/base/applications/rest.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/codecs.d.ts +0 -11
- package/dist/cjs/base/auth/authenticate/common/codecs.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/codecs.js +0 -28
- package/dist/cjs/base/auth/authenticate/common/codecs.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/authentication.d.ts +0 -34
- package/dist/cjs/base/auth/authenticate/common/constants/authentication.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/authentication.js +0 -44
- package/dist/cjs/base/auth/authenticate/common/constants/authentication.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/index.d.ts +0 -4
- package/dist/cjs/base/auth/authenticate/common/constants/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/index.js +0 -20
- package/dist/cjs/base/auth/authenticate/common/constants/index.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/jose.d.ts +0 -30
- package/dist/cjs/base/auth/authenticate/common/constants/jose.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/jose.js +0 -40
- package/dist/cjs/base/auth/authenticate/common/constants/jose.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.d.ts +0 -25
- package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.js +0 -28
- package/dist/cjs/base/auth/authenticate/common/constants/service-assertion.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/errors.d.ts +0 -130
- package/dist/cjs/base/auth/authenticate/common/errors.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/errors.js +0 -121
- package/dist/cjs/base/auth/authenticate/common/errors.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/index.d.ts +0 -6
- package/dist/cjs/base/auth/authenticate/common/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/index.js +0 -22
- package/dist/cjs/base/auth/authenticate/common/index.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/keys.d.ts +0 -9
- package/dist/cjs/base/auth/authenticate/common/keys.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/keys.js +0 -13
- package/dist/cjs/base/auth/authenticate/common/keys.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/basic.d.ts +0 -14
- package/dist/cjs/base/auth/authenticate/common/types/basic.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/basic.js +0 -3
- package/dist/cjs/base/auth/authenticate/common/types/basic.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/index.d.ts +0 -7
- package/dist/cjs/base/auth/authenticate/common/types/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/index.js +0 -23
- package/dist/cjs/base/auth/authenticate/common/types/index.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/jwt.d.ts +0 -137
- package/dist/cjs/base/auth/authenticate/common/types/jwt.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/jwt.js +0 -3
- package/dist/cjs/base/auth/authenticate/common/types/jwt.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/options.d.ts +0 -15
- package/dist/cjs/base/auth/authenticate/common/types/options.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/options.js +0 -3
- package/dist/cjs/base/auth/authenticate/common/types/options.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/rest.d.ts +0 -49
- package/dist/cjs/base/auth/authenticate/common/types/rest.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/rest.js +0 -3
- package/dist/cjs/base/auth/authenticate/common/types/rest.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/service.d.ts +0 -95
- package/dist/cjs/base/auth/authenticate/common/types/service.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/service.js +0 -3
- package/dist/cjs/base/auth/authenticate/common/types/service.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/strategy.d.ts +0 -26
- package/dist/cjs/base/auth/authenticate/common/types/strategy.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/common/types/strategy.js +0 -3
- package/dist/cjs/base/auth/authenticate/common/types/strategy.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/index.d.ts +0 -5
- package/dist/cjs/base/auth/authenticate/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/index.js +0 -21
- package/dist/cjs/base/auth/authenticate/index.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/middlewares/authenticate.middleware.d.ts +0 -7
- package/dist/cjs/base/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/middlewares/authenticate.middleware.js +0 -11
- package/dist/cjs/base/auth/authenticate/middlewares/authenticate.middleware.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/middlewares/index.d.ts +0 -2
- package/dist/cjs/base/auth/authenticate/middlewares/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/middlewares/index.js +0 -18
- package/dist/cjs/base/auth/authenticate/middlewares/index.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/providers/authentication.provider.d.ts +0 -13
- package/dist/cjs/base/auth/authenticate/providers/authentication.provider.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/providers/authentication.provider.js +0 -119
- package/dist/cjs/base/auth/authenticate/providers/authentication.provider.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/providers/index.d.ts +0 -2
- package/dist/cjs/base/auth/authenticate/providers/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/providers/index.js +0 -18
- package/dist/cjs/base/auth/authenticate/providers/index.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/strategies/index.d.ts +0 -2
- package/dist/cjs/base/auth/authenticate/strategies/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/strategies/index.js +0 -18
- package/dist/cjs/base/auth/authenticate/strategies/index.js.map +0 -1
- package/dist/cjs/base/auth/authenticate/strategies/strategy-registry.d.ts +0 -58
- package/dist/cjs/base/auth/authenticate/strategies/strategy-registry.d.ts.map +0 -1
- package/dist/cjs/base/auth/authenticate/strategies/strategy-registry.js +0 -87
- package/dist/cjs/base/auth/authenticate/strategies/strategy-registry.js.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/grant.builder.d.ts +0 -75
- package/dist/cjs/base/auth/authorize/builders/grant.builder.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/grant.builder.js +0 -229
- package/dist/cjs/base/auth/authorize/builders/grant.builder.js.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/index.d.ts +0 -4
- package/dist/cjs/base/auth/authorize/builders/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/index.js +0 -20
- package/dist/cjs/base/auth/authorize/builders/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/permission.builder.d.ts +0 -80
- package/dist/cjs/base/auth/authorize/builders/permission.builder.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/permission.builder.js +0 -95
- package/dist/cjs/base/auth/authorize/builders/permission.builder.js.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/policy.builder.d.ts +0 -201
- package/dist/cjs/base/auth/authorize/builders/policy.builder.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/builders/policy.builder.js +0 -130
- package/dist/cjs/base/auth/authorize/builders/policy.builder.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/authorization.d.ts +0 -123
- package/dist/cjs/base/auth/authorize/common/constants/authorization.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/authorization.js +0 -163
- package/dist/cjs/base/auth/authorize/common/constants/authorization.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/binding-keys.d.ts +0 -6
- package/dist/cjs/base/auth/authorize/common/constants/binding-keys.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/binding-keys.js +0 -12
- package/dist/cjs/base/auth/authorize/common/constants/binding-keys.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/enforcer.d.ts +0 -54
- package/dist/cjs/base/auth/authorize/common/constants/enforcer.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/enforcer.js +0 -70
- package/dist/cjs/base/auth/authorize/common/constants/enforcer.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/index.d.ts +0 -4
- package/dist/cjs/base/auth/authorize/common/constants/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/constants/index.js +0 -20
- package/dist/cjs/base/auth/authorize/common/constants/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/errors.d.ts +0 -60
- package/dist/cjs/base/auth/authorize/common/errors.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/errors.js +0 -53
- package/dist/cjs/base/auth/authorize/common/errors.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/index.d.ts +0 -4
- package/dist/cjs/base/auth/authorize/common/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/index.js +0 -20
- package/dist/cjs/base/auth/authorize/common/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/enforcer.d.ts +0 -113
- package/dist/cjs/base/auth/authorize/common/types/enforcer.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/enforcer.js +0 -3
- package/dist/cjs/base/auth/authorize/common/types/enforcer.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/grant.d.ts +0 -18
- package/dist/cjs/base/auth/authorize/common/types/grant.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/grant.js +0 -3
- package/dist/cjs/base/auth/authorize/common/types/grant.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/index.d.ts +0 -4
- package/dist/cjs/base/auth/authorize/common/types/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/index.js +0 -20
- package/dist/cjs/base/auth/authorize/common/types/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/request.d.ts +0 -36
- package/dist/cjs/base/auth/authorize/common/types/request.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/common/types/request.js +0 -3
- package/dist/cjs/base/auth/authorize/common/types/request.js.map +0 -1
- package/dist/cjs/base/auth/authorize/enforcers/enforcer-registry.d.ts +0 -68
- package/dist/cjs/base/auth/authorize/enforcers/enforcer-registry.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/enforcers/enforcer-registry.js +0 -137
- package/dist/cjs/base/auth/authorize/enforcers/enforcer-registry.js.map +0 -1
- package/dist/cjs/base/auth/authorize/enforcers/index.d.ts +0 -2
- package/dist/cjs/base/auth/authorize/enforcers/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/enforcers/index.js +0 -18
- package/dist/cjs/base/auth/authorize/enforcers/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/index.d.ts +0 -7
- package/dist/cjs/base/auth/authorize/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/index.js +0 -23
- package/dist/cjs/base/auth/authorize/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/middlewares/authorize.middleware.d.ts +0 -6
- package/dist/cjs/base/auth/authorize/middlewares/authorize.middleware.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/middlewares/authorize.middleware.js +0 -11
- package/dist/cjs/base/auth/authorize/middlewares/authorize.middleware.js.map +0 -1
- package/dist/cjs/base/auth/authorize/middlewares/index.d.ts +0 -2
- package/dist/cjs/base/auth/authorize/middlewares/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/middlewares/index.js +0 -18
- package/dist/cjs/base/auth/authorize/middlewares/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/models/authorization-role.model.d.ts +0 -30
- package/dist/cjs/base/auth/authorize/models/authorization-role.model.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/models/authorization-role.model.js +0 -30
- package/dist/cjs/base/auth/authorize/models/authorization-role.model.js.map +0 -1
- package/dist/cjs/base/auth/authorize/models/index.d.ts +0 -2
- package/dist/cjs/base/auth/authorize/models/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/models/index.js +0 -18
- package/dist/cjs/base/auth/authorize/models/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/providers/authorization.provider.d.ts +0 -10
- package/dist/cjs/base/auth/authorize/providers/authorization.provider.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/providers/authorization.provider.js +0 -163
- package/dist/cjs/base/auth/authorize/providers/authorization.provider.js.map +0 -1
- package/dist/cjs/base/auth/authorize/providers/index.d.ts +0 -3
- package/dist/cjs/base/auth/authorize/providers/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/providers/index.js +0 -19
- package/dist/cjs/base/auth/authorize/providers/index.js.map +0 -1
- package/dist/cjs/base/auth/authorize/providers/request-domain.d.ts +0 -16
- package/dist/cjs/base/auth/authorize/providers/request-domain.d.ts.map +0 -1
- package/dist/cjs/base/auth/authorize/providers/request-domain.js +0 -51
- package/dist/cjs/base/auth/authorize/providers/request-domain.js.map +0 -1
- package/dist/cjs/base/auth/base/abstract-auth-registry.d.ts +0 -38
- package/dist/cjs/base/auth/base/abstract-auth-registry.d.ts.map +0 -1
- package/dist/cjs/base/auth/base/abstract-auth-registry.js +0 -71
- package/dist/cjs/base/auth/base/abstract-auth-registry.js.map +0 -1
- package/dist/cjs/base/auth/base/index.d.ts +0 -2
- package/dist/cjs/base/auth/base/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/base/index.js +0 -18
- package/dist/cjs/base/auth/base/index.js.map +0 -1
- package/dist/cjs/base/auth/context-variables.d.ts +0 -20
- package/dist/cjs/base/auth/context-variables.d.ts.map +0 -1
- package/dist/cjs/base/auth/context-variables.js +0 -3
- package/dist/cjs/base/auth/context-variables.js.map +0 -1
- package/dist/cjs/base/auth/index.d.ts +0 -6
- package/dist/cjs/base/auth/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/index.js +0 -22
- package/dist/cjs/base/auth/index.js.map +0 -1
- package/dist/cjs/base/auth/models/index.d.ts +0 -2
- package/dist/cjs/base/auth/models/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/models/index.js +0 -18
- package/dist/cjs/base/auth/models/index.js.map +0 -1
- package/dist/cjs/base/auth/models/requests/change-password.schema.d.ts +0 -9
- package/dist/cjs/base/auth/models/requests/change-password.schema.d.ts.map +0 -1
- package/dist/cjs/base/auth/models/requests/change-password.schema.js +0 -23
- package/dist/cjs/base/auth/models/requests/change-password.schema.js.map +0 -1
- package/dist/cjs/base/auth/models/requests/index.d.ts +0 -4
- package/dist/cjs/base/auth/models/requests/index.d.ts.map +0 -1
- package/dist/cjs/base/auth/models/requests/index.js +0 -20
- package/dist/cjs/base/auth/models/requests/index.js.map +0 -1
- package/dist/cjs/base/auth/models/requests/sign-in.schema.d.ts +0 -14
- package/dist/cjs/base/auth/models/requests/sign-in.schema.d.ts.map +0 -1
- package/dist/cjs/base/auth/models/requests/sign-in.schema.js +0 -44
- package/dist/cjs/base/auth/models/requests/sign-in.schema.js.map +0 -1
- package/dist/cjs/base/auth/models/requests/sign-up.schema.d.ts +0 -7
- package/dist/cjs/base/auth/models/requests/sign-up.schema.d.ts.map +0 -1
- package/dist/cjs/base/auth/models/requests/sign-up.schema.js +0 -19
- package/dist/cjs/base/auth/models/requests/sign-up.schema.js.map +0 -1
- package/dist/cjs/base/components/base.d.ts +0 -30
- package/dist/cjs/base/components/base.d.ts.map +0 -1
- package/dist/cjs/base/components/base.js +0 -48
- package/dist/cjs/base/components/base.js.map +0 -1
- package/dist/cjs/base/components/controller/index.d.ts +0 -2
- package/dist/cjs/base/components/controller/index.d.ts.map +0 -1
- package/dist/cjs/base/components/controller/index.js +0 -18
- package/dist/cjs/base/components/controller/index.js.map +0 -1
- package/dist/cjs/base/components/controller/rest/common/index.d.ts +0 -2
- package/dist/cjs/base/components/controller/rest/common/index.d.ts.map +0 -1
- package/dist/cjs/base/components/controller/rest/common/index.js +0 -18
- package/dist/cjs/base/components/controller/rest/common/index.js.map +0 -1
- package/dist/cjs/base/components/controller/rest/common/types.d.ts +0 -6
- package/dist/cjs/base/components/controller/rest/common/types.d.ts.map +0 -1
- package/dist/cjs/base/components/controller/rest/common/types.js +0 -8
- package/dist/cjs/base/components/controller/rest/common/types.js.map +0 -1
- package/dist/cjs/base/components/controller/rest/index.d.ts +0 -3
- package/dist/cjs/base/components/controller/rest/index.d.ts.map +0 -1
- package/dist/cjs/base/components/controller/rest/index.js +0 -19
- package/dist/cjs/base/components/controller/rest/index.js.map +0 -1
- package/dist/cjs/base/components/controller/rest/rest.component.d.ts +0 -16
- package/dist/cjs/base/components/controller/rest/rest.component.d.ts.map +0 -1
- package/dist/cjs/base/components/controller/rest/rest.component.js +0 -70
- package/dist/cjs/base/components/controller/rest/rest.component.js.map +0 -1
- package/dist/cjs/base/components/index.d.ts +0 -3
- package/dist/cjs/base/components/index.d.ts.map +0 -1
- package/dist/cjs/base/components/index.js +0 -19
- package/dist/cjs/base/components/index.js.map +0 -1
- package/dist/cjs/base/configurations/base.d.ts +0 -14
- package/dist/cjs/base/configurations/base.d.ts.map +0 -1
- package/dist/cjs/base/configurations/base.js +0 -21
- package/dist/cjs/base/configurations/base.js.map +0 -1
- package/dist/cjs/base/configurations/common/index.d.ts +0 -2
- package/dist/cjs/base/configurations/common/index.d.ts.map +0 -1
- package/dist/cjs/base/configurations/common/index.js +0 -18
- package/dist/cjs/base/configurations/common/index.js.map +0 -1
- package/dist/cjs/base/configurations/common/types.d.ts +0 -3
- package/dist/cjs/base/configurations/common/types.d.ts.map +0 -1
- package/dist/cjs/base/configurations/common/types.js +0 -3
- package/dist/cjs/base/configurations/common/types.js.map +0 -1
- package/dist/cjs/base/configurations/index.d.ts +0 -3
- package/dist/cjs/base/configurations/index.d.ts.map +0 -1
- package/dist/cjs/base/configurations/index.js +0 -19
- package/dist/cjs/base/configurations/index.js.map +0 -1
- package/dist/cjs/base/controllers/common/constants.d.ts +0 -30
- package/dist/cjs/base/controllers/common/constants.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/constants.js +0 -54
- package/dist/cjs/base/controllers/common/constants.js.map +0 -1
- package/dist/cjs/base/controllers/common/html-response.d.ts +0 -70
- package/dist/cjs/base/controllers/common/html-response.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/html-response.js +0 -35
- package/dist/cjs/base/controllers/common/html-response.js.map +0 -1
- package/dist/cjs/base/controllers/common/index.d.ts +0 -6
- package/dist/cjs/base/controllers/common/index.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/index.js +0 -23
- package/dist/cjs/base/controllers/common/index.js.map +0 -1
- package/dist/cjs/base/controllers/common/schema-builders.d.ts +0 -10
- package/dist/cjs/base/controllers/common/schema-builders.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/schema-builders.js +0 -23
- package/dist/cjs/base/controllers/common/schema-builders.js.map +0 -1
- package/dist/cjs/base/controllers/common/schemas.d.ts +0 -22
- package/dist/cjs/base/controllers/common/schemas.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/schemas.js +0 -41
- package/dist/cjs/base/controllers/common/schemas.js.map +0 -1
- package/dist/cjs/base/controllers/common/types/context.d.ts +0 -29
- package/dist/cjs/base/controllers/common/types/context.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/types/context.js +0 -3
- package/dist/cjs/base/controllers/common/types/context.js.map +0 -1
- package/dist/cjs/base/controllers/common/types/controller.d.ts +0 -67
- package/dist/cjs/base/controllers/common/types/controller.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/types/controller.js +0 -3
- package/dist/cjs/base/controllers/common/types/controller.js.map +0 -1
- package/dist/cjs/base/controllers/common/types/index.d.ts +0 -4
- package/dist/cjs/base/controllers/common/types/index.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/types/index.js +0 -20
- package/dist/cjs/base/controllers/common/types/index.js.map +0 -1
- package/dist/cjs/base/controllers/common/types/route.d.ts +0 -86
- package/dist/cjs/base/controllers/common/types/route.d.ts.map +0 -1
- package/dist/cjs/base/controllers/common/types/route.js +0 -3
- package/dist/cjs/base/controllers/common/types/route.js.map +0 -1
- package/dist/cjs/base/controllers/context.d.ts +0 -5
- package/dist/cjs/base/controllers/context.d.ts.map +0 -1
- package/dist/cjs/base/controllers/context.js +0 -9
- package/dist/cjs/base/controllers/context.js.map +0 -1
- package/dist/cjs/base/controllers/factory/authorize-guard.d.ts +0 -19
- package/dist/cjs/base/controllers/factory/authorize-guard.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/authorize-guard.js +0 -60
- package/dist/cjs/base/controllers/factory/authorize-guard.js.map +0 -1
- package/dist/cjs/base/controllers/factory/controller.d.ts +0 -210
- package/dist/cjs/base/controllers/factory/controller.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/controller.js +0 -137
- package/dist/cjs/base/controllers/factory/controller.js.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/abstract.d.ts +0 -40
- package/dist/cjs/base/controllers/factory/crud/abstract.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/abstract.js +0 -40
- package/dist/cjs/base/controllers/factory/crud/abstract.js.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/index.d.ts +0 -4
- package/dist/cjs/base/controllers/factory/crud/index.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/index.js +0 -20
- package/dist/cjs/base/controllers/factory/crud/index.js.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/persistable.d.ts +0 -37
- package/dist/cjs/base/controllers/factory/crud/persistable.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/persistable.js +0 -129
- package/dist/cjs/base/controllers/factory/crud/persistable.js.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/readable.d.ts +0 -30
- package/dist/cjs/base/controllers/factory/crud/readable.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/crud/readable.js +0 -118
- package/dist/cjs/base/controllers/factory/crud/readable.js.map +0 -1
- package/dist/cjs/base/controllers/factory/definition.d.ts +0 -1149
- package/dist/cjs/base/controllers/factory/definition.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/definition.js +0 -470
- package/dist/cjs/base/controllers/factory/definition.js.map +0 -1
- package/dist/cjs/base/controllers/factory/helper.d.ts +0 -2
- package/dist/cjs/base/controllers/factory/helper.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/helper.js +0 -3
- package/dist/cjs/base/controllers/factory/helper.js.map +0 -1
- package/dist/cjs/base/controllers/factory/index.d.ts +0 -5
- package/dist/cjs/base/controllers/factory/index.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/index.js +0 -21
- package/dist/cjs/base/controllers/factory/index.js.map +0 -1
- package/dist/cjs/base/controllers/factory/repository-injection.d.ts +0 -14
- package/dist/cjs/base/controllers/factory/repository-injection.d.ts.map +0 -1
- package/dist/cjs/base/controllers/factory/repository-injection.js +0 -31
- package/dist/cjs/base/controllers/factory/repository-injection.js.map +0 -1
- package/dist/cjs/base/controllers/index.d.ts +0 -5
- package/dist/cjs/base/controllers/index.d.ts.map +0 -1
- package/dist/cjs/base/controllers/index.js +0 -21
- package/dist/cjs/base/controllers/index.js.map +0 -1
- package/dist/cjs/base/controllers/rest/abstract.d.ts +0 -57
- package/dist/cjs/base/controllers/rest/abstract.d.ts.map +0 -1
- package/dist/cjs/base/controllers/rest/abstract.js +0 -157
- package/dist/cjs/base/controllers/rest/abstract.js.map +0 -1
- package/dist/cjs/base/controllers/rest/base.d.ts +0 -143
- package/dist/cjs/base/controllers/rest/base.d.ts.map +0 -1
- package/dist/cjs/base/controllers/rest/base.js +0 -121
- package/dist/cjs/base/controllers/rest/base.js.map +0 -1
- package/dist/cjs/base/controllers/rest/extras.d.ts +0 -49
- package/dist/cjs/base/controllers/rest/extras.d.ts.map +0 -1
- package/dist/cjs/base/controllers/rest/extras.js +0 -153
- package/dist/cjs/base/controllers/rest/extras.js.map +0 -1
- package/dist/cjs/base/controllers/rest/index.d.ts +0 -4
- package/dist/cjs/base/controllers/rest/index.d.ts.map +0 -1
- package/dist/cjs/base/controllers/rest/index.js +0 -20
- package/dist/cjs/base/controllers/rest/index.js.map +0 -1
- package/dist/cjs/base/datasources/abstract.d.ts +0 -41
- package/dist/cjs/base/datasources/abstract.d.ts.map +0 -1
- package/dist/cjs/base/datasources/abstract.js +0 -94
- package/dist/cjs/base/datasources/abstract.js.map +0 -1
- package/dist/cjs/base/datasources/common/index.d.ts +0 -2
- package/dist/cjs/base/datasources/common/index.d.ts.map +0 -1
- package/dist/cjs/base/datasources/common/index.js +0 -18
- package/dist/cjs/base/datasources/common/index.js.map +0 -1
- package/dist/cjs/base/datasources/common/types.d.ts +0 -60
- package/dist/cjs/base/datasources/common/types.d.ts.map +0 -1
- package/dist/cjs/base/datasources/common/types.js +0 -35
- package/dist/cjs/base/datasources/common/types.js.map +0 -1
- package/dist/cjs/base/datasources/index.d.ts +0 -3
- package/dist/cjs/base/datasources/index.d.ts.map +0 -1
- package/dist/cjs/base/datasources/index.js +0 -19
- package/dist/cjs/base/datasources/index.js.map +0 -1
- package/dist/cjs/base/events/common/constants.d.ts +0 -37
- package/dist/cjs/base/events/common/constants.d.ts.map +0 -1
- package/dist/cjs/base/events/common/constants.js +0 -42
- package/dist/cjs/base/events/common/constants.js.map +0 -1
- package/dist/cjs/base/events/common/index.d.ts +0 -3
- package/dist/cjs/base/events/common/index.d.ts.map +0 -1
- package/dist/cjs/base/events/common/index.js +0 -19
- package/dist/cjs/base/events/common/index.js.map +0 -1
- package/dist/cjs/base/events/common/types.d.ts +0 -64
- package/dist/cjs/base/events/common/types.d.ts.map +0 -1
- package/dist/cjs/base/events/common/types.js +0 -3
- package/dist/cjs/base/events/common/types.js.map +0 -1
- package/dist/cjs/base/events/event-bus.d.ts +0 -78
- package/dist/cjs/base/events/event-bus.d.ts.map +0 -1
- package/dist/cjs/base/events/event-bus.js +0 -217
- package/dist/cjs/base/events/event-bus.js.map +0 -1
- package/dist/cjs/base/events/index.d.ts +0 -3
- package/dist/cjs/base/events/index.d.ts.map +0 -1
- package/dist/cjs/base/events/index.js +0 -19
- package/dist/cjs/base/events/index.js.map +0 -1
- package/dist/cjs/base/index.d.ts +0 -16
- package/dist/cjs/base/index.d.ts.map +0 -1
- package/dist/cjs/base/index.js +0 -32
- package/dist/cjs/base/index.js.map +0 -1
- package/dist/cjs/base/metadata/artifact-keys.d.ts +0 -54
- package/dist/cjs/base/metadata/artifact-keys.d.ts.map +0 -1
- package/dist/cjs/base/metadata/artifact-keys.js +0 -60
- package/dist/cjs/base/metadata/artifact-keys.js.map +0 -1
- package/dist/cjs/base/metadata/index.d.ts +0 -5
- package/dist/cjs/base/metadata/index.d.ts.map +0 -1
- package/dist/cjs/base/metadata/index.js +0 -21
- package/dist/cjs/base/metadata/index.js.map +0 -1
- package/dist/cjs/base/metadata/injectable.d.ts +0 -16
- package/dist/cjs/base/metadata/injectable.d.ts.map +0 -1
- package/dist/cjs/base/metadata/injectable.js +0 -93
- package/dist/cjs/base/metadata/injectable.js.map +0 -1
- package/dist/cjs/base/metadata/injectors.d.ts +0 -16
- package/dist/cjs/base/metadata/injectors.d.ts.map +0 -1
- package/dist/cjs/base/metadata/injectors.js +0 -20
- package/dist/cjs/base/metadata/injectors.js.map +0 -1
- package/dist/cjs/base/metadata/model-settings.d.ts +0 -21
- package/dist/cjs/base/metadata/model-settings.d.ts.map +0 -1
- package/dist/cjs/base/metadata/model-settings.js +0 -77
- package/dist/cjs/base/metadata/model-settings.js.map +0 -1
- package/dist/cjs/base/metadata/persistents.d.ts +0 -9
- package/dist/cjs/base/metadata/persistents.d.ts.map +0 -1
- package/dist/cjs/base/metadata/persistents.js +0 -247
- package/dist/cjs/base/metadata/persistents.js.map +0 -1
- package/dist/cjs/base/metadata/routes/common.d.ts +0 -24
- package/dist/cjs/base/metadata/routes/common.d.ts.map +0 -1
- package/dist/cjs/base/metadata/routes/common.js +0 -35
- package/dist/cjs/base/metadata/routes/common.js.map +0 -1
- package/dist/cjs/base/metadata/routes/controller.d.ts +0 -3
- package/dist/cjs/base/metadata/routes/controller.d.ts.map +0 -1
- package/dist/cjs/base/metadata/routes/controller.js +0 -13
- package/dist/cjs/base/metadata/routes/controller.js.map +0 -1
- package/dist/cjs/base/metadata/routes/index.d.ts +0 -5
- package/dist/cjs/base/metadata/routes/index.d.ts.map +0 -1
- package/dist/cjs/base/metadata/routes/index.js +0 -27
- package/dist/cjs/base/metadata/routes/index.js.map +0 -1
- package/dist/cjs/base/metadata/routes/rest.d.ts +0 -26
- package/dist/cjs/base/metadata/routes/rest.d.ts.map +0 -1
- package/dist/cjs/base/metadata/routes/rest.js +0 -56
- package/dist/cjs/base/metadata/routes/rest.js.map +0 -1
- package/dist/cjs/base/metadata/routes/rpc.d.ts +0 -22
- package/dist/cjs/base/metadata/routes/rpc.d.ts.map +0 -1
- package/dist/cjs/base/metadata/routes/rpc.js +0 -49
- package/dist/cjs/base/metadata/routes/rpc.js.map +0 -1
- package/dist/cjs/base/middlewares/app-error/app-error.middleware.d.ts +0 -82
- package/dist/cjs/base/middlewares/app-error/app-error.middleware.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/app-error/app-error.middleware.js +0 -294
- package/dist/cjs/base/middlewares/app-error/app-error.middleware.js.map +0 -1
- package/dist/cjs/base/middlewares/app-error/common/index.d.ts +0 -2
- package/dist/cjs/base/middlewares/app-error/common/index.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/app-error/common/index.js +0 -18
- package/dist/cjs/base/middlewares/app-error/common/index.js.map +0 -1
- package/dist/cjs/base/middlewares/app-error/common/types.d.ts +0 -32
- package/dist/cjs/base/middlewares/app-error/common/types.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/app-error/common/types.js +0 -3
- package/dist/cjs/base/middlewares/app-error/common/types.js.map +0 -1
- package/dist/cjs/base/middlewares/app-error/database.handler.d.ts +0 -13
- package/dist/cjs/base/middlewares/app-error/database.handler.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/app-error/database.handler.js +0 -44
- package/dist/cjs/base/middlewares/app-error/database.handler.js.map +0 -1
- package/dist/cjs/base/middlewares/app-error/definition.d.ts +0 -48
- package/dist/cjs/base/middlewares/app-error/definition.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/app-error/definition.js +0 -89
- package/dist/cjs/base/middlewares/app-error/definition.js.map +0 -1
- package/dist/cjs/base/middlewares/app-error/index.d.ts +0 -2
- package/dist/cjs/base/middlewares/app-error/index.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/app-error/index.js +0 -18
- package/dist/cjs/base/middlewares/app-error/index.js.map +0 -1
- package/dist/cjs/base/middlewares/app-error/zod.handler.d.ts +0 -28
- package/dist/cjs/base/middlewares/app-error/zod.handler.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/app-error/zod.handler.js +0 -63
- package/dist/cjs/base/middlewares/app-error/zod.handler.js.map +0 -1
- package/dist/cjs/base/middlewares/common/constants.d.ts +0 -16
- package/dist/cjs/base/middlewares/common/constants.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/common/constants.js +0 -6
- package/dist/cjs/base/middlewares/common/constants.js.map +0 -1
- package/dist/cjs/base/middlewares/common/errors.d.ts +0 -34
- package/dist/cjs/base/middlewares/common/errors.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/common/errors.js +0 -21
- package/dist/cjs/base/middlewares/common/errors.js.map +0 -1
- package/dist/cjs/base/middlewares/common/index.d.ts +0 -3
- package/dist/cjs/base/middlewares/common/index.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/common/index.js +0 -19
- package/dist/cjs/base/middlewares/common/index.js.map +0 -1
- package/dist/cjs/base/middlewares/emoji-favicon/emoji-favicon.middleware.d.ts +0 -6
- package/dist/cjs/base/middlewares/emoji-favicon/emoji-favicon.middleware.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/emoji-favicon/emoji-favicon.middleware.js +0 -18
- package/dist/cjs/base/middlewares/emoji-favicon/emoji-favicon.middleware.js.map +0 -1
- package/dist/cjs/base/middlewares/emoji-favicon/index.d.ts +0 -2
- package/dist/cjs/base/middlewares/emoji-favicon/index.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/emoji-favicon/index.js +0 -18
- package/dist/cjs/base/middlewares/emoji-favicon/index.js.map +0 -1
- package/dist/cjs/base/middlewares/form-body/form-body.middleware.d.ts +0 -12
- package/dist/cjs/base/middlewares/form-body/form-body.middleware.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/form-body/form-body.middleware.js +0 -29
- package/dist/cjs/base/middlewares/form-body/form-body.middleware.js.map +0 -1
- package/dist/cjs/base/middlewares/index.d.ts +0 -5
- package/dist/cjs/base/middlewares/index.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/index.js +0 -21
- package/dist/cjs/base/middlewares/index.js.map +0 -1
- package/dist/cjs/base/middlewares/not-found/index.d.ts +0 -2
- package/dist/cjs/base/middlewares/not-found/index.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/not-found/index.js +0 -18
- package/dist/cjs/base/middlewares/not-found/index.js.map +0 -1
- package/dist/cjs/base/middlewares/not-found/not-found.middleware.d.ts +0 -6
- package/dist/cjs/base/middlewares/not-found/not-found.middleware.d.ts.map +0 -1
- package/dist/cjs/base/middlewares/not-found/not-found.middleware.js +0 -25
- package/dist/cjs/base/middlewares/not-found/not-found.middleware.js.map +0 -1
- package/dist/cjs/base/mixins/common/index.d.ts +0 -2
- package/dist/cjs/base/mixins/common/index.d.ts.map +0 -1
- package/dist/cjs/base/mixins/common/index.js +0 -18
- package/dist/cjs/base/mixins/common/index.js.map +0 -1
- package/dist/cjs/base/mixins/common/types.d.ts +0 -54
- package/dist/cjs/base/mixins/common/types.d.ts.map +0 -1
- package/dist/cjs/base/mixins/common/types.js +0 -3
- package/dist/cjs/base/mixins/common/types.js.map +0 -1
- package/dist/cjs/base/mixins/index.d.ts +0 -2
- package/dist/cjs/base/mixins/index.d.ts.map +0 -1
- package/dist/cjs/base/mixins/index.js +0 -18
- package/dist/cjs/base/mixins/index.js.map +0 -1
- package/dist/cjs/base/models/base.d.ts +0 -19
- package/dist/cjs/base/models/base.d.ts.map +0 -1
- package/dist/cjs/base/models/base.js +0 -27
- package/dist/cjs/base/models/base.js.map +0 -1
- package/dist/cjs/base/models/common/constants.d.ts +0 -11
- package/dist/cjs/base/models/common/constants.d.ts.map +0 -1
- package/dist/cjs/base/models/common/constants.js +0 -15
- package/dist/cjs/base/models/common/constants.js.map +0 -1
- package/dist/cjs/base/models/common/index.d.ts +0 -5
- package/dist/cjs/base/models/common/index.d.ts.map +0 -1
- package/dist/cjs/base/models/common/index.js +0 -21
- package/dist/cjs/base/models/common/index.js.map +0 -1
- package/dist/cjs/base/models/common/schemas.d.ts +0 -160
- package/dist/cjs/base/models/common/schemas.d.ts.map +0 -1
- package/dist/cjs/base/models/common/schemas.js +0 -103
- package/dist/cjs/base/models/common/schemas.js.map +0 -1
- package/dist/cjs/base/models/common/types/id.d.ts +0 -24
- package/dist/cjs/base/models/common/types/id.d.ts.map +0 -1
- package/dist/cjs/base/models/common/types/id.js +0 -3
- package/dist/cjs/base/models/common/types/id.js.map +0 -1
- package/dist/cjs/base/models/common/types/index.d.ts +0 -2
- package/dist/cjs/base/models/common/types/index.d.ts.map +0 -1
- package/dist/cjs/base/models/common/types/index.js +0 -18
- package/dist/cjs/base/models/common/types/index.js.map +0 -1
- package/dist/cjs/base/models/common/utilities.d.ts +0 -13
- package/dist/cjs/base/models/common/utilities.d.ts.map +0 -1
- package/dist/cjs/base/models/common/utilities.js +0 -24
- package/dist/cjs/base/models/common/utilities.js.map +0 -1
- package/dist/cjs/base/models/index.d.ts +0 -3
- package/dist/cjs/base/models/index.d.ts.map +0 -1
- package/dist/cjs/base/models/index.js +0 -19
- package/dist/cjs/base/models/index.js.map +0 -1
- package/dist/cjs/base/providers/base.d.ts +0 -7
- package/dist/cjs/base/providers/base.d.ts.map +0 -1
- package/dist/cjs/base/providers/base.js +0 -8
- package/dist/cjs/base/providers/base.js.map +0 -1
- package/dist/cjs/base/providers/index.d.ts +0 -2
- package/dist/cjs/base/providers/index.d.ts.map +0 -1
- package/dist/cjs/base/providers/index.js +0 -18
- package/dist/cjs/base/providers/index.js.map +0 -1
- package/dist/cjs/base/repositories/common/constants.d.ts +0 -105
- package/dist/cjs/base/repositories/common/constants.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/constants.js +0 -123
- package/dist/cjs/base/repositories/common/constants.js.map +0 -1
- package/dist/cjs/base/repositories/common/errors.d.ts +0 -18
- package/dist/cjs/base/repositories/common/errors.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/errors.js +0 -14
- package/dist/cjs/base/repositories/common/errors.js.map +0 -1
- package/dist/cjs/base/repositories/common/extra-request.d.ts +0 -26
- package/dist/cjs/base/repositories/common/extra-request.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/extra-request.js +0 -21
- package/dist/cjs/base/repositories/common/extra-request.js.map +0 -1
- package/dist/cjs/base/repositories/common/index.d.ts +0 -7
- package/dist/cjs/base/repositories/common/index.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/index.js +0 -23
- package/dist/cjs/base/repositories/common/index.js.map +0 -1
- package/dist/cjs/base/repositories/common/response-reader.d.ts +0 -68
- package/dist/cjs/base/repositories/common/response-reader.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/response-reader.js +0 -134
- package/dist/cjs/base/repositories/common/response-reader.js.map +0 -1
- package/dist/cjs/base/repositories/common/types/contracts.d.ts +0 -208
- package/dist/cjs/base/repositories/common/types/contracts.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/types/contracts.js +0 -3
- package/dist/cjs/base/repositories/common/types/contracts.js.map +0 -1
- package/dist/cjs/base/repositories/common/types/index.d.ts +0 -6
- package/dist/cjs/base/repositories/common/types/index.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/types/index.js +0 -23
- package/dist/cjs/base/repositories/common/types/index.js.map +0 -1
- package/dist/cjs/base/repositories/common/types/options.d.ts +0 -89
- package/dist/cjs/base/repositories/common/types/options.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/types/options.js +0 -3
- package/dist/cjs/base/repositories/common/types/options.js.map +0 -1
- package/dist/cjs/base/repositories/common/types/query.d.ts +0 -18
- package/dist/cjs/base/repositories/common/types/query.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/types/query.js +0 -3
- package/dist/cjs/base/repositories/common/types/query.js.map +0 -1
- package/dist/cjs/base/repositories/common/types/result-schemas.d.ts +0 -10
- package/dist/cjs/base/repositories/common/types/result-schemas.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/types/result-schemas.js +0 -14
- package/dist/cjs/base/repositories/common/types/result-schemas.js.map +0 -1
- package/dist/cjs/base/repositories/common/types/results.d.ts +0 -24
- package/dist/cjs/base/repositories/common/types/results.d.ts.map +0 -1
- package/dist/cjs/base/repositories/common/types/results.js +0 -12
- package/dist/cjs/base/repositories/common/types/results.js.map +0 -1
- package/dist/cjs/base/repositories/core/abstract.d.ts +0 -287
- package/dist/cjs/base/repositories/core/abstract.d.ts.map +0 -1
- package/dist/cjs/base/repositories/core/abstract.js +0 -269
- package/dist/cjs/base/repositories/core/abstract.js.map +0 -1
- package/dist/cjs/base/repositories/core/index.d.ts +0 -2
- package/dist/cjs/base/repositories/core/index.d.ts.map +0 -1
- package/dist/cjs/base/repositories/core/index.js +0 -18
- package/dist/cjs/base/repositories/core/index.js.map +0 -1
- package/dist/cjs/base/repositories/index.d.ts +0 -4
- package/dist/cjs/base/repositories/index.d.ts.map +0 -1
- package/dist/cjs/base/repositories/index.js +0 -20
- package/dist/cjs/base/repositories/index.js.map +0 -1
- package/dist/cjs/base/repositories/query-schemas/index.d.ts +0 -75
- package/dist/cjs/base/repositories/query-schemas/index.d.ts.map +0 -1
- package/dist/cjs/base/repositories/query-schemas/index.js +0 -37
- package/dist/cjs/base/repositories/query-schemas/index.js.map +0 -1
- package/dist/cjs/base/request-context/common/index.d.ts +0 -2
- package/dist/cjs/base/request-context/common/index.d.ts.map +0 -1
- package/dist/cjs/base/request-context/common/index.js +0 -18
- package/dist/cjs/base/request-context/common/index.js.map +0 -1
- package/dist/cjs/base/request-context/common/types.d.ts +0 -7
- package/dist/cjs/base/request-context/common/types.d.ts.map +0 -1
- package/dist/cjs/base/request-context/common/types.js +0 -3
- package/dist/cjs/base/request-context/common/types.js.map +0 -1
- package/dist/cjs/base/request-context/index.d.ts +0 -3
- package/dist/cjs/base/request-context/index.d.ts.map +0 -1
- package/dist/cjs/base/request-context/index.js +0 -19
- package/dist/cjs/base/request-context/index.js.map +0 -1
- package/dist/cjs/base/request-context/registry.d.ts +0 -13
- package/dist/cjs/base/request-context/registry.d.ts.map +0 -1
- package/dist/cjs/base/request-context/registry.js +0 -25
- package/dist/cjs/base/request-context/registry.js.map +0 -1
- package/dist/cjs/base/services/base.d.ts +0 -9
- package/dist/cjs/base/services/base.d.ts.map +0 -1
- package/dist/cjs/base/services/base.js +0 -11
- package/dist/cjs/base/services/base.js.map +0 -1
- package/dist/cjs/base/services/common/index.d.ts +0 -2
- package/dist/cjs/base/services/common/index.d.ts.map +0 -1
- package/dist/cjs/base/services/common/index.js +0 -18
- package/dist/cjs/base/services/common/index.js.map +0 -1
- package/dist/cjs/base/services/common/types.d.ts +0 -3
- package/dist/cjs/base/services/common/types.d.ts.map +0 -1
- package/dist/cjs/base/services/common/types.js +0 -3
- package/dist/cjs/base/services/common/types.js.map +0 -1
- package/dist/cjs/base/services/index.d.ts +0 -3
- package/dist/cjs/base/services/index.d.ts.map +0 -1
- package/dist/cjs/base/services/index.js +0 -19
- package/dist/cjs/base/services/index.js.map +0 -1
- package/dist/cjs/common/bindings.d.ts +0 -50
- package/dist/cjs/common/bindings.d.ts.map +0 -1
- package/dist/cjs/common/bindings.js +0 -81
- package/dist/cjs/common/bindings.js.map +0 -1
- package/dist/cjs/common/error-codes.d.ts +0 -16
- package/dist/cjs/common/error-codes.d.ts.map +0 -1
- package/dist/cjs/common/error-codes.js +0 -27
- package/dist/cjs/common/error-codes.js.map +0 -1
- package/dist/cjs/common/index.d.ts +0 -4
- package/dist/cjs/common/index.d.ts.map +0 -1
- package/dist/cjs/common/index.js +0 -20
- package/dist/cjs/common/index.js.map +0 -1
- package/dist/cjs/common/statuses/common.d.ts +0 -64
- package/dist/cjs/common/statuses/common.d.ts.map +0 -1
- package/dist/cjs/common/statuses/common.js +0 -143
- package/dist/cjs/common/statuses/common.js.map +0 -1
- package/dist/cjs/common/statuses/index.d.ts +0 -5
- package/dist/cjs/common/statuses/index.d.ts.map +0 -1
- package/dist/cjs/common/statuses/index.js +0 -21
- package/dist/cjs/common/statuses/index.js.map +0 -1
- package/dist/cjs/common/statuses/migration.d.ts +0 -9
- package/dist/cjs/common/statuses/migration.d.ts.map +0 -1
- package/dist/cjs/common/statuses/migration.js +0 -16
- package/dist/cjs/common/statuses/migration.js.map +0 -1
- package/dist/cjs/common/statuses/role.d.ts +0 -5
- package/dist/cjs/common/statuses/role.d.ts.map +0 -1
- package/dist/cjs/common/statuses/role.js +0 -9
- package/dist/cjs/common/statuses/role.js.map +0 -1
- package/dist/cjs/common/statuses/user.d.ts +0 -12
- package/dist/cjs/common/statuses/user.d.ts.map +0 -1
- package/dist/cjs/common/statuses/user.js +0 -19
- package/dist/cjs/common/statuses/user.js.map +0 -1
- package/dist/cjs/helpers/index.d.ts +0 -2
- package/dist/cjs/helpers/index.d.ts.map +0 -1
- package/dist/cjs/helpers/index.js +0 -18
- package/dist/cjs/helpers/index.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/constants.d.ts +0 -13
- package/dist/cjs/helpers/inversion/common/constants.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/constants.js +0 -27
- package/dist/cjs/helpers/inversion/common/constants.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/index.d.ts +0 -5
- package/dist/cjs/helpers/inversion/common/index.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/index.js +0 -21
- package/dist/cjs/helpers/inversion/common/index.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/keys.d.ts +0 -15
- package/dist/cjs/helpers/inversion/common/keys.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/keys.js +0 -15
- package/dist/cjs/helpers/inversion/common/keys.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/relation-builder.d.ts +0 -17
- package/dist/cjs/helpers/inversion/common/relation-builder.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/relation-builder.js +0 -22
- package/dist/cjs/helpers/inversion/common/relation-builder.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/artifact.d.ts +0 -34
- package/dist/cjs/helpers/inversion/common/types/artifact.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/artifact.js +0 -3
- package/dist/cjs/helpers/inversion/common/types/artifact.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/controller.d.ts +0 -33
- package/dist/cjs/helpers/inversion/common/types/controller.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/controller.js +0 -3
- package/dist/cjs/helpers/inversion/common/types/controller.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/index.d.ts +0 -6
- package/dist/cjs/helpers/inversion/common/types/index.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/index.js +0 -22
- package/dist/cjs/helpers/inversion/common/types/index.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/injection.d.ts +0 -6
- package/dist/cjs/helpers/inversion/common/types/injection.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/injection.js +0 -3
- package/dist/cjs/helpers/inversion/common/types/injection.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/model.d.ts +0 -154
- package/dist/cjs/helpers/inversion/common/types/model.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/model.js +0 -3
- package/dist/cjs/helpers/inversion/common/types/model.js.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/persistence.d.ts +0 -39
- package/dist/cjs/helpers/inversion/common/types/persistence.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/common/types/persistence.js +0 -3
- package/dist/cjs/helpers/inversion/common/types/persistence.js.map +0 -1
- package/dist/cjs/helpers/inversion/container.d.ts +0 -12
- package/dist/cjs/helpers/inversion/container.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/container.js +0 -18
- package/dist/cjs/helpers/inversion/container.js.map +0 -1
- package/dist/cjs/helpers/inversion/index.d.ts +0 -5
- package/dist/cjs/helpers/inversion/index.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/index.js +0 -30
- package/dist/cjs/helpers/inversion/index.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/artifact.mixin.d.ts +0 -86
- package/dist/cjs/helpers/inversion/mixins/artifact.mixin.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/artifact.mixin.js +0 -42
- package/dist/cjs/helpers/inversion/mixins/artifact.mixin.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/controller.d.ts +0 -77
- package/dist/cjs/helpers/inversion/mixins/controllers/controller.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/controller.js +0 -34
- package/dist/cjs/helpers/inversion/mixins/controllers/controller.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/grpc.d.ts +0 -79
- package/dist/cjs/helpers/inversion/mixins/controllers/grpc.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/grpc.js +0 -32
- package/dist/cjs/helpers/inversion/mixins/controllers/grpc.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/index.d.ts +0 -4
- package/dist/cjs/helpers/inversion/mixins/controllers/index.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/index.js +0 -20
- package/dist/cjs/helpers/inversion/mixins/controllers/index.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/rest.d.ts +0 -79
- package/dist/cjs/helpers/inversion/mixins/controllers/rest.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/controllers/rest.js +0 -32
- package/dist/cjs/helpers/inversion/mixins/controllers/rest.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/datasource.mixin.d.ts +0 -71
- package/dist/cjs/helpers/inversion/mixins/datasource.mixin.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/datasource.mixin.js +0 -18
- package/dist/cjs/helpers/inversion/mixins/datasource.mixin.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/index.d.ts +0 -6
- package/dist/cjs/helpers/inversion/mixins/index.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/index.js +0 -22
- package/dist/cjs/helpers/inversion/mixins/index.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/model.mixin.d.ts +0 -109
- package/dist/cjs/helpers/inversion/mixins/model.mixin.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/model.mixin.js +0 -128
- package/dist/cjs/helpers/inversion/mixins/model.mixin.js.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/repository.mixin.d.ts +0 -147
- package/dist/cjs/helpers/inversion/mixins/repository.mixin.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/mixins/repository.mixin.js +0 -154
- package/dist/cjs/helpers/inversion/mixins/repository.mixin.js.map +0 -1
- package/dist/cjs/helpers/inversion/registry.d.ts +0 -588
- package/dist/cjs/helpers/inversion/registry.d.ts.map +0 -1
- package/dist/cjs/helpers/inversion/registry.js +0 -34
- package/dist/cjs/helpers/inversion/registry.js.map +0 -1
- package/dist/cjs/helpers/singleton-realm.d.ts +0 -30
- package/dist/cjs/helpers/singleton-realm.d.ts.map +0 -1
- package/dist/cjs/helpers/singleton-realm.js +0 -52
- package/dist/cjs/helpers/singleton-realm.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -6
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -22
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/metadata.d.ts +0 -26
- package/dist/cjs/metadata.d.ts.map +0 -1
- package/dist/cjs/metadata.js +0 -44
- package/dist/cjs/metadata.js.map +0 -1
- package/dist/cjs/repository.d.ts +0 -32
- package/dist/cjs/repository.d.ts.map +0 -1
- package/dist/cjs/repository.js +0 -48
- package/dist/cjs/repository.js.map +0 -1
- package/dist/cjs/utilities/error.utility.d.ts +0 -8
- package/dist/cjs/utilities/error.utility.d.ts.map +0 -1
- package/dist/cjs/utilities/error.utility.js +0 -18
- package/dist/cjs/utilities/error.utility.js.map +0 -1
- package/dist/cjs/utilities/index.d.ts +0 -2
- package/dist/cjs/utilities/index.d.ts.map +0 -1
- package/dist/cjs/utilities/index.js +0 -20
- package/dist/cjs/utilities/index.js.map +0 -1
- package/dist/esm/base/applications/deprecations.d.ts +0 -10
- package/dist/esm/base/applications/deprecations.d.ts.map +0 -1
- package/dist/esm/base/applications/deprecations.js +0 -19
- package/dist/esm/base/applications/deprecations.js.map +0 -1
|
@@ -30,4 +30,14 @@ export class JWKSKeyFormats {
|
|
|
30
30
|
return this.SCHEME_SET.has(input);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
/** The signing algorithms a JWKS issuer supports. */
|
|
34
|
+
export class JWKSAlgorithms {
|
|
35
|
+
static { this.ES256 = 'ES256'; }
|
|
36
|
+
static { this.RS256 = 'RS256'; }
|
|
37
|
+
static { this.EDDSA = 'EdDSA'; }
|
|
38
|
+
static { this.SCHEME_SET = new Set([this.ES256, this.RS256, this.EDDSA]); }
|
|
39
|
+
static isValid(value) {
|
|
40
|
+
return this.SCHEME_SET.has(value);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
33
43
|
//# sourceMappingURL=jose.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jose.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authenticate/common/constants/jose.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;aACR,QAAG,GAAG,KAAK,CAAC;aACZ,SAAI,GAAG,MAAM,CAAC;aAEd,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,MAAM,OAAO,SAAS;aACJ,WAAM,GAAG,QAAQ,CAAC;aAClB,aAAQ,GAAG,UAAU,CAAC;aAEtB,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnE,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,MAAM,OAAO,cAAc;aACT,SAAI,GAAG,MAAM,CAAC;aACd,SAAI,GAAG,MAAM,CAAC;aAEd,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,MAAM,OAAO,cAAc;aACT,QAAG,GAAG,KAAK,CAAC;aACZ,QAAG,GAAG,KAAK,CAAC;aAEZ,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC","sourcesContent":["import type { TConstValue } from '@venizia/ignis-helpers/common';\n\nexport class JOSEStandards {\n static readonly JWS = 'JWS';\n static readonly JWKS = 'JWKS';\n\n static readonly SCHEME_SET = new Set([this.JWS, this.JWKS]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJOSEStandard = TConstValue<typeof JOSEStandards>;\n\nexport class JWKSModes {\n static readonly ISSUER = 'issuer';\n static readonly VERIFIER = 'verifier';\n\n static readonly SCHEME_SET = new Set([this.ISSUER, this.VERIFIER]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJWKSMode = TConstValue<typeof JWKSModes>;\n\nexport class JWKSKeyDrivers {\n static readonly TEXT = 'text';\n static readonly FILE = 'file';\n\n static readonly SCHEME_SET = new Set([this.TEXT, this.FILE]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJWKSKeyDriver = TConstValue<typeof JWKSKeyDrivers>;\n\nexport class JWKSKeyFormats {\n static readonly PEM = 'pem';\n static readonly JWK = 'jwk';\n\n static readonly SCHEME_SET = new Set([this.PEM, this.JWK]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJWKSKeyFormat = TConstValue<typeof JWKSKeyFormats>;\n"]}
|
|
1
|
+
{"version":3,"file":"jose.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authenticate/common/constants/jose.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;aACR,QAAG,GAAG,KAAK,CAAC;aACZ,SAAI,GAAG,MAAM,CAAC;aAEd,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,MAAM,OAAO,SAAS;aACJ,WAAM,GAAG,QAAQ,CAAC;aAClB,aAAQ,GAAG,UAAU,CAAC;aAEtB,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnE,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,MAAM,OAAO,cAAc;aACT,SAAI,GAAG,MAAM,CAAC;aACd,SAAI,GAAG,MAAM,CAAC;aAEd,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,MAAM,OAAO,cAAc;aACT,QAAG,GAAG,KAAK,CAAC;aACZ,QAAG,GAAG,KAAK,CAAC;aAEZ,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,qDAAqD;AACrD,MAAM,OAAO,cAAc;aACT,UAAK,GAAG,OAAO,CAAC;aAChB,UAAK,GAAG,OAAO,CAAC;aAChB,UAAK,GAAG,OAAO,CAAC;aAEhB,eAAU,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnF,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC","sourcesContent":["import type { TConstValue } from '@venizia/ignis-helpers/common';\n\nexport class JOSEStandards {\n static readonly JWS = 'JWS';\n static readonly JWKS = 'JWKS';\n\n static readonly SCHEME_SET = new Set([this.JWS, this.JWKS]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJOSEStandard = TConstValue<typeof JOSEStandards>;\n\nexport class JWKSModes {\n static readonly ISSUER = 'issuer';\n static readonly VERIFIER = 'verifier';\n\n static readonly SCHEME_SET = new Set([this.ISSUER, this.VERIFIER]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJWKSMode = TConstValue<typeof JWKSModes>;\n\nexport class JWKSKeyDrivers {\n static readonly TEXT = 'text';\n static readonly FILE = 'file';\n\n static readonly SCHEME_SET = new Set([this.TEXT, this.FILE]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJWKSKeyDriver = TConstValue<typeof JWKSKeyDrivers>;\n\nexport class JWKSKeyFormats {\n static readonly PEM = 'pem';\n static readonly JWK = 'jwk';\n\n static readonly SCHEME_SET = new Set([this.PEM, this.JWK]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport type TJWKSKeyFormat = TConstValue<typeof JWKSKeyFormats>;\n\n/** The signing algorithms a JWKS issuer supports. */\nexport class JWKSAlgorithms {\n static readonly ES256 = 'ES256';\n static readonly RS256 = 'RS256';\n static readonly EDDSA = 'EdDSA';\n\n static readonly SCHEME_SET = new Set<string>([this.ES256, this.RS256, this.EDDSA]);\n\n static isValid(value: string): boolean {\n return this.SCHEME_SET.has(value);\n }\n}\n\n/** Valid JWKS algorithm values. */\nexport type TJWKSAlgorithm = TConstValue<typeof JWKSAlgorithms>;\n"]}
|
|
@@ -2,7 +2,7 @@ import type { IdType } from '../../../../models/common/index.js';
|
|
|
2
2
|
import type { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
3
3
|
import type { AESAlgorithmType, IPayloadCipher } from '@venizia/ignis-helpers/core';
|
|
4
4
|
import type { JWTPayload } from 'jose';
|
|
5
|
-
import type { JOSEStandards, JWKSModes, TJWKSKeyDriver, TJWKSKeyFormat } from '../constants/index.js';
|
|
5
|
+
import type { JOSEStandards, JWKSModes, TJWKSAlgorithm, TJWKSKeyDriver, TJWKSKeyFormat } from '../constants/index.js';
|
|
6
6
|
import type { IAuthUser } from './strategy.js';
|
|
7
7
|
/**
|
|
8
8
|
* Claim checks applied when VERIFYING a JWT. Field names and types mirror jose's `JWTVerifyOptions`
|
|
@@ -65,7 +65,6 @@ export interface IJWSTokenServiceOptions {
|
|
|
65
65
|
/** Claims stamped on every issued token. A configured value WINS over one supplied in the payload. */
|
|
66
66
|
sign?: IJWTSignOptions;
|
|
67
67
|
}
|
|
68
|
-
export type TJWKSAlgorithm = 'ES256' | 'RS256' | 'EdDSA';
|
|
69
68
|
export interface IJWKSIssuerOptions {
|
|
70
69
|
mode: typeof JWKSModes.ISSUER;
|
|
71
70
|
algorithm: TJWKSAlgorithm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../../../../src/base/auth/authenticate/common/types/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../../../../src/base/auth/authenticate/common/types/jwt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authenticate/common/types/jwt.ts"],"names":[],"mappings":"","sourcesContent":["import type { IdType } from '@/base/models/common';\nimport type { ValueOrPromise } from '@venizia/ignis-helpers/common';\nimport type { AESAlgorithmType, IPayloadCipher } from '@venizia/ignis-helpers/core';\nimport type { JWTPayload } from 'jose';\nimport type {
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authenticate/common/types/jwt.ts"],"names":[],"mappings":"","sourcesContent":["import type { IdType } from '@/base/models/common';\nimport type { ValueOrPromise } from '@venizia/ignis-helpers/common';\nimport type { AESAlgorithmType, IPayloadCipher } from '@venizia/ignis-helpers/core';\nimport type { JWTPayload } from 'jose';\nimport type {\n JOSEStandards,\n JWKSModes,\n TJWKSAlgorithm,\n TJWKSKeyDriver,\n TJWKSKeyFormat,\n} from '../constants';\nimport type { IAuthUser } from './strategy';\n\n/**\n * Claim checks applied when VERIFYING a JWT. Field names and types mirror jose's `JWTVerifyOptions`\n * exactly, so this is a pass-through with no translation layer.\n *\n * Every field is optional and unset by default, which is today's behaviour: nothing is checked\n * beyond the signature and the time claims. In a fleet where every verifier points at the same\n * issuer JWKS, that means a token minted for one service is accepted verbatim by every other -\n * `audience` is what makes \"this token was meant for me\" a cryptographic statement rather than a\n * convention.\n */\nexport interface IJWTVerifyOptions {\n /** Expected `aud`. Setting it makes the claim required. Matching is jose's OVERLAP semantics, not equality: a token carrying `['a','b']` satisfies `audience: 'a'`. Enforce single-valued audiences at issue time if that matters. */\n audience?: string | string[];\n\n /** Expected `iss`. Setting it makes the claim required. */\n issuer?: string | string[];\n\n /** Expected `sub`. Setting it makes the claim required. */\n subject?: string;\n\n /** Clock skew tolerance: seconds, or a jose duration string such as `'30 seconds'`. */\n clockTolerance?: string | number;\n\n /** Accepted JWS `alg` header values. Unset means the accepted algorithm is decided entirely by what the JWKS serves. */\n algorithms?: string[];\n\n /** Caps elapsed time since `iat`. The real replay window for a short-lived assertion, independent of whatever `exp` the caller chose to stamp. */\n maxTokenAge?: string | number;\n\n /** Expected JWS `typ` header. The standard defence against cross-token-type confusion when one JWKS serves more than one kind of token. */\n typ?: string;\n\n /** Claims that must be present, beyond those implied by the checks above. */\n requiredClaims?: string[];\n}\n\n/** Default `iss` / `aud` stamped on every issued token. Configured values are AUTHORITATIVE - see {@link IJWTIssueClaims}. */\nexport interface IJWTSignOptions {\n issuer?: string;\n audience?: string | string[];\n}\n\n/**\n * Per-token registered claims, passed to `generate()`.\n *\n * This is the supported way to vary `aud` or `sub` per token. Putting them on the payload used to\n * work by accident - `iss`, `aud`, `sub` and `jti` ride through the AES envelope in the clear\n * because they are standard JWT fields - but a claim the payload can set is a claim any caller who\n * shapes the payload can forge. These win over {@link IJWTSignOptions}; the payload never does.\n */\nexport interface IJWTIssueClaims {\n issuer?: string;\n audience?: string | string[];\n subject?: string;\n jwtId?: string;\n}\n\nexport interface IJWSTokenServiceOptions {\n headerAlgorithm?: string;\n jwtSecret: string;\n getTokenExpiresFn: TGetTokenExpiresFn;\n aesAlgorithm?: AESAlgorithmType;\n applicationSecret?: string;\n fieldCodecs?: IPayloadFieldCodec[];\n /** Overrides the payload cipher - pass `LegacyAES` to keep reading tokens issued before the PBKDF2 envelope. */\n cipher?: IPayloadCipher;\n\n /** Claim checks applied on verify. Unset means signature and time claims only. */\n verify?: IJWTVerifyOptions;\n\n /** Claims stamped on every issued token. A configured value WINS over one supplied in the payload. */\n sign?: IJWTSignOptions;\n}\n\nexport interface IJWKSIssuerOptions {\n mode: typeof JWKSModes.ISSUER;\n algorithm: TJWKSAlgorithm;\n rest?: { path: string };\n keys: {\n driver: TJWKSKeyDriver;\n format: TJWKSKeyFormat;\n private: string; // Key content (text) or file path (file) — PEM or JWK based on format\n public: string; // Key content (text) or file path (file) — PEM or JWK based on format\n };\n kid: string;\n getTokenExpiresFn: TGetTokenExpiresFn;\n aesAlgorithm?: AESAlgorithmType;\n applicationSecret?: string;\n fieldCodecs?: IPayloadFieldCodec[];\n /** Overrides the payload cipher - pass `LegacyAES` to keep reading tokens issued before the PBKDF2 envelope. */\n cipher?: IPayloadCipher;\n\n /** Claim checks applied on verify. Unset means signature and time claims only. */\n verify?: IJWTVerifyOptions;\n\n /** Claims stamped on every issued token. A configured value WINS over one supplied in the payload. */\n sign?: IJWTSignOptions;\n}\n\nexport interface IJWKSVerifierOptions {\n mode: typeof JWKSModes.VERIFIER;\n jwksUrl: string;\n cacheTtlMs?: number; // Default: 43_200_000 (12h)\n cooldownMs?: number; // Default: 30_000 (30s)\n aesAlgorithm?: AESAlgorithmType;\n applicationSecret?: string;\n fieldCodecs?: IPayloadFieldCodec[];\n /** Overrides the payload cipher - pass `LegacyAES` to keep reading tokens issued before the PBKDF2 envelope. */\n cipher?: IPayloadCipher;\n\n /** Claim checks applied on verify. Unset means signature and time claims only. */\n verify?: IJWTVerifyOptions;\n}\n\nexport type TJWKSTokenServiceOptions = IJWKSIssuerOptions | IJWKSVerifierOptions;\n\nexport type TJWTTokenServiceOptions =\n | { standard: typeof JOSEStandards.JWS; options: IJWSTokenServiceOptions }\n | { standard: typeof JOSEStandards.JWKS; options: TJWKSTokenServiceOptions };\n\nexport interface IJWTTokenPayload extends JWTPayload, IAuthUser {\n userId: IdType;\n roles: { id: IdType; identifier: string; priority: number }[];\n\n clientId?: string;\n provider?: string;\n email?: string;\n name?: string;\n\n [extra: string | symbol]: any;\n}\n\nexport interface IPayloadFieldCodec<T = unknown> {\n key: string;\n serialize(opts: { value: T }): string;\n deserialize(opts: { raw: string }): T;\n}\n\nexport type TGetTokenExpiresFn = () => ValueOrPromise<number>;\n"]}
|
|
@@ -120,4 +120,15 @@ export declare class AuthorizationPolicyVariants {
|
|
|
120
120
|
}
|
|
121
121
|
/** The `variant` column's full value set, derived from {@link AuthorizationPolicyVariants.ALL} - never hand-list the seven strings again. */
|
|
122
122
|
export type TAuthorizationPolicyVariant = (typeof AuthorizationPolicyVariants.ALL)[number]['action'];
|
|
123
|
+
/** Where an `IAuthorizationDomainSource` reads the request domain from. */
|
|
124
|
+
export declare class AuthorizationDomainSources {
|
|
125
|
+
static readonly PARAM = "param";
|
|
126
|
+
static readonly HEADER = "header";
|
|
127
|
+
static readonly QUERY = "query";
|
|
128
|
+
static readonly CONTEXT = "context";
|
|
129
|
+
static readonly SCHEME_SET: Set<string>;
|
|
130
|
+
static isValid(value: string): boolean;
|
|
131
|
+
}
|
|
132
|
+
/** Valid authorization domain source values. */
|
|
133
|
+
export type TAuthorizationDomainSource = TConstValue<typeof AuthorizationDomainSources>;
|
|
123
134
|
//# sourceMappingURL=authorization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/constants/authorization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/constants/authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -151,4 +151,15 @@ export class AuthorizationPolicyVariants {
|
|
|
151
151
|
return this.RULE_SCHEME_SET.has(input);
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
+
/** Where an `IAuthorizationDomainSource` reads the request domain from. */
|
|
155
|
+
export class AuthorizationDomainSources {
|
|
156
|
+
static { this.PARAM = 'param'; }
|
|
157
|
+
static { this.HEADER = 'header'; }
|
|
158
|
+
static { this.QUERY = 'query'; }
|
|
159
|
+
static { this.CONTEXT = 'context'; }
|
|
160
|
+
static { this.SCHEME_SET = new Set([this.PARAM, this.HEADER, this.QUERY, this.CONTEXT]); }
|
|
161
|
+
static isValid(value) {
|
|
162
|
+
return this.SCHEME_SET.has(value);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
154
165
|
//# sourceMappingURL=authorization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/constants/authorization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,OAAO,aAAa;aACR,UAAK,GAAG,qBAAqB,CAAC;aAC9B,uBAAkB,GAAG,oBAAoB,CAAC;aAC1C,aAAQ,GAAG,wBAAwB,CAAC;aACpC,WAAM,GAAG,sBAAsB,CAAC;;AAGlD,MAAM,OAAO,oBAAoB;aACf,WAAM,GAAG,QAAQ,CAAC;aAClB,WAAM,GAAG,QAAQ,CAAC;aAClB,WAAM,GAAG,QAAQ,CAAC;aAClB,YAAO,GAAG,SAAS,CAAC;aAEpB,SAAI,GAAG,MAAM,CAAC;aACd,UAAK,GAAG,OAAO,CAAC;aAChB,WAAM,GAAG,QAAQ,CAAC;IAElC,+FAA+F;aAC/E,WAAM,GAAG,QAAQ,CAAC;aAElB,eAAU,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,OAAO;QAEZ,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,MAAM;QAEX,IAAI,CAAC,MAAM;KACZ,CAAC,CAAC;aAEa,YAAO,GAGlB;QACH,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACzC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1C,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QAC5C,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;QAC1C,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;QAC1C,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;KAC3C,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAIH,MAAM,OAAO,sBAAsB;aACjB,UAAK,GAAG,OAAO,CAAC;aAChB,SAAI,GAAG,MAAM,CAAC;aACd,YAAO,GAAG,SAAS,CAAC;aAEpB,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5E,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAsB;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAsB;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAsB;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC;IAC9C,CAAC;;AAIH,MAAM,OAAO,kBAAkB;aACb,gBAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACpD,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC;aACa,UAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAC9C,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,GAAG;KACd,CAAC,CAAC;aACa,SAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAC7C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;aACa,UAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAC9C,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;aACa,iBAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACrD,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;aAEa,eAAU,GAAG,IAAI,GAAG,CAAS;QAC3C,IAAI,CAAC,WAAW,CAAC,UAAU;QAC3B,IAAI,CAAC,KAAK,CAAC,UAAU;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU;QACpB,IAAI,CAAC,KAAK,CAAC,UAAU;QACrB,IAAI,CAAC,YAAY,CAAC,UAAU;KAC7B,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAGH,MAAM,OAAO,yBAAyB;IACpC,+FAA+F;aAC/E,eAAU,GAAG,YAAY,CAAC;IAE1C,0EAA0E;aAC1D,gBAAW,GAAG,aAAa,CAAC;aAE5B,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAE1E,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAIH,sRAAsR;AACtR,MAAM,OAAO,2BAA2B;IACtC,0KAA0K;aAC1J,UAAK,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAW,CAAC;IAEjF,wIAAwI;aACxH,gBAAW,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAW,CAAC;IAE7F,0LAA0L;aAC1K,kBAAa,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAW,CAAC;IAEjG,gJAAgJ;aAChI,gBAAW,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAW,CAAC;IAE9F,oLAAoL;aACpK,oBAAe,GAAG;QAChC,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,kBAAkB,CAAC,EAAE;KACnB,CAAC;IAEX,uPAAuP;aACvO,sBAAiB,GAAG;QAClC,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,kBAAkB,CAAC,EAAE;KACnB,CAAC;IAEX,0RAA0R;aAC1Q,oBAAe,GAAG;QAChC,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,kBAAkB,CAAC,EAAE;KACnB,CAAC;IAEX,sIAAsI;aACtH,QAAG,GAAG;QACpB,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe;QACpB,IAAI,CAAC,iBAAiB;QACtB,IAAI,CAAC,eAAe;KACZ,CAAC;aAEK,sBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;aAElF,oBAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE9F,MAAM,CAAC,aAAa,CAAC,KAAa;QAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC","sourcesContent":["import type { TConstValue } from '@venizia/ignis-helpers/common';\nimport { AuthorizationRole } from '../../models/authorization-role.model';\nimport { CasbinRuleVariants } from './enforcer';\n\nexport class Authorization {\n static readonly RULES = 'authorization.rules';\n static readonly SKIP_AUTHORIZATION = 'authorization.skip';\n static readonly ENFORCER = 'authorization.enforcer';\n static readonly DOMAIN = 'authorization.domain';\n}\n\nexport class AuthorizationActions {\n static readonly CREATE = 'create';\n static readonly UPDATE = 'update';\n static readonly DELETE = 'delete';\n static readonly EXECUTE = 'execute';\n\n static readonly READ = 'read';\n static readonly WRITE = 'write';\n static readonly MANAGE = 'manage';\n\n /** Grant-mode marker for a subset grant carrying `metadata.ops`; never a member of LATTICE. */\n static readonly CUSTOM = 'custom';\n\n static readonly SCHEME_SET = new Set([\n this.CREATE,\n this.UPDATE,\n this.DELETE,\n this.EXECUTE,\n\n this.READ,\n this.WRITE,\n this.MANAGE,\n\n this.CUSTOM,\n ]);\n\n static readonly LATTICE: ReadonlyArray<{\n child: TAuthorizationAction;\n parent: TAuthorizationAction;\n }> = [\n { child: this.READ, parent: this.MANAGE },\n { child: this.WRITE, parent: this.MANAGE },\n { child: this.EXECUTE, parent: this.MANAGE },\n { child: this.CREATE, parent: this.WRITE },\n { child: this.UPDATE, parent: this.WRITE },\n { child: this.DELETE, parent: this.WRITE },\n ];\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\nexport type TAuthorizationAction = TConstValue<typeof AuthorizationActions>;\n\nexport class AuthorizationDecisions {\n static readonly ALLOW = 'allow';\n static readonly DENY = 'deny';\n static readonly ABSTAIN = 'abstain';\n\n static readonly SCHEME_SET = new Set([this.ALLOW, this.DENY, this.ABSTAIN]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n\n static isAllow(input: string | number): boolean {\n if (typeof input === 'number') {\n return input > 0;\n }\n return input.toLowerCase() === this.ALLOW;\n }\n\n static isDeny(input: string | number): boolean {\n if (typeof input === 'number') {\n return input < 0;\n }\n return input.toLowerCase() === this.DENY;\n }\n\n static isAbstain(input: string | number): boolean {\n if (typeof input === 'number') {\n return input === 0;\n }\n return input.toLowerCase() === this.ABSTAIN;\n }\n}\nexport type TAuthorizationDecision = TConstValue<typeof AuthorizationDecisions>;\n\nexport class AuthorizationRoles {\n static readonly SUPER_ADMIN = AuthorizationRole.build({\n name: 'super-admin',\n priority: 999,\n });\n static readonly ADMIN = AuthorizationRole.build({\n name: 'admin',\n priority: 900,\n });\n static readonly USER = AuthorizationRole.build({\n name: 'user',\n priority: 10,\n });\n static readonly GUEST = AuthorizationRole.build({\n name: 'guest',\n priority: 1,\n });\n static readonly UNKNOWN_USER = AuthorizationRole.build({\n name: 'unknown-user',\n priority: 0,\n });\n\n static readonly SCHEME_SET = new Set<string>([\n this.SUPER_ADMIN.identifier,\n this.ADMIN.identifier,\n this.USER.identifier,\n this.GUEST.identifier,\n this.UNKNOWN_USER.identifier,\n ]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport class AuthorizationDomainScopes {\n /** Grant applies in EVERY domain the subject is a member of (checked via join_domain / g2). */\n static readonly ANY_MEMBER = 'ANY_MEMBER';\n\n /** Grant applies system-wide, bypassing membership - super-admin only. */\n static readonly SYSTEM_WIDE = 'SYSTEM_WIDE';\n\n static readonly SCHEME_SET = new Set([this.ANY_MEMBER, this.SYSTEM_WIDE]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\nexport type TAuthorizationDomainScope = TConstValue<typeof AuthorizationDomainScopes>;\n\n/** Edge kinds in the `PolicyDefinition` table (each row: subject -> target, `variant` = kind), carrying `action` (DB `variant` value) + `rule` (casbin prefix emitted per edge). Per-USER edges: GRANT, ASSIGN_ROLE, JOIN_DOMAIN; shared org-structure edges: the *_INHERITS ones. */\nexport class AuthorizationPolicyVariants {\n /** Give a Permission to a User/Role (row also carries action / effect / domain). casbin `p`: `p, <Role|User>_<id>, <domain>, <permissionCode>, <action>, <allow|deny>` */\n static readonly GRANT = { action: 'grant', rule: CasbinRuleVariants.P } as const;\n\n /** Give a User a Role (optionally domain-scoped; no domain -> `*` = every domain). casbin `g`: `g, User_<id>, Role_<id>, <domain|*>` */\n static readonly ASSIGN_ROLE = { action: 'assign_role', rule: CasbinRuleVariants.G } as const;\n\n /** A Role inherits another Role (DAG). Shares `g` with ASSIGN_ROLE so user -> role -> parent-role resolves in one lookup. Emitted with domain `*`: `g, Role_<child>, Role_<parent>, *` */\n static readonly ROLE_INHERITS = { action: 'role_inherits', rule: CasbinRuleVariants.G } as const;\n\n /** User is a member of a Domain; powers the `ANY_MEMBER` grant scope via `g2(r.sub, r.dom)`. casbin `g2`: `g2, User_<id>, <Type>_<domainId>` */\n static readonly JOIN_DOMAIN = { action: 'join_domain', rule: CasbinRuleVariants.G2 } as const;\n\n /** DOMAIN axis (`dom`): domain nesting. Matcher: `g3(r.dom, p.dom)` + self-link so an exact domain always matches itself. casbin `g3`: `g3, <Type>_<childId>, <Type>_<parentId>` */\n static readonly DOMAIN_INHERITS = {\n action: 'domain_inherits',\n rule: CasbinRuleVariants.G3,\n } as const;\n\n /** RESOURCE axis (`obj`), NON-standard nesting only - dotted nesting (`Order.findById ⊂ Order`) is handled by `objectMatch` WITHOUT an edge. Matcher: `objectMatch(r.obj, p.obj) || g4(r.obj, p.obj)`, casbin `g4`: `g4, <childCode>, <parentCode>` */\n static readonly RESOURCE_INHERITS = {\n action: 'resource_inherits',\n rule: CasbinRuleVariants.G4,\n } as const;\n\n /** ACTION axis (`act`): a narrow action covered by a broader one; no dotted shortcut, so it needs an explicit edge. Matcher: `g5(r.act, p.act)`, casbin `g5`: `g5, <childAction>, <parentAction>`. g4 + g5 combine multiplicatively: `manage Order` covers a `read OrderItem` request. */\n static readonly ACTION_INHERITS = {\n action: 'action_inherits',\n rule: CasbinRuleVariants.G5,\n } as const;\n\n /** Every edge kind, in declaration order - the one place the scheme sets and the `variant` column's literal type both derive from. */\n static readonly ALL = [\n this.GRANT,\n this.ASSIGN_ROLE,\n this.ROLE_INHERITS,\n this.JOIN_DOMAIN,\n this.DOMAIN_INHERITS,\n this.RESOURCE_INHERITS,\n this.ACTION_INHERITS,\n ] as const;\n\n static readonly ACTION_SCHEME_SET = new Set(this.ALL.map((variant) => variant.action.toString()));\n\n static readonly RULE_SCHEME_SET = new Set(this.ALL.map((variant) => variant.rule.toString()));\n\n static isValidAction(input: string): boolean {\n return this.ACTION_SCHEME_SET.has(input);\n }\n\n static isValidRule(input: string): boolean {\n return this.RULE_SCHEME_SET.has(input);\n }\n}\n\n/** The `variant` column's full value set, derived from {@link AuthorizationPolicyVariants.ALL} - never hand-list the seven strings again. */\nexport type TAuthorizationPolicyVariant =\n (typeof AuthorizationPolicyVariants.ALL)[number]['action'];\n"]}
|
|
1
|
+
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/constants/authorization.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TConstValue } from '@venizia/ignis-helpers/common';\nimport { AuthorizationRole } from '../../models/authorization-role.model';\nimport { CasbinRuleVariants } from './enforcer';\n\nexport class Authorization {\n static readonly RULES = 'authorization.rules';\n static readonly SKIP_AUTHORIZATION = 'authorization.skip';\n static readonly ENFORCER = 'authorization.enforcer';\n static readonly DOMAIN = 'authorization.domain';\n}\n\nexport class AuthorizationActions {\n static readonly CREATE = 'create';\n static readonly UPDATE = 'update';\n static readonly DELETE = 'delete';\n static readonly EXECUTE = 'execute';\n\n static readonly READ = 'read';\n static readonly WRITE = 'write';\n static readonly MANAGE = 'manage';\n\n /** Grant-mode marker for a subset grant carrying `metadata.ops`; never a member of LATTICE. */\n static readonly CUSTOM = 'custom';\n\n static readonly SCHEME_SET = new Set([\n this.CREATE,\n this.UPDATE,\n this.DELETE,\n this.EXECUTE,\n\n this.READ,\n this.WRITE,\n this.MANAGE,\n\n this.CUSTOM,\n ]);\n\n static readonly LATTICE: ReadonlyArray<{\n child: TAuthorizationAction;\n parent: TAuthorizationAction;\n }> = [\n { child: this.READ, parent: this.MANAGE },\n { child: this.WRITE, parent: this.MANAGE },\n { child: this.EXECUTE, parent: this.MANAGE },\n { child: this.CREATE, parent: this.WRITE },\n { child: this.UPDATE, parent: this.WRITE },\n { child: this.DELETE, parent: this.WRITE },\n ];\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\nexport type TAuthorizationAction = TConstValue<typeof AuthorizationActions>;\n\nexport class AuthorizationDecisions {\n static readonly ALLOW = 'allow';\n static readonly DENY = 'deny';\n static readonly ABSTAIN = 'abstain';\n\n static readonly SCHEME_SET = new Set([this.ALLOW, this.DENY, this.ABSTAIN]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n\n static isAllow(input: string | number): boolean {\n if (typeof input === 'number') {\n return input > 0;\n }\n return input.toLowerCase() === this.ALLOW;\n }\n\n static isDeny(input: string | number): boolean {\n if (typeof input === 'number') {\n return input < 0;\n }\n return input.toLowerCase() === this.DENY;\n }\n\n static isAbstain(input: string | number): boolean {\n if (typeof input === 'number') {\n return input === 0;\n }\n return input.toLowerCase() === this.ABSTAIN;\n }\n}\nexport type TAuthorizationDecision = TConstValue<typeof AuthorizationDecisions>;\n\nexport class AuthorizationRoles {\n static readonly SUPER_ADMIN = AuthorizationRole.build({\n name: 'super-admin',\n priority: 999,\n });\n static readonly ADMIN = AuthorizationRole.build({\n name: 'admin',\n priority: 900,\n });\n static readonly USER = AuthorizationRole.build({\n name: 'user',\n priority: 10,\n });\n static readonly GUEST = AuthorizationRole.build({\n name: 'guest',\n priority: 1,\n });\n static readonly UNKNOWN_USER = AuthorizationRole.build({\n name: 'unknown-user',\n priority: 0,\n });\n\n static readonly SCHEME_SET = new Set<string>([\n this.SUPER_ADMIN.identifier,\n this.ADMIN.identifier,\n this.USER.identifier,\n this.GUEST.identifier,\n this.UNKNOWN_USER.identifier,\n ]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\n\nexport class AuthorizationDomainScopes {\n /** Grant applies in EVERY domain the subject is a member of (checked via join_domain / g2). */\n static readonly ANY_MEMBER = 'ANY_MEMBER';\n\n /** Grant applies system-wide, bypassing membership - super-admin only. */\n static readonly SYSTEM_WIDE = 'SYSTEM_WIDE';\n\n static readonly SCHEME_SET = new Set([this.ANY_MEMBER, this.SYSTEM_WIDE]);\n\n static isValid(input: string): boolean {\n return this.SCHEME_SET.has(input);\n }\n}\nexport type TAuthorizationDomainScope = TConstValue<typeof AuthorizationDomainScopes>;\n\n/** Edge kinds in the `PolicyDefinition` table (each row: subject -> target, `variant` = kind), carrying `action` (DB `variant` value) + `rule` (casbin prefix emitted per edge). Per-USER edges: GRANT, ASSIGN_ROLE, JOIN_DOMAIN; shared org-structure edges: the *_INHERITS ones. */\nexport class AuthorizationPolicyVariants {\n /** Give a Permission to a User/Role (row also carries action / effect / domain). casbin `p`: `p, <Role|User>_<id>, <domain>, <permissionCode>, <action>, <allow|deny>` */\n static readonly GRANT = { action: 'grant', rule: CasbinRuleVariants.P } as const;\n\n /** Give a User a Role (optionally domain-scoped; no domain -> `*` = every domain). casbin `g`: `g, User_<id>, Role_<id>, <domain|*>` */\n static readonly ASSIGN_ROLE = { action: 'assign_role', rule: CasbinRuleVariants.G } as const;\n\n /** A Role inherits another Role (DAG). Shares `g` with ASSIGN_ROLE so user -> role -> parent-role resolves in one lookup. Emitted with domain `*`: `g, Role_<child>, Role_<parent>, *` */\n static readonly ROLE_INHERITS = { action: 'role_inherits', rule: CasbinRuleVariants.G } as const;\n\n /** User is a member of a Domain; powers the `ANY_MEMBER` grant scope via `g2(r.sub, r.dom)`. casbin `g2`: `g2, User_<id>, <Type>_<domainId>` */\n static readonly JOIN_DOMAIN = { action: 'join_domain', rule: CasbinRuleVariants.G2 } as const;\n\n /** DOMAIN axis (`dom`): domain nesting. Matcher: `g3(r.dom, p.dom)` + self-link so an exact domain always matches itself. casbin `g3`: `g3, <Type>_<childId>, <Type>_<parentId>` */\n static readonly DOMAIN_INHERITS = {\n action: 'domain_inherits',\n rule: CasbinRuleVariants.G3,\n } as const;\n\n /** RESOURCE axis (`obj`), NON-standard nesting only - dotted nesting (`Order.findById ⊂ Order`) is handled by `objectMatch` WITHOUT an edge. Matcher: `objectMatch(r.obj, p.obj) || g4(r.obj, p.obj)`, casbin `g4`: `g4, <childCode>, <parentCode>` */\n static readonly RESOURCE_INHERITS = {\n action: 'resource_inherits',\n rule: CasbinRuleVariants.G4,\n } as const;\n\n /** ACTION axis (`act`): a narrow action covered by a broader one; no dotted shortcut, so it needs an explicit edge. Matcher: `g5(r.act, p.act)`, casbin `g5`: `g5, <childAction>, <parentAction>`. g4 + g5 combine multiplicatively: `manage Order` covers a `read OrderItem` request. */\n static readonly ACTION_INHERITS = {\n action: 'action_inherits',\n rule: CasbinRuleVariants.G5,\n } as const;\n\n /** Every edge kind, in declaration order - the one place the scheme sets and the `variant` column's literal type both derive from. */\n static readonly ALL = [\n this.GRANT,\n this.ASSIGN_ROLE,\n this.ROLE_INHERITS,\n this.JOIN_DOMAIN,\n this.DOMAIN_INHERITS,\n this.RESOURCE_INHERITS,\n this.ACTION_INHERITS,\n ] as const;\n\n static readonly ACTION_SCHEME_SET = new Set(this.ALL.map((variant) => variant.action.toString()));\n\n static readonly RULE_SCHEME_SET = new Set(this.ALL.map((variant) => variant.rule.toString()));\n\n static isValidAction(input: string): boolean {\n return this.ACTION_SCHEME_SET.has(input);\n }\n\n static isValidRule(input: string): boolean {\n return this.RULE_SCHEME_SET.has(input);\n }\n}\n\n/** The `variant` column's full value set, derived from {@link AuthorizationPolicyVariants.ALL} - never hand-list the seven strings again. */\nexport type TAuthorizationPolicyVariant =\n (typeof AuthorizationPolicyVariants.ALL)[number]['action'];\n\n/** Where an `IAuthorizationDomainSource` reads the request domain from. */\nexport class AuthorizationDomainSources {\n static readonly PARAM = 'param';\n static readonly HEADER = 'header';\n static readonly QUERY = 'query';\n static readonly CONTEXT = 'context';\n\n static readonly SCHEME_SET = new Set<string>([this.PARAM, this.HEADER, this.QUERY, this.CONTEXT]);\n\n static isValid(value: string): boolean {\n return this.SCHEME_SET.has(value);\n }\n}\n\n/** Valid authorization domain source values. */\nexport type TAuthorizationDomainSource = TConstValue<typeof AuthorizationDomainSources>;\n"]}
|
|
@@ -3,6 +3,7 @@ import type { TContext } from '../../../../controllers/common/types/index.js';
|
|
|
3
3
|
import { type TNullable, type ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
4
4
|
import type { Env } from 'hono';
|
|
5
5
|
import type { IAuthUser } from '../../../authenticate/common/types/index.js';
|
|
6
|
+
import type { TAuthorizationDomainSource } from '../constants/index.js';
|
|
6
7
|
export interface IAuthorizationRole {
|
|
7
8
|
readonly name: string;
|
|
8
9
|
readonly priority: number;
|
|
@@ -22,7 +23,7 @@ export interface IAuthorizationUser extends IAuthUser {
|
|
|
22
23
|
}
|
|
23
24
|
/** Declarative description of where to read the request domain from. */
|
|
24
25
|
export interface IAuthorizationDomainSource {
|
|
25
|
-
from:
|
|
26
|
+
from: TAuthorizationDomainSource;
|
|
26
27
|
key: string;
|
|
27
28
|
type: string;
|
|
28
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,qGAAqG;AACrG,MAAM,MAAM,wBAAwB,CAClC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EACjD,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,IAC1C,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAE/B,MAAM,WAAW,qBAAqB,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM;IACzE,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,mLAAmL;IACnL,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wEAAwE;AACxE,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,0BAA0B,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4EAA4E;AAC5E,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE;IACrE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9B,KAAK,cAAc,CAAC,SAAS,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/types/request.ts"],"names":[],"mappings":"","sourcesContent":["import type { IdType } from '@/base';\nimport type { TContext } from '@/base/controllers/common/types';\nimport { type TNullable, type ValueOrPromise } from '@venizia/ignis-helpers/common';\nimport type { Env } from 'hono';\nimport type { IAuthUser } from '../../../authenticate/common/types';\n\nexport interface IAuthorizationRole {\n readonly name: string;\n readonly priority: number;\n readonly identifier: string;\n}\n\n/** Key-value conditions for attribute-based access control. Values compared with strict equality. */\nexport type TAuthorizationConditions<\n KeyType extends string | symbol = string | symbol,\n ValueType = string | number | boolean | null,\n> = Record<KeyType, ValueType>;\n\nexport interface IAuthorizationRequest<TAction = string, TResource = string> {\n action: TAction;\n resource: TResource;\n conditions?: TAuthorizationConditions;\n /** Resolved domain scope for this request as a casbin domain string `\"<DomainType>_<id>\"` (e.g. `\"Merchant_7\"`), or the `\"SYSTEM_WIDE\"` sentinel to enforce across all domains. */\n domain?: string;\n}\n\nexport interface IAuthorizationUser extends IAuthUser {\n principalType: string;\n}\n\n/** Declarative description of where to read the request domain from. */\nexport interface IAuthorizationDomainSource {\n from:
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../../../../src/base/auth/authorize/common/types/request.ts"],"names":[],"mappings":"","sourcesContent":["import type { IdType } from '@/base';\nimport type { TContext } from '@/base/controllers/common/types';\nimport { type TNullable, type ValueOrPromise } from '@venizia/ignis-helpers/common';\nimport type { Env } from 'hono';\nimport type { IAuthUser } from '../../../authenticate/common/types';\nimport type { TAuthorizationDomainSource } from '../constants';\n\nexport interface IAuthorizationRole {\n readonly name: string;\n readonly priority: number;\n readonly identifier: string;\n}\n\n/** Key-value conditions for attribute-based access control. Values compared with strict equality. */\nexport type TAuthorizationConditions<\n KeyType extends string | symbol = string | symbol,\n ValueType = string | number | boolean | null,\n> = Record<KeyType, ValueType>;\n\nexport interface IAuthorizationRequest<TAction = string, TResource = string> {\n action: TAction;\n resource: TResource;\n conditions?: TAuthorizationConditions;\n /** Resolved domain scope for this request as a casbin domain string `\"<DomainType>_<id>\"` (e.g. `\"Merchant_7\"`), or the `\"SYSTEM_WIDE\"` sentinel to enforce across all domains. */\n domain?: string;\n}\n\nexport interface IAuthorizationUser extends IAuthUser {\n principalType: string;\n}\n\n/** Declarative description of where to read the request domain from. */\nexport interface IAuthorizationDomainSource {\n from: TAuthorizationDomainSource;\n key: string;\n type: string; // domain type, e.g. 'Merchant' | 'Organizer'\n}\n\n/** Returns the current request domain; null = no domain (→ SYSTEM_WIDE). */\nexport type TAuthorizationDomainResolver<E extends Env = Env> = (opts: {\n context: TContext<E, string>;\n}) => ValueOrPromise<TNullable<{ type: string; id: IdType }>>;\n"]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { AuthorizationDomainScopes } from '../common/constants/index.js';
|
|
1
|
+
import { AuthorizationDomainScopes, AuthorizationDomainSources } from '../common/constants/index.js';
|
|
2
2
|
/** Read a domain value from a declarative source on the Hono context. */
|
|
3
3
|
export const readDeclarative = (opts) => {
|
|
4
4
|
const { source, context } = opts;
|
|
5
5
|
switch (source.from) {
|
|
6
|
-
case
|
|
6
|
+
case AuthorizationDomainSources.PARAM: {
|
|
7
7
|
return context.req.param(source.key) ?? null;
|
|
8
8
|
}
|
|
9
|
-
case
|
|
9
|
+
case AuthorizationDomainSources.HEADER: {
|
|
10
10
|
return context.req.header(source.key) ?? null;
|
|
11
11
|
}
|
|
12
|
-
case
|
|
12
|
+
case AuthorizationDomainSources.QUERY: {
|
|
13
13
|
return context.req.query(source.key) ?? null;
|
|
14
14
|
}
|
|
15
|
-
case
|
|
15
|
+
case AuthorizationDomainSources.CONTEXT: {
|
|
16
16
|
const value = context.get(source.key);
|
|
17
17
|
return value == null ? null : String(value);
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-domain.js","sourceRoot":"","sources":["../../../../../../src/base/auth/authorize/providers/request-domain.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"request-domain.js","sourceRoot":"","sources":["../../../../../../src/base/auth/authorize/providers/request-domain.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAO5F,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAG/B,EAAqB,EAAE;IACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC/C,CAAC;QACD,KAAK,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAChD,CAAC;QACD,KAAK,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC/C,CAAC;QACD,KAAK,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAU,CAAC,CAAC;YAC7C,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,iMAAiM;AACjM,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAI1C,EAAmB,EAAE;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAExC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO,QAAQ;YACb,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC;IACvF,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;IACvD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,QAAQ;YACb,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,OAAO,yBAAyB,CAAC,WAAW,CAAC;AAC/C,CAAC,CAAC","sourcesContent":["import type { TContext } from '@/base/controllers/common/types';\nimport type { TNullable } from '@venizia/ignis-helpers/common';\nimport type { Env } from 'hono';\nimport { AuthorizationDomainScopes, AuthorizationDomainSources } from '../common/constants';\nimport type {\n IAuthorizationDomainSource,\n IAuthorizationSpec,\n IAuthorizeOptions,\n} from '../common/types';\n\n/** Read a domain value from a declarative source on the Hono context. */\nexport const readDeclarative = (opts: {\n source: IAuthorizationDomainSource;\n context: TContext<Env, string>;\n}): TNullable<string> => {\n const { source, context } = opts;\n switch (source.from) {\n case AuthorizationDomainSources.PARAM: {\n return context.req.param(source.key) ?? null;\n }\n case AuthorizationDomainSources.HEADER: {\n return context.req.header(source.key) ?? null;\n }\n case AuthorizationDomainSources.QUERY: {\n return context.req.query(source.key) ?? null;\n }\n case AuthorizationDomainSources.CONTEXT: {\n const value = context.get(source.key as any);\n return value == null ? null : String(value);\n }\n default: {\n return null;\n }\n }\n};\n\n/** Resolve the request domain, precedence spec.domain (method | declarative) -> options.domainResolver -> SYSTEM_WIDE, as a casbin domain string (\"<type>_<id>\") or the SYSTEM_WIDE sentinel. */\nexport const resolveRequestDomain = async (opts: {\n spec: IAuthorizationSpec;\n context: TContext<Env, string>;\n options: TNullable<IAuthorizeOptions>;\n}): Promise<string> => {\n const { spec, context, options } = opts;\n\n if (typeof spec.domain === 'function') {\n const resolved = await spec.domain({ context });\n return resolved\n ? [resolved.type, resolved.id].join('_')\n : AuthorizationDomainScopes.SYSTEM_WIDE;\n }\n\n if (spec.domain) {\n const id = readDeclarative({ source: spec.domain, context });\n return id ? [spec.domain.type, id].join('_') : AuthorizationDomainScopes.SYSTEM_WIDE;\n }\n\n const globalResolver = options?.domainResolver ?? null;\n if (globalResolver) {\n const resolved = await globalResolver({ context });\n return resolved\n ? [resolved.type, resolved.id].join('_')\n : AuthorizationDomainScopes.SYSTEM_WIDE;\n }\n\n return AuthorizationDomainScopes.SYSTEM_WIDE;\n};\n"]}
|
|
@@ -27,4 +27,14 @@ export declare class RestPaths {
|
|
|
27
27
|
}
|
|
28
28
|
export declare const commonResponseHeaders: TResponseHeaders;
|
|
29
29
|
export declare const findResponseHeaders: TResponseHeaders;
|
|
30
|
+
/** Which decorator-defined routes `registerRoutesFromRegistry` registers: STATIC (no path parameter), PARAM (a path parameter) or ALL. */
|
|
31
|
+
export declare class RoutePathScopes {
|
|
32
|
+
static readonly STATIC = "static";
|
|
33
|
+
static readonly PARAM = "param";
|
|
34
|
+
static readonly ALL = "all";
|
|
35
|
+
static readonly SCHEME_SET: Set<string>;
|
|
36
|
+
static isValid(value: string): boolean;
|
|
37
|
+
}
|
|
38
|
+
/** Valid route path scope values. */
|
|
39
|
+
export type TRoutePathScope = TConstValue<typeof RoutePathScopes>;
|
|
30
40
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;GAIG;AAEH,oDAAoD;AACpD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,iGAAiG;AACjG,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA8C;IAExE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,6DAA6D;AAC7D,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,eAAe;CACxC;AAED,eAAO,MAAM,qBAAqB,EAAE,gBAanC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAMjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;GAIG;AAEH,oDAAoD;AACpD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,iGAAiG;AACjG,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA8C;IAExE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,6DAA6D;AAC7D,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,eAAe;CACxC;AAED,eAAO,MAAM,qBAAqB,EAAE,gBAanC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAMjC,CAAC;AAEF,0IAA0I;AAC1I,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE5B,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAwD;IAElF,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,qCAAqC;AACrC,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -45,4 +45,14 @@ export const findResponseHeaders = {
|
|
|
45
45
|
schema: { type: 'string', examples: ['records 0-24/100', 'records 25-49/100'] },
|
|
46
46
|
},
|
|
47
47
|
};
|
|
48
|
+
/** Which decorator-defined routes `registerRoutesFromRegistry` registers: STATIC (no path parameter), PARAM (a path parameter) or ALL. */
|
|
49
|
+
export class RoutePathScopes {
|
|
50
|
+
static { this.STATIC = 'static'; }
|
|
51
|
+
static { this.PARAM = 'param'; }
|
|
52
|
+
static { this.ALL = 'all'; }
|
|
53
|
+
static { this.SCHEME_SET = new Set([this.STATIC, this.PARAM, this.ALL]); }
|
|
54
|
+
static isValid(value) {
|
|
55
|
+
return this.SCHEME_SET.has(value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
48
58
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAGrD;;;;GAIG;AAEH,oDAAoD;AACpD,MAAM,OAAO,oBAAoB;aACf,SAAI,GAAG,MAAM,CAAC;aACd,SAAI,GAAG,MAAM,CAAC;;AAKhC,iGAAiG;AACjG,MAAM,OAAO,eAAe;aACV,WAAM,GAAG,QAAQ,CAAC;aAClB,UAAK,GAAG,OAAO,CAAC;aAEhB,eAAU,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAExE,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,6DAA6D;AAC7D,MAAM,OAAO,SAAS;aACJ,SAAI,GAAG,GAAG,CAAC;aACX,UAAK,GAAG,QAAQ,CAAC;aACjB,aAAQ,GAAG,WAAW,CAAC;;AAGzC,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QACjC,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAClC,WAAW,EAAE,+BAA+B;QAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;KACzD;IACD,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAC9B,WAAW,EAAE,2BAA2B;QACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;KAC1D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD,GAAG,qBAAqB;IACxB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC5B,WAAW,EAAE,yDAAyD;QACtE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE;KAChF;CACF,CAAC","sourcesContent":["import type { TConstValue } from '@venizia/ignis-helpers/common';\nimport { HTTP } from '@venizia/ignis-helpers/common';\nimport type { TResponseHeaders } from './types';\n\n/**\n * Constants with NO zod import, deliberately. The container's controller mixin imports\n * `ControllerTransports` from here, so anything this file pulls in reaches every consumer of\n * `Container` - the request schemas live in `schemas.ts` for exactly that reason.\n */\n\n/** Transport protocol constants for controllers. */\nexport class ControllerTransports {\n static readonly REST = 'rest';\n static readonly GRPC = 'grpc';\n}\n\nexport type TControllerTransport = TConstValue<typeof ControllerTransports>;\n\n/** Shape of `data` in a `{ count, data }` response, echoed in the `X-Response-Format` header. */\nexport class ResponseFormats {\n static readonly OBJECT = 'object';\n static readonly ARRAY = 'array';\n\n static readonly SCHEME_SET = new Set<string>([this.OBJECT, this.ARRAY]);\n\n static isValid(value: string): boolean {\n return this.SCHEME_SET.has(value);\n }\n}\n\nexport type TResponseFormat = TConstValue<typeof ResponseFormats>;\n\n/** Standard REST API path constants for CRUD controllers. */\nexport class RestPaths {\n static readonly ROOT = '/';\n static readonly COUNT = '/count';\n static readonly FIND_ONE = '/find-one';\n}\n\nexport const commonResponseHeaders: TResponseHeaders = {\n [HTTP.Headers.REQUEST_TRACING_ID]: {\n description: 'Echo of the request tracing ID',\n schema: { type: 'string' },\n },\n [HTTP.Headers.RESPONSE_COUNT_DATA]: {\n description: 'Number of records in response',\n schema: { type: 'string', examples: ['1', '10', '100'] },\n },\n [HTTP.Headers.RESPONSE_FORMAT]: {\n description: 'Response format indicator',\n schema: { type: 'string', examples: ['array', 'object'] },\n },\n};\n\nexport const findResponseHeaders: TResponseHeaders = {\n ...commonResponseHeaders,\n [HTTP.Headers.CONTENT_RANGE]: {\n description: 'Content range for pagination (e.g., \"records 0-24/100\")',\n schema: { type: 'string', examples: ['records 0-24/100', 'records 25-49/100'] },\n },\n};\n"]}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAGrD;;;;GAIG;AAEH,oDAAoD;AACpD,MAAM,OAAO,oBAAoB;aACf,SAAI,GAAG,MAAM,CAAC;aACd,SAAI,GAAG,MAAM,CAAC;;AAKhC,iGAAiG;AACjG,MAAM,OAAO,eAAe;aACV,WAAM,GAAG,QAAQ,CAAC;aAClB,UAAK,GAAG,OAAO,CAAC;aAEhB,eAAU,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAExE,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAKH,6DAA6D;AAC7D,MAAM,OAAO,SAAS;aACJ,SAAI,GAAG,GAAG,CAAC;aACX,UAAK,GAAG,QAAQ,CAAC;aACjB,aAAQ,GAAG,WAAW,CAAC;;AAGzC,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QACjC,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAClC,WAAW,EAAE,+BAA+B;QAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;KACzD;IACD,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAC9B,WAAW,EAAE,2BAA2B;QACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;KAC1D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD,GAAG,qBAAqB;IACxB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC5B,WAAW,EAAE,yDAAyD;QACtE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE;KAChF;CACF,CAAC;AAEF,0IAA0I;AAC1I,MAAM,OAAO,eAAe;aACV,WAAM,GAAG,QAAQ,CAAC;aAClB,UAAK,GAAG,OAAO,CAAC;aAChB,QAAG,GAAG,KAAK,CAAC;aAEZ,eAAU,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAElF,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC","sourcesContent":["import type { TConstValue } from '@venizia/ignis-helpers/common';\nimport { HTTP } from '@venizia/ignis-helpers/common';\nimport type { TResponseHeaders } from './types';\n\n/**\n * Constants with NO zod import, deliberately. The container's controller mixin imports\n * `ControllerTransports` from here, so anything this file pulls in reaches every consumer of\n * `Container` - the request schemas live in `schemas.ts` for exactly that reason.\n */\n\n/** Transport protocol constants for controllers. */\nexport class ControllerTransports {\n static readonly REST = 'rest';\n static readonly GRPC = 'grpc';\n}\n\nexport type TControllerTransport = TConstValue<typeof ControllerTransports>;\n\n/** Shape of `data` in a `{ count, data }` response, echoed in the `X-Response-Format` header. */\nexport class ResponseFormats {\n static readonly OBJECT = 'object';\n static readonly ARRAY = 'array';\n\n static readonly SCHEME_SET = new Set<string>([this.OBJECT, this.ARRAY]);\n\n static isValid(value: string): boolean {\n return this.SCHEME_SET.has(value);\n }\n}\n\nexport type TResponseFormat = TConstValue<typeof ResponseFormats>;\n\n/** Standard REST API path constants for CRUD controllers. */\nexport class RestPaths {\n static readonly ROOT = '/';\n static readonly COUNT = '/count';\n static readonly FIND_ONE = '/find-one';\n}\n\nexport const commonResponseHeaders: TResponseHeaders = {\n [HTTP.Headers.REQUEST_TRACING_ID]: {\n description: 'Echo of the request tracing ID',\n schema: { type: 'string' },\n },\n [HTTP.Headers.RESPONSE_COUNT_DATA]: {\n description: 'Number of records in response',\n schema: { type: 'string', examples: ['1', '10', '100'] },\n },\n [HTTP.Headers.RESPONSE_FORMAT]: {\n description: 'Response format indicator',\n schema: { type: 'string', examples: ['array', 'object'] },\n },\n};\n\nexport const findResponseHeaders: TResponseHeaders = {\n ...commonResponseHeaders,\n [HTTP.Headers.CONTENT_RANGE]: {\n description: 'Content range for pagination (e.g., \"records 0-24/100\")',\n schema: { type: 'string', examples: ['records 0-24/100', 'records 25-49/100'] },\n },\n};\n\n/** Which decorator-defined routes `registerRoutesFromRegistry` registers: STATIC (no path parameter), PARAM (a path parameter) or ALL. */\nexport class RoutePathScopes {\n static readonly STATIC = 'static';\n static readonly PARAM = 'param';\n static readonly ALL = 'all';\n\n static readonly SCHEME_SET = new Set<string>([this.STATIC, this.PARAM, this.ALL]);\n\n static isValid(value: string): boolean {\n return this.SCHEME_SET.has(value);\n }\n}\n\n/** Valid route path scope values. */\nexport type TRoutePathScope = TConstValue<typeof RoutePathScopes>;\n"]}
|
|
@@ -176,7 +176,7 @@ export declare class ControllerFactory extends BaseHelper {
|
|
|
176
176
|
definitions: Record<string, import("../index.js").IAuthRouteConfig>;
|
|
177
177
|
getRouter(): import("@hono/zod-openapi").OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
|
|
178
178
|
registerRoutesFromRegistry(opts?: {
|
|
179
|
-
paths?: "
|
|
179
|
+
paths?: import("../index.js").TRoutePathScope;
|
|
180
180
|
}): void;
|
|
181
181
|
configure(opts?: ConfigurableOptions | undefined): Promise<import("@hono/zod-openapi").OpenAPIHono<RouteEnv, RouteSchema, BasePath>>;
|
|
182
182
|
buildRouteMiddlewares<RouteConfig extends import("../index.js").IAuthRouteConfig>(opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAMnB,6EAA6E;AAC7E,qBAAa,iBAAkB,SAAQ,UAAU;;IAK/C,MAAM,CAAC,oBAAoB,CACzB,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,EACnF,MAAM,SAAS,mBAAmB,GAAG,mBAAmB,EACxD,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,WAAW,SAAS,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EACvD,cAAc,SAAS,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAC7D,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC;yBAiDtB,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC;YAUhF,iGAAiG;uBAC7E,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAMnB,6EAA6E;AAC7E,qBAAa,iBAAkB,SAAQ,UAAU;;IAK/C,MAAM,CAAC,oBAAoB,CACzB,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,EACnF,MAAM,SAAS,mBAAmB,GAAG,mBAAmB,EACxD,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,WAAW,SAAS,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EACvD,cAAc,SAAS,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAC7D,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC;yBAiDtB,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC;YAUhF,iGAAiG;uBAC7E,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAXG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGjD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type TRoutePathScope } from '../common/constants.js';
|
|
1
2
|
import type { Hook } from '@hono/zod-openapi';
|
|
2
3
|
import { OpenAPIHono } from '@hono/zod-openapi';
|
|
3
4
|
import type { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
@@ -15,7 +16,7 @@ export declare abstract class AbstractRestController<RouteEnv extends Env = Env,
|
|
|
15
16
|
getRouter(): OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
|
|
16
17
|
/** Registers decorator-defined routes from the metadata registry; `paths` selects them by shape - see the two-phase call in {@link configure}. */
|
|
17
18
|
registerRoutesFromRegistry(opts?: {
|
|
18
|
-
paths?:
|
|
19
|
+
paths?: TRoutePathScope;
|
|
19
20
|
}): void;
|
|
20
21
|
/** Configures the controller by binding all routes and registering decorator-based routes. Idempotent. */
|
|
21
22
|
configure(opts?: ConfigurableOptions): Promise<OpenAPIHono<RouteEnv, RouteSchema, BasePath>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/rest/abstract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/rest/abstract.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAOzB,kHAAkH;AAClH,8BAAsB,sBAAsB,CAC1C,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAEvF,SAAQ,UACR,YAAW,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAE5E,YAAY,UAAS;IACrB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;gBAEb,IAAI,EAAE,kBAAkB;IA2BpC,mEAAmE;IACnE,SAAS;IAIT,kJAAkJ;IAClJ,0BAA0B,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI;IAoCpE,0GAA0G;IACpG,SAAS,CACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAqBxD,uFAAuF;IACvF,qBAAqB,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;;;;;IAkD1F,oFAAoF;IACpF,eAAe,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;IAcpF,4EAA4E;IAC5E,kBAAkB,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;IAcvF,kEAAkE;IAClE,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAExC,uFAAuF;IACvF,QAAQ,CAAC,SAAS,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAC7D,OAAO,EAAE,WAAW,CAAC;KACtB,GAAG,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;IAEnE,uEAAuE;IACvE,QAAQ,CAAC,WAAW,CAAC,WAAW,SAAS,gBAAgB,EAAE,YAAY,GAAG,OAAO,EAAE,IAAI,EAAE;QACvF,OAAO,EAAE,WAAW,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD,GAAG,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;CACtE"}
|
|
@@ -5,6 +5,7 @@ import { formBodyReader, hasFormBody } from '../../middlewares/form-body/form-bo
|
|
|
5
5
|
import { AuthenticationStrategyRegistry } from '../../auth/authenticate/strategies/strategy-registry.js';
|
|
6
6
|
import { DroppedRouteDecorators } from '../../metadata/routes/common.js';
|
|
7
7
|
import { MetadataRegistry } from '../../../helpers/inversion/registry.js';
|
|
8
|
+
import { RoutePathScopes } from '../common/constants.js';
|
|
8
9
|
import { htmlResponse } from '../common/html-response.js';
|
|
9
10
|
import { createRoute, OpenAPIHono } from '@hono/zod-openapi';
|
|
10
11
|
import { BaseHelper, getError } from '@venizia/ignis-helpers/core';
|
|
@@ -43,7 +44,7 @@ export class AbstractRestController extends BaseHelper {
|
|
|
43
44
|
}
|
|
44
45
|
/** Registers decorator-defined routes from the metadata registry; `paths` selects them by shape - see the two-phase call in {@link configure}. */
|
|
45
46
|
registerRoutesFromRegistry(opts) {
|
|
46
|
-
const { paths =
|
|
47
|
+
const { paths = RoutePathScopes.ALL } = opts ?? {};
|
|
47
48
|
const logger = this.logger.for(this.registerRoutesFromRegistry.name);
|
|
48
49
|
DroppedRouteDecorators.report({ logger });
|
|
49
50
|
const routes = MetadataRegistry.getInstance().getRoutes({
|
|
@@ -54,7 +55,8 @@ export class AbstractRestController extends BaseHelper {
|
|
|
54
55
|
}
|
|
55
56
|
const routeDefs = routes.entries();
|
|
56
57
|
for (const [methodName, routeConfigs] of routeDefs) {
|
|
57
|
-
if (paths !==
|
|
58
|
+
if (paths !== RoutePathScopes.ALL &&
|
|
59
|
+
hasPathParam({ path: routeConfigs.path }) !== (paths === RoutePathScopes.PARAM)) {
|
|
58
60
|
continue;
|
|
59
61
|
}
|
|
60
62
|
// Dynamic dispatch by decorator-recorded method name - the controller class has no static index signature, so this read cannot be typed narrower than `unknown`.
|
|
@@ -78,9 +80,9 @@ export class AbstractRestController extends BaseHelper {
|
|
|
78
80
|
const configureOptions = opts ?? {};
|
|
79
81
|
logger.info('START | Binding controller | Options: %j', configureOptions);
|
|
80
82
|
// Hono matches in registration order, so registration runs by SHAPE not source: every static path first, then binding()'s routes, then decorator param routes last (`/{id}` early would eat `/count`).
|
|
81
|
-
this.registerRoutesFromRegistry({ paths:
|
|
83
|
+
this.registerRoutesFromRegistry({ paths: RoutePathScopes.STATIC });
|
|
82
84
|
await this.binding();
|
|
83
|
-
this.registerRoutesFromRegistry({ paths:
|
|
85
|
+
this.registerRoutesFromRegistry({ paths: RoutePathScopes.PARAM });
|
|
84
86
|
this.isConfigured = true;
|
|
85
87
|
logger.info('DONE | Binding controller | Took: %s (ms)', performance.now() - t);
|
|
86
88
|
return this.router;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../../src/base/controllers/rest/abstract.ts"],"names":[],"mappings":"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","sourcesContent":["import { AuthenticationModes } from '@/base/auth/authenticate/common/constants';\nimport { authenticate as authenticateFn } from '@/base/auth/authenticate/middlewares/authenticate.middleware';\nimport type { IAuthorizationSpec } from '@/base/auth/authorize/common/types';\nimport { authorize as authorizeFn } from '@/base/auth/authorize/middlewares/authorize.middleware';\nimport { formBodyReader, hasFormBody } from '@/base/middlewares/form-body/form-body.middleware';\nimport { AuthenticationStrategyRegistry } from '@/base/auth/authenticate/strategies/strategy-registry';\nimport { DroppedRouteDecorators } from '@/base/metadata/routes/common';\nimport { MetadataRegistry } from '@/helpers/inversion/registry';\nimport { htmlResponse } from '@/base/controllers/common/html-response';\nimport type { Hook } from '@hono/zod-openapi';\nimport { createRoute, OpenAPIHono } from '@hono/zod-openapi';\nimport type { ValueOrPromise } from '@venizia/ignis-helpers/common';\nimport { BaseHelper, getError } from '@venizia/ignis-helpers/core';\nimport type { Env, Schema } from 'hono';\nimport type {\n IAuthRouteConfig,\n IBindRouteOptions,\n IController,\n IControllerOptions,\n IDefineRouteOptions,\n TRouteHandler,\n} from '../common/types';\n\n/** True for a route path carrying a path parameter, in either supported syntax: `/{id}` or `/:id`. */\nconst hasPathParam = (opts: { path: string }): boolean => {\n return /\\{[^}]+\\}|:[^/]+/.test(opts.path);\n};\n\n/** Abstract base class for all REST controllers, providing route registration and auth middleware integration. */\nexport abstract class AbstractRestController<\n RouteEnv extends Env = Env,\n RouteSchema extends Schema = {},\n BasePath extends string = '/',\n ConfigurableOptions extends object = {},\n Definitions extends Record<string, IAuthRouteConfig> = Record<string, IAuthRouteConfig>,\n>\n extends BaseHelper\n implements IController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions>\n{\n isConfigured = false;\n router: OpenAPIHono<RouteEnv, RouteSchema, BasePath>;\n path: string;\n definitions: Definitions;\n\n constructor(opts: IControllerOptions) {\n super(opts);\n const { isStrict = true } = opts;\n\n const decoratorMetadata = MetadataRegistry.getInstance().getControllerMetadata({\n target: new.target,\n });\n const resolvedPath = decoratorMetadata?.path ?? opts.path;\n\n if (!resolvedPath) {\n throw getError({\n message: `[${new.target.name}] Controller path is required. Provide path via @controller decorator or constructor options.`,\n });\n }\n\n this.path = resolvedPath;\n\n this.router = new OpenAPIHono<RouteEnv, RouteSchema, BasePath>({\n strict: isStrict,\n defaultHook: (result, _context) => {\n if (!result.success) {\n throw result.error;\n }\n },\n });\n }\n\n /** Returns the OpenAPIHono router instance for this controller. */\n getRouter() {\n return this.router;\n }\n\n /** Registers decorator-defined routes from the metadata registry; `paths` selects them by shape - see the two-phase call in {@link configure}. */\n registerRoutesFromRegistry(opts?: { paths?: 'static' | 'param' | 'all' }): void {\n const { paths = 'all' } = opts ?? {};\n\n const logger = this.logger.for(this.registerRoutesFromRegistry.name);\n DroppedRouteDecorators.report({ logger });\n\n const routes = MetadataRegistry.getInstance().getRoutes({\n target: Object.getPrototypeOf(this),\n });\n\n if (!routes?.size) {\n return;\n }\n\n const routeDefs = routes.entries();\n for (const [methodName, routeConfigs] of routeDefs) {\n if (paths !== 'all' && hasPathParam({ path: routeConfigs.path }) !== (paths === 'param')) {\n continue;\n }\n\n // Dynamic dispatch by decorator-recorded method name - the controller class has no static index signature, so this read cannot be typed narrower than `unknown`.\n const handler = (this as Record<string | symbol, unknown>)[methodName];\n if (typeof handler !== 'function') {\n logger.warn('Route method \"%s\" not found on controller', String(methodName));\n continue;\n }\n\n this.bindRoute({ configs: routeConfigs }).to({\n handler: (handler as TRouteHandler<unknown, RouteEnv>).bind(this),\n });\n }\n }\n\n /** Configures the controller by binding all routes and registering decorator-based routes. Idempotent. */\n async configure(\n opts?: ConfigurableOptions,\n ): Promise<OpenAPIHono<RouteEnv, RouteSchema, BasePath>> {\n if (this.isConfigured) {\n return this.router;\n }\n\n const t = performance.now();\n const logger = this.logger.for(this.configure.name);\n\n const configureOptions = opts ?? {};\n logger.info('START | Binding controller | Options: %j', configureOptions);\n\n // Hono matches in registration order, so registration runs by SHAPE not source: every static path first, then binding()'s routes, then decorator param routes last (`/{id}` early would eat `/count`).\n this.registerRoutesFromRegistry({ paths: 'static' });\n await this.binding();\n this.registerRoutesFromRegistry({ paths: 'param' });\n\n this.isConfigured = true;\n logger.info('DONE | Binding controller | Took: %s (ms)', performance.now() - t);\n return this.router;\n }\n\n /** @internal Builds auth + custom middlewares and security specs from route config. */\n buildRouteMiddlewares<RouteConfig extends IAuthRouteConfig>(opts: { configs: RouteConfig }) {\n const { authenticate = {}, authorize, ...restConfig } = opts.configs;\n const { strategies = [], mode = AuthenticationModes.ANY } = authenticate;\n\n // Boot-time and NON-fatal: names a misspelled strategy at error level instead of leaving it as\n // a 401 nobody can explain. Deliberately not a throw - `defineAuthController` hard-codes `jwt`\n // on four routes, and ANY mode tolerates a strategy that does not resolve, so failing here would\n // stop applications booting that work today. `assertRegistered` is there for an application that\n // does want the hard failure.\n AuthenticationStrategyRegistry.getInstance().reportUnregistered({\n names: strategies,\n scope: this.constructor.name,\n });\n\n const security = strategies.map((strategy: string) => ({ [strategy]: [] }));\n const mws: ReturnType<typeof authenticateFn>[] = [];\n\n if (strategies.length > 0) {\n mws.push(authenticateFn({ strategies, mode }));\n }\n\n // Inject authorize middleware AFTER authenticate\n if (authorize) {\n const specs: IAuthorizationSpec[] = Array.isArray(authorize) ? authorize : [authorize];\n for (const spec of specs) {\n mws.push(authorizeFn({ spec }));\n }\n }\n\n const configuredMiddleware = restConfig.middleware;\n const extraMws = Array.isArray(configuredMiddleware)\n ? configuredMiddleware\n : [configuredMiddleware];\n\n for (const mw of extraMws) {\n if (!mw) {\n continue;\n }\n\n mws.push(mw);\n }\n\n // Last: an application middleware and any size check run before the body is read.\n if (hasFormBody({ content: restConfig.request?.body?.content })) {\n mws.push(formBodyReader);\n }\n\n return { restConfig, security, mws };\n }\n\n /** Processes route config, injecting auth middleware and OpenAPI security specs. */\n getRouteConfigs<RouteConfig extends IAuthRouteConfig>(opts: { configs: RouteConfig }) {\n const { restConfig, security, mws } = this.buildRouteMiddlewares(opts);\n const { tags = [] } = restConfig;\n\n // `restConfig` already omitted `authenticate`/`authorize` (this library's fields, not Hono's `createRoute` ones); reassembled with the injected middleware/tags/security it no longer structurally overlaps RouteConfig enough to assert directly.\n return createRoute<string, RouteConfig>(\n Object.assign({}, restConfig, {\n middleware: mws,\n tags: [...tags, this.scope],\n security,\n }) as any,\n );\n }\n\n /** Like getRouteConfigs but adds HTML response schema for JSX rendering. */\n getJSXRouteConfigs<RouteConfig extends IAuthRouteConfig>(opts: { configs: RouteConfig }) {\n const { restConfig, security, mws } = this.buildRouteMiddlewares(opts);\n const { responses, tags = [] } = restConfig;\n\n // Same reassembled-vs-RouteConfig boundary as getRouteConfigs above.\n return createRoute<string, RouteConfig>(\n Object.assign({}, restConfig, {\n middleware: mws,\n responses: Object.assign({}, htmlResponse({ description: 'HTML page' }), responses),\n tags: [...tags, this.scope],\n security,\n }) as any,\n );\n }\n /** Override to register routes using bindRoute or defineRoute. */\n abstract binding(): ValueOrPromise<void>;\n\n /** Creates a fluent binding for registering a route (call .to() to attach handler). */\n abstract bindRoute<RouteConfig extends IAuthRouteConfig>(opts: {\n configs: RouteConfig;\n }): IBindRouteOptions<RouteConfig, RouteEnv, RouteSchema, BasePath>;\n\n /** Defines and registers a route with its handler in a single call. */\n abstract defineRoute<RouteConfig extends IAuthRouteConfig, ResponseType = unknown>(opts: {\n configs: RouteConfig;\n handler: TRouteHandler<ResponseType, RouteEnv>;\n hook?: Hook<any, RouteEnv, string, ValueOrPromise<any>>;\n }): IDefineRouteOptions<RouteConfig, RouteEnv, RouteSchema, BasePath>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../../src/base/controllers/rest/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAE9G,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,uDAAuD,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAwB,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAWnE,sGAAsG;AACtG,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAW,EAAE;IACvD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,kHAAkH;AAClH,MAAM,OAAgB,sBAOpB,SAAQ,UAAU;IAQlB,YAAY,IAAwB;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;QANd,iBAAY,GAAG,KAAK,CAAC;QAOnB,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAEjC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC;YAC7E,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,iBAAiB,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QAE1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,+FAA+F;aAC5H,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QAEzB,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAkC;YAC7D,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,MAAM,CAAC,KAAK,CAAC;gBACrB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,kJAAkJ;IAClJ,0BAA0B,CAAC,IAAkC;QAC3D,MAAM,EAAE,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACrE,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;YACtD,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,SAAS,EAAE,CAAC;YACnD,IACE,KAAK,KAAK,eAAe,CAAC,GAAG;gBAC7B,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,CAAC,EAC/E,CAAC;gBACD,SAAS;YACX,CAAC;YAED,iKAAiK;YACjK,MAAM,OAAO,GAAI,IAAyC,CAAC,UAAU,CAAC,CAAC;YACvE,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAG,OAA4C,CAAC,IAAI,CAAC,IAAI,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0GAA0G;IAC1G,KAAK,CAAC,SAAS,CACb,IAA0B;QAE1B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEpD,MAAM,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,gBAAgB,CAAC,CAAC;QAE1E,uMAAuM;QACvM,IAAI,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,uFAAuF;IACvF,qBAAqB,CAAuC,IAA8B;QACxF,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACrE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QAEzE,+FAA+F;QAC/F,+FAA+F;QAC/F,iGAAiG;QACjG,iGAAiG;QACjG,8BAA8B;QAC9B,8BAA8B,CAAC,WAAW,EAAE,CAAC,kBAAkB,CAAC;YAC9D,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;SAC7B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAwC,EAAE,CAAC;QAEpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,iDAAiD;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAyB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAAC;QACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;YAClD,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAE3B,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,SAAS;YACX,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;QAED,kFAAkF;QAClF,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACvC,CAAC;IAED,oFAAoF;IACpF,eAAe,CAAuC,IAA8B;QAClF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;QAEjC,mPAAmP;QACnP,OAAO,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE;YAC5B,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;YAC3B,QAAQ;SACT,CAAQ,CACV,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,kBAAkB,CAAuC,IAA8B;QACrF,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;QAE5C,qEAAqE;QACrE,OAAO,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE;YAC5B,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,CAAC;YACnF,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;YAC3B,QAAQ;SACT,CAAQ,CACV,CAAC;IACJ,CAAC;CAeF","sourcesContent":["import { AuthenticationModes } from '@/base/auth/authenticate/common/constants';\nimport { authenticate as authenticateFn } from '@/base/auth/authenticate/middlewares/authenticate.middleware';\nimport type { IAuthorizationSpec } from '@/base/auth/authorize/common/types';\nimport { authorize as authorizeFn } from '@/base/auth/authorize/middlewares/authorize.middleware';\nimport { formBodyReader, hasFormBody } from '@/base/middlewares/form-body/form-body.middleware';\nimport { AuthenticationStrategyRegistry } from '@/base/auth/authenticate/strategies/strategy-registry';\nimport { DroppedRouteDecorators } from '@/base/metadata/routes/common';\nimport { MetadataRegistry } from '@/helpers/inversion/registry';\nimport { RoutePathScopes, type TRoutePathScope } from '@/base/controllers/common/constants';\nimport { htmlResponse } from '@/base/controllers/common/html-response';\nimport type { Hook } from '@hono/zod-openapi';\nimport { createRoute, OpenAPIHono } from '@hono/zod-openapi';\nimport type { ValueOrPromise } from '@venizia/ignis-helpers/common';\nimport { BaseHelper, getError } from '@venizia/ignis-helpers/core';\nimport type { Env, Schema } from 'hono';\nimport type {\n IAuthRouteConfig,\n IBindRouteOptions,\n IController,\n IControllerOptions,\n IDefineRouteOptions,\n TRouteHandler,\n} from '../common/types';\n\n/** True for a route path carrying a path parameter, in either supported syntax: `/{id}` or `/:id`. */\nconst hasPathParam = (opts: { path: string }): boolean => {\n return /\\{[^}]+\\}|:[^/]+/.test(opts.path);\n};\n\n/** Abstract base class for all REST controllers, providing route registration and auth middleware integration. */\nexport abstract class AbstractRestController<\n RouteEnv extends Env = Env,\n RouteSchema extends Schema = {},\n BasePath extends string = '/',\n ConfigurableOptions extends object = {},\n Definitions extends Record<string, IAuthRouteConfig> = Record<string, IAuthRouteConfig>,\n>\n extends BaseHelper\n implements IController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions>\n{\n isConfigured = false;\n router: OpenAPIHono<RouteEnv, RouteSchema, BasePath>;\n path: string;\n definitions: Definitions;\n\n constructor(opts: IControllerOptions) {\n super(opts);\n const { isStrict = true } = opts;\n\n const decoratorMetadata = MetadataRegistry.getInstance().getControllerMetadata({\n target: new.target,\n });\n const resolvedPath = decoratorMetadata?.path ?? opts.path;\n\n if (!resolvedPath) {\n throw getError({\n message: `[${new.target.name}] Controller path is required. Provide path via @controller decorator or constructor options.`,\n });\n }\n\n this.path = resolvedPath;\n\n this.router = new OpenAPIHono<RouteEnv, RouteSchema, BasePath>({\n strict: isStrict,\n defaultHook: (result, _context) => {\n if (!result.success) {\n throw result.error;\n }\n },\n });\n }\n\n /** Returns the OpenAPIHono router instance for this controller. */\n getRouter() {\n return this.router;\n }\n\n /** Registers decorator-defined routes from the metadata registry; `paths` selects them by shape - see the two-phase call in {@link configure}. */\n registerRoutesFromRegistry(opts?: { paths?: TRoutePathScope }): void {\n const { paths = RoutePathScopes.ALL } = opts ?? {};\n\n const logger = this.logger.for(this.registerRoutesFromRegistry.name);\n DroppedRouteDecorators.report({ logger });\n\n const routes = MetadataRegistry.getInstance().getRoutes({\n target: Object.getPrototypeOf(this),\n });\n\n if (!routes?.size) {\n return;\n }\n\n const routeDefs = routes.entries();\n for (const [methodName, routeConfigs] of routeDefs) {\n if (\n paths !== RoutePathScopes.ALL &&\n hasPathParam({ path: routeConfigs.path }) !== (paths === RoutePathScopes.PARAM)\n ) {\n continue;\n }\n\n // Dynamic dispatch by decorator-recorded method name - the controller class has no static index signature, so this read cannot be typed narrower than `unknown`.\n const handler = (this as Record<string | symbol, unknown>)[methodName];\n if (typeof handler !== 'function') {\n logger.warn('Route method \"%s\" not found on controller', String(methodName));\n continue;\n }\n\n this.bindRoute({ configs: routeConfigs }).to({\n handler: (handler as TRouteHandler<unknown, RouteEnv>).bind(this),\n });\n }\n }\n\n /** Configures the controller by binding all routes and registering decorator-based routes. Idempotent. */\n async configure(\n opts?: ConfigurableOptions,\n ): Promise<OpenAPIHono<RouteEnv, RouteSchema, BasePath>> {\n if (this.isConfigured) {\n return this.router;\n }\n\n const t = performance.now();\n const logger = this.logger.for(this.configure.name);\n\n const configureOptions = opts ?? {};\n logger.info('START | Binding controller | Options: %j', configureOptions);\n\n // Hono matches in registration order, so registration runs by SHAPE not source: every static path first, then binding()'s routes, then decorator param routes last (`/{id}` early would eat `/count`).\n this.registerRoutesFromRegistry({ paths: RoutePathScopes.STATIC });\n await this.binding();\n this.registerRoutesFromRegistry({ paths: RoutePathScopes.PARAM });\n\n this.isConfigured = true;\n logger.info('DONE | Binding controller | Took: %s (ms)', performance.now() - t);\n return this.router;\n }\n\n /** @internal Builds auth + custom middlewares and security specs from route config. */\n buildRouteMiddlewares<RouteConfig extends IAuthRouteConfig>(opts: { configs: RouteConfig }) {\n const { authenticate = {}, authorize, ...restConfig } = opts.configs;\n const { strategies = [], mode = AuthenticationModes.ANY } = authenticate;\n\n // Boot-time and NON-fatal: names a misspelled strategy at error level instead of leaving it as\n // a 401 nobody can explain. Deliberately not a throw - `defineAuthController` hard-codes `jwt`\n // on four routes, and ANY mode tolerates a strategy that does not resolve, so failing here would\n // stop applications booting that work today. `assertRegistered` is there for an application that\n // does want the hard failure.\n AuthenticationStrategyRegistry.getInstance().reportUnregistered({\n names: strategies,\n scope: this.constructor.name,\n });\n\n const security = strategies.map((strategy: string) => ({ [strategy]: [] }));\n const mws: ReturnType<typeof authenticateFn>[] = [];\n\n if (strategies.length > 0) {\n mws.push(authenticateFn({ strategies, mode }));\n }\n\n // Inject authorize middleware AFTER authenticate\n if (authorize) {\n const specs: IAuthorizationSpec[] = Array.isArray(authorize) ? authorize : [authorize];\n for (const spec of specs) {\n mws.push(authorizeFn({ spec }));\n }\n }\n\n const configuredMiddleware = restConfig.middleware;\n const extraMws = Array.isArray(configuredMiddleware)\n ? configuredMiddleware\n : [configuredMiddleware];\n\n for (const mw of extraMws) {\n if (!mw) {\n continue;\n }\n\n mws.push(mw);\n }\n\n // Last: an application middleware and any size check run before the body is read.\n if (hasFormBody({ content: restConfig.request?.body?.content })) {\n mws.push(formBodyReader);\n }\n\n return { restConfig, security, mws };\n }\n\n /** Processes route config, injecting auth middleware and OpenAPI security specs. */\n getRouteConfigs<RouteConfig extends IAuthRouteConfig>(opts: { configs: RouteConfig }) {\n const { restConfig, security, mws } = this.buildRouteMiddlewares(opts);\n const { tags = [] } = restConfig;\n\n // `restConfig` already omitted `authenticate`/`authorize` (this library's fields, not Hono's `createRoute` ones); reassembled with the injected middleware/tags/security it no longer structurally overlaps RouteConfig enough to assert directly.\n return createRoute<string, RouteConfig>(\n Object.assign({}, restConfig, {\n middleware: mws,\n tags: [...tags, this.scope],\n security,\n }) as any,\n );\n }\n\n /** Like getRouteConfigs but adds HTML response schema for JSX rendering. */\n getJSXRouteConfigs<RouteConfig extends IAuthRouteConfig>(opts: { configs: RouteConfig }) {\n const { restConfig, security, mws } = this.buildRouteMiddlewares(opts);\n const { responses, tags = [] } = restConfig;\n\n // Same reassembled-vs-RouteConfig boundary as getRouteConfigs above.\n return createRoute<string, RouteConfig>(\n Object.assign({}, restConfig, {\n middleware: mws,\n responses: Object.assign({}, htmlResponse({ description: 'HTML page' }), responses),\n tags: [...tags, this.scope],\n security,\n }) as any,\n );\n }\n /** Override to register routes using bindRoute or defineRoute. */\n abstract binding(): ValueOrPromise<void>;\n\n /** Creates a fluent binding for registering a route (call .to() to attach handler). */\n abstract bindRoute<RouteConfig extends IAuthRouteConfig>(opts: {\n configs: RouteConfig;\n }): IBindRouteOptions<RouteConfig, RouteEnv, RouteSchema, BasePath>;\n\n /** Defines and registers a route with its handler in a single call. */\n abstract defineRoute<RouteConfig extends IAuthRouteConfig, ResponseType = unknown>(opts: {\n configs: RouteConfig;\n handler: TRouteHandler<ResponseType, RouteEnv>;\n hook?: Hook<any, RouteEnv, string, ValueOrPromise<any>>;\n }): IDefineRouteOptions<RouteConfig, RouteEnv, RouteSchema, BasePath>;\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { IModelMetadata } from '../../helpers/inversion/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The one place the `@model` metadata outside `settings` is checked and normalised.
|
|
4
|
+
*
|
|
5
|
+
* - `type` is optional; a value must be one of {@link ModelTypes}.
|
|
6
|
+
* - `skipMigrate` is gone (0.4.4): the decorator throws on it and names the replacement, the way it
|
|
7
|
+
* does for the flat settings keys removed in 0.4.3. The check reads the key by name because an
|
|
8
|
+
* untyped caller, or a model written before the removal, never meets the type error.
|
|
9
|
+
* - When the model declares `migration`, the registry entry carries it with `use` filled in.
|
|
10
|
+
*/
|
|
11
|
+
export declare const normalizeModelMetadata: (opts: {
|
|
12
|
+
model: string;
|
|
13
|
+
metadata: IModelMetadata;
|
|
14
|
+
}) => IModelMetadata;
|
|
15
|
+
//# sourceMappingURL=model-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-metadata.d.ts","sourceRoot":"","sources":["../../../../src/base/metadata/model-metadata.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;CAC1B,KAAG,cA0BH,CAAC"}
|