@venizia/ignis 0.0.7-2 → 0.0.7-21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2757 -28
- package/dist/base/applications/abstract.d.ts.map +1 -1
- package/dist/base/applications/abstract.js +0 -8
- package/dist/base/applications/abstract.js.map +1 -1
- package/dist/base/applications/base.d.ts.map +1 -1
- package/dist/base/applications/base.js +0 -17
- package/dist/base/applications/base.js.map +1 -1
- package/dist/base/applications/types.d.ts.map +1 -1
- package/dist/base/applications/types.js.map +1 -1
- package/dist/base/components/base.d.ts.map +1 -1
- package/dist/base/components/base.js +0 -2
- package/dist/base/components/base.js.map +1 -1
- package/dist/base/controllers/abstract.d.ts +16 -130
- package/dist/base/controllers/abstract.d.ts.map +1 -1
- package/dist/base/controllers/abstract.js +62 -112
- package/dist/base/controllers/abstract.js.map +1 -1
- package/dist/base/controllers/base.d.ts +10 -118
- package/dist/base/controllers/base.d.ts.map +1 -1
- package/dist/base/controllers/base.js +5 -113
- package/dist/base/controllers/base.js.map +1 -1
- package/dist/base/controllers/common/constants.d.ts +1 -16
- package/dist/base/controllers/common/constants.d.ts.map +1 -1
- package/dist/base/controllers/common/constants.js +10 -29
- package/dist/base/controllers/common/constants.js.map +1 -1
- package/dist/base/controllers/common/types.d.ts +34 -152
- package/dist/base/controllers/common/types.d.ts.map +1 -1
- package/dist/base/controllers/common/types.js +1 -4
- package/dist/base/controllers/common/types.js.map +1 -1
- package/dist/base/controllers/factory/controller.d.ts +37 -199
- package/dist/base/controllers/factory/controller.d.ts.map +1 -1
- package/dist/base/controllers/factory/controller.js +21 -146
- package/dist/base/controllers/factory/controller.js.map +1 -1
- package/dist/base/controllers/factory/definition.d.ts +15 -9
- package/dist/base/controllers/factory/definition.d.ts.map +1 -1
- package/dist/base/controllers/factory/definition.js +62 -58
- package/dist/base/controllers/factory/definition.js.map +1 -1
- package/dist/base/datasources/base.d.ts +2 -31
- package/dist/base/datasources/base.d.ts.map +1 -1
- package/dist/base/datasources/base.js +2 -39
- package/dist/base/datasources/base.js.map +1 -1
- package/dist/base/datasources/common/types.d.ts +2 -4
- package/dist/base/datasources/common/types.d.ts.map +1 -1
- package/dist/base/datasources/common/types.js +1 -8
- package/dist/base/datasources/common/types.js.map +1 -1
- package/dist/base/metadata/injectors.d.ts +1 -30
- package/dist/base/metadata/injectors.d.ts.map +1 -1
- package/dist/base/metadata/injectors.js +1 -30
- package/dist/base/metadata/injectors.js.map +1 -1
- package/dist/base/metadata/persistents.d.ts +3 -63
- package/dist/base/metadata/persistents.d.ts.map +1 -1
- package/dist/base/metadata/persistents.js +11 -88
- package/dist/base/metadata/persistents.js.map +1 -1
- package/dist/base/metadata/routes.d.ts +8 -31
- package/dist/base/metadata/routes.d.ts.map +1 -1
- package/dist/base/metadata/routes.js +1 -27
- package/dist/base/metadata/routes.js.map +1 -1
- package/dist/base/middlewares/app-error.middleware.d.ts +1 -10
- package/dist/base/middlewares/app-error.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/app-error.middleware.js +2 -14
- package/dist/base/middlewares/app-error.middleware.js.map +1 -1
- package/dist/base/middlewares/emoji-favicon.middleware.d.ts +1 -7
- package/dist/base/middlewares/emoji-favicon.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/emoji-favicon.middleware.js +1 -7
- package/dist/base/middlewares/emoji-favicon.middleware.js.map +1 -1
- package/dist/base/middlewares/not-found.middleware.d.ts +1 -8
- package/dist/base/middlewares/not-found.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/not-found.middleware.js +1 -8
- package/dist/base/middlewares/not-found.middleware.js.map +1 -1
- package/dist/base/middlewares/request-spy.middleware.d.ts +3 -19
- package/dist/base/middlewares/request-spy.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/request-spy.middleware.js +3 -23
- package/dist/base/middlewares/request-spy.middleware.js.map +1 -1
- package/dist/base/mixins/component.mixin.d.ts.map +1 -1
- package/dist/base/mixins/controller.mixin.d.ts.map +1 -1
- package/dist/base/mixins/repository.mixin.d.ts.map +1 -1
- package/dist/base/mixins/service.mixin.d.ts.map +1 -1
- package/dist/base/models/base.d.ts +4 -21
- package/dist/base/models/base.d.ts.map +1 -1
- package/dist/base/models/base.js +1 -11
- package/dist/base/models/base.js.map +1 -1
- package/dist/base/models/common/types.d.ts.map +1 -1
- package/dist/base/models/common/types.js +0 -2
- package/dist/base/models/common/types.js.map +1 -1
- package/dist/base/models/enrichers/id.enricher.d.ts.map +1 -1
- package/dist/base/models/enrichers/id.enricher.js.map +1 -1
- package/dist/base/models/enrichers/user-audit.enricher.d.ts.map +1 -1
- package/dist/base/models/enrichers/user-audit.enricher.js +1 -6
- package/dist/base/models/enrichers/user-audit.enricher.js.map +1 -1
- package/dist/base/repositories/common/constants.d.ts +5 -59
- package/dist/base/repositories/common/constants.d.ts.map +1 -1
- package/dist/base/repositories/common/constants.js +3 -51
- package/dist/base/repositories/common/constants.js.map +1 -1
- package/dist/base/repositories/common/shared.d.ts +1 -13
- package/dist/base/repositories/common/shared.d.ts.map +1 -1
- package/dist/base/repositories/common/shared.js +2 -19
- package/dist/base/repositories/common/shared.js.map +1 -1
- package/dist/base/repositories/common/types.d.ts +32 -461
- package/dist/base/repositories/common/types.d.ts.map +1 -1
- package/dist/base/repositories/common/types.js +13 -159
- package/dist/base/repositories/common/types.js.map +1 -1
- package/dist/base/repositories/core/abstract.d.ts +10 -204
- package/dist/base/repositories/core/abstract.d.ts.map +1 -1
- package/dist/base/repositories/core/abstract.js +6 -126
- package/dist/base/repositories/core/abstract.js.map +1 -1
- package/dist/base/repositories/core/default-crud.d.ts +1 -36
- package/dist/base/repositories/core/default-crud.d.ts.map +1 -1
- package/dist/base/repositories/core/default-crud.js +1 -36
- package/dist/base/repositories/core/default-crud.js.map +1 -1
- package/dist/base/repositories/core/index.d.ts +1 -0
- package/dist/base/repositories/core/index.d.ts.map +1 -1
- package/dist/base/repositories/core/index.js +1 -0
- package/dist/base/repositories/core/index.js.map +1 -1
- package/dist/base/repositories/core/persistable.d.ts +2 -71
- package/dist/base/repositories/core/persistable.d.ts.map +1 -1
- package/dist/base/repositories/core/persistable.js +2 -100
- package/dist/base/repositories/core/persistable.js.map +1 -1
- package/dist/base/repositories/core/readable.d.ts +12 -127
- package/dist/base/repositories/core/readable.d.ts.map +1 -1
- package/dist/base/repositories/core/readable.js +8 -124
- package/dist/base/repositories/core/readable.js.map +1 -1
- package/dist/base/repositories/core/soft-deletable.d.ts +140 -0
- package/dist/base/repositories/core/soft-deletable.d.ts.map +1 -0
- package/dist/base/repositories/core/soft-deletable.js +99 -0
- package/dist/base/repositories/core/soft-deletable.js.map +1 -0
- package/dist/base/repositories/mixins/default-filter.d.ts +3 -49
- package/dist/base/repositories/mixins/default-filter.d.ts.map +1 -1
- package/dist/base/repositories/mixins/default-filter.js +3 -57
- package/dist/base/repositories/mixins/default-filter.js.map +1 -1
- package/dist/base/repositories/mixins/fields-visibility.d.ts +3 -59
- package/dist/base/repositories/mixins/fields-visibility.d.ts.map +1 -1
- package/dist/base/repositories/mixins/fields-visibility.js +3 -67
- package/dist/base/repositories/mixins/fields-visibility.js.map +1 -1
- package/dist/base/repositories/operators/filter.d.ts +10 -115
- package/dist/base/repositories/operators/filter.d.ts.map +1 -1
- package/dist/base/repositories/operators/filter.js +13 -154
- package/dist/base/repositories/operators/filter.js.map +1 -1
- package/dist/base/repositories/operators/json-utils.d.ts +5 -38
- package/dist/base/repositories/operators/json-utils.d.ts.map +1 -1
- package/dist/base/repositories/operators/json-utils.js +5 -47
- package/dist/base/repositories/operators/json-utils.js.map +1 -1
- package/dist/base/repositories/operators/query.d.ts +3 -56
- package/dist/base/repositories/operators/query.d.ts.map +1 -1
- package/dist/base/repositories/operators/query.js +11 -106
- package/dist/base/repositories/operators/query.js.map +1 -1
- package/dist/base/repositories/operators/relation.d.ts +1 -33
- package/dist/base/repositories/operators/relation.d.ts.map +1 -1
- package/dist/base/repositories/operators/relation.js +1 -36
- package/dist/base/repositories/operators/relation.js.map +1 -1
- package/dist/base/repositories/operators/update.d.ts +7 -72
- package/dist/base/repositories/operators/update.d.ts.map +1 -1
- package/dist/base/repositories/operators/update.js +6 -91
- package/dist/base/repositories/operators/update.js.map +1 -1
- package/dist/base/services/types.d.ts.map +1 -1
- package/dist/common/bindings.d.ts +2 -17
- package/dist/common/bindings.d.ts.map +1 -1
- package/dist/common/bindings.js +2 -14
- package/dist/common/bindings.js.map +1 -1
- package/dist/common/constants.d.ts +1 -3
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +1 -4
- package/dist/common/constants.js.map +1 -1
- package/dist/common/environments.d.ts +1 -4
- package/dist/common/environments.d.ts.map +1 -1
- package/dist/common/environments.js +1 -4
- package/dist/common/environments.js.map +1 -1
- package/dist/common/statuses.d.ts +6 -19
- package/dist/common/statuses.d.ts.map +1 -1
- package/dist/common/statuses.js +6 -27
- package/dist/common/statuses.js.map +1 -1
- package/dist/components/auth/authenticate/common/codecs.d.ts +11 -0
- package/dist/components/auth/authenticate/common/codecs.d.ts.map +1 -0
- package/dist/components/auth/authenticate/common/codecs.js +28 -0
- package/dist/components/auth/authenticate/common/codecs.js.map +1 -0
- package/dist/components/auth/authenticate/common/constants.d.ts +31 -5
- package/dist/components/auth/authenticate/common/constants.d.ts.map +1 -1
- package/dist/components/auth/authenticate/common/constants.js +41 -9
- package/dist/components/auth/authenticate/common/constants.js.map +1 -1
- package/dist/components/auth/authenticate/common/index.d.ts +1 -0
- package/dist/components/auth/authenticate/common/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/common/index.js +1 -0
- package/dist/components/auth/authenticate/common/index.js.map +1 -1
- package/dist/components/auth/authenticate/common/keys.d.ts +1 -0
- package/dist/components/auth/authenticate/common/keys.d.ts.map +1 -1
- package/dist/components/auth/authenticate/common/keys.js +1 -0
- package/dist/components/auth/authenticate/common/keys.js.map +1 -1
- package/dist/components/auth/authenticate/common/types.d.ts +63 -37
- package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
- package/dist/components/auth/authenticate/component.d.ts +5 -18
- package/dist/components/auth/authenticate/component.d.ts.map +1 -1
- package/dist/components/auth/authenticate/component.js +114 -82
- package/dist/components/auth/authenticate/component.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/factory.d.ts +12 -12
- package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
- package/dist/components/auth/authenticate/controllers/factory.js +23 -22
- package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/index.d.ts +1 -0
- package/dist/components/auth/authenticate/controllers/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/controllers/index.js +1 -0
- package/dist/components/auth/authenticate/controllers/index.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts +9 -0
- package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/jwks/controller.js +54 -0
- package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -0
- package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts +66 -0
- package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/jwks/definitions.js +32 -0
- package/dist/components/auth/authenticate/controllers/jwks/definitions.js.map +1 -0
- package/dist/components/auth/authenticate/controllers/jwks/index.d.ts +2 -0
- package/dist/components/auth/authenticate/controllers/jwks/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/controllers/jwks/index.js +18 -0
- package/dist/components/auth/authenticate/controllers/jwks/index.js.map +1 -0
- package/dist/components/auth/authenticate/index.d.ts +2 -0
- package/dist/components/auth/authenticate/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/index.js +2 -0
- package/dist/components/auth/authenticate/index.js.map +1 -1
- package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts +6 -0
- package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -0
- package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js +12 -0
- package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -0
- package/dist/components/auth/authenticate/middlewares/index.d.ts +2 -0
- package/dist/components/auth/authenticate/middlewares/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/middlewares/index.js +18 -0
- package/dist/components/auth/authenticate/middlewares/index.js.map +1 -0
- package/dist/components/auth/authenticate/providers/authentication.provider.d.ts +12 -0
- package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -0
- package/dist/components/auth/authenticate/providers/authentication.provider.js +117 -0
- package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -0
- package/dist/components/auth/authenticate/providers/index.d.ts +2 -0
- package/dist/components/auth/authenticate/providers/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/providers/index.js +18 -0
- package/dist/components/auth/authenticate/providers/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/basic/index.d.ts +2 -0
- package/dist/components/auth/authenticate/services/basic/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/basic/index.js +18 -0
- package/dist/components/auth/authenticate/services/basic/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/basic/service.d.ts +24 -0
- package/dist/components/auth/authenticate/services/basic/service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/{basic-token.service.js → basic/service.js} +10 -49
- package/dist/components/auth/authenticate/services/basic/service.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +52 -0
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js +177 -0
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/index.d.ts +4 -0
- package/dist/components/auth/authenticate/services/bearer/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/index.js +20 -0
- package/dist/components/auth/authenticate/services/bearer/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts +16 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js +32 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts +4 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/index.js +20 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/index.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +46 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +168 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts +18 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +73 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts +19 -0
- package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -0
- package/dist/components/auth/authenticate/services/bearer/jws.service.js +76 -0
- package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -0
- package/dist/components/auth/authenticate/services/index.d.ts +2 -2
- package/dist/components/auth/authenticate/services/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/index.js +2 -2
- package/dist/components/auth/authenticate/services/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts +2 -23
- package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts.map +1 -1
- package/dist/components/auth/authenticate/strategies/basic.strategy.js +12 -26
- package/dist/components/auth/authenticate/strategies/basic.strategy.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/index.d.ts +2 -1
- package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/strategies/index.js +2 -1
- package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts +21 -0
- package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwks.strategy.js +68 -0
- package/dist/components/auth/authenticate/strategies/jwks.strategy.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/{jwt.strategy.d.ts → jws.strategy.d.ts} +6 -5
- package/dist/components/auth/authenticate/strategies/jws.strategy.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/{jwt.strategy.js → jws.strategy.js} +21 -13
- package/dist/components/auth/authenticate/strategies/jws.strategy.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts +11 -24
- package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts.map +1 -1
- package/dist/components/auth/authenticate/strategies/strategy-registry.js +9 -132
- package/dist/components/auth/authenticate/strategies/strategy-registry.js.map +1 -1
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts +73 -0
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/base-filtered.js +90 -0
- package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -0
- package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts +40 -0
- package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/drizzle-casbin.js +99 -0
- package/dist/components/auth/authorize/adapters/drizzle-casbin.js.map +1 -0
- package/dist/components/auth/authorize/adapters/index.d.ts +3 -0
- package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/index.js +19 -0
- package/dist/components/auth/authorize/adapters/index.js.map +1 -0
- package/dist/components/auth/authorize/common/constants.d.ts +70 -0
- package/dist/components/auth/authorize/common/constants.d.ts.map +1 -0
- package/dist/components/auth/authorize/common/constants.js +130 -0
- package/dist/components/auth/authorize/common/constants.js.map +1 -0
- package/dist/components/auth/authorize/common/index.d.ts +4 -0
- package/dist/components/auth/authorize/common/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/common/index.js +20 -0
- package/dist/components/auth/authorize/common/index.js.map +1 -0
- package/dist/components/auth/authorize/common/keys.d.ts +6 -0
- package/dist/components/auth/authorize/common/keys.d.ts.map +1 -0
- package/dist/components/auth/authorize/common/keys.js +12 -0
- package/dist/components/auth/authorize/common/keys.js.map +1 -0
- package/dist/components/auth/authorize/common/types.d.ts +107 -0
- package/dist/components/auth/authorize/common/types.d.ts.map +1 -0
- package/dist/components/auth/authorize/{middleware.js → common/types.js} +1 -1
- package/dist/components/auth/authorize/common/types.js.map +1 -0
- package/dist/components/auth/authorize/component.d.ts +10 -0
- package/dist/components/auth/authorize/component.d.ts.map +1 -0
- package/dist/components/auth/authorize/component.js +58 -0
- package/dist/components/auth/authorize/component.js.map +1 -0
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +56 -0
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -0
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +254 -0
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -0
- package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts +33 -0
- package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts.map +1 -0
- package/dist/components/auth/authorize/enforcers/enforcer-registry.js +79 -0
- package/dist/components/auth/authorize/enforcers/enforcer-registry.js.map +1 -0
- package/dist/components/auth/authorize/enforcers/index.d.ts +3 -0
- package/dist/components/auth/authorize/enforcers/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/enforcers/index.js +19 -0
- package/dist/components/auth/authorize/enforcers/index.js.map +1 -0
- package/dist/components/auth/authorize/index.d.ts +7 -1
- package/dist/components/auth/authorize/index.d.ts.map +1 -1
- package/dist/components/auth/authorize/index.js +21 -0
- package/dist/components/auth/authorize/index.js.map +1 -1
- package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts +6 -0
- package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts.map +1 -0
- package/dist/components/auth/authorize/middlewares/authorize.middleware.js +12 -0
- package/dist/components/auth/authorize/middlewares/authorize.middleware.js.map +1 -0
- package/dist/components/auth/authorize/middlewares/index.d.ts +2 -0
- package/dist/components/auth/authorize/middlewares/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/middlewares/index.js +18 -0
- package/dist/components/auth/authorize/middlewares/index.js.map +1 -0
- package/dist/components/auth/authorize/models/abilities/index.d.ts +3 -0
- package/dist/components/auth/authorize/models/abilities/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/models/abilities/index.js +19 -0
- package/dist/components/auth/authorize/models/abilities/index.js.map +1 -0
- package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts +14 -0
- package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts.map +1 -0
- package/dist/components/auth/authorize/models/abilities/string-action.model.js +23 -0
- package/dist/components/auth/authorize/models/abilities/string-action.model.js.map +1 -0
- package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts +13 -0
- package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts.map +1 -0
- package/dist/components/auth/authorize/models/abilities/string-resource.model.js +19 -0
- package/dist/components/auth/authorize/models/abilities/string-resource.model.js.map +1 -0
- package/dist/components/auth/authorize/models/authorization-role.model.d.ts +30 -0
- package/dist/components/auth/authorize/models/authorization-role.model.d.ts.map +1 -0
- package/dist/components/auth/authorize/models/authorization-role.model.js +30 -0
- package/dist/components/auth/authorize/models/authorization-role.model.js.map +1 -0
- package/dist/components/auth/authorize/models/index.d.ts +3 -0
- package/dist/components/auth/authorize/models/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/models/index.js +19 -0
- package/dist/components/auth/authorize/models/index.js.map +1 -0
- package/dist/components/auth/authorize/providers/authorization.provider.d.ts +10 -0
- package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -0
- package/dist/components/auth/authorize/providers/authorization.provider.js +135 -0
- package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -0
- package/dist/components/auth/authorize/providers/index.d.ts +2 -0
- package/dist/components/auth/authorize/providers/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/providers/index.js +18 -0
- package/dist/components/auth/authorize/providers/index.js.map +1 -0
- package/dist/components/auth/base/abstract-auth-registry.d.ts +27 -0
- package/dist/components/auth/base/abstract-auth-registry.d.ts.map +1 -0
- package/dist/components/auth/base/abstract-auth-registry.js +62 -0
- package/dist/components/auth/base/abstract-auth-registry.js.map +1 -0
- package/dist/components/auth/base/index.d.ts +2 -0
- package/dist/components/auth/base/index.d.ts.map +1 -0
- package/dist/components/auth/base/index.js +18 -0
- package/dist/components/auth/base/index.js.map +1 -0
- package/dist/components/auth/context-variables.d.ts +14 -0
- package/dist/components/auth/context-variables.d.ts.map +1 -0
- package/dist/components/auth/context-variables.js +3 -0
- package/dist/components/auth/context-variables.js.map +1 -0
- package/dist/components/auth/index.d.ts +2 -0
- package/dist/components/auth/index.d.ts.map +1 -1
- package/dist/components/auth/index.js +2 -0
- package/dist/components/auth/index.js.map +1 -1
- package/dist/components/auth/models/entities/index.d.ts +1 -2
- package/dist/components/auth/models/entities/index.d.ts.map +1 -1
- package/dist/components/auth/models/entities/index.js +1 -2
- package/dist/components/auth/models/entities/index.js.map +1 -1
- package/dist/components/auth/models/entities/permission.model.d.ts +0 -1
- package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/permission.model.js +0 -2
- package/dist/components/auth/models/entities/permission.model.js.map +1 -1
- package/dist/components/auth/models/entities/policy-definition.model.d.ts +24 -0
- package/dist/components/auth/models/entities/policy-definition.model.d.ts.map +1 -0
- package/dist/components/auth/models/entities/policy-definition.model.js +39 -0
- package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -0
- package/dist/components/auth/models/entities/role.model.d.ts +3 -1
- package/dist/components/auth/models/entities/role.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/role.model.js +5 -3
- package/dist/components/auth/models/entities/role.model.js.map +1 -1
- package/dist/components/auth/models/entities/user.model.d.ts +4 -2
- package/dist/components/auth/models/entities/user.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/user.model.js +6 -5
- package/dist/components/auth/models/entities/user.model.js.map +1 -1
- package/dist/components/auth/models/requests/change-password.schema.js +3 -3
- package/dist/components/auth/models/requests/change-password.schema.js.map +1 -1
- package/dist/components/auth/models/requests/sign-in.schema.js +5 -5
- package/dist/components/auth/models/requests/sign-in.schema.js.map +1 -1
- package/dist/components/health-check/controller.d.ts.map +1 -1
- package/dist/components/health-check/controller.js +0 -1
- package/dist/components/health-check/controller.js.map +1 -1
- package/dist/components/index.d.ts +0 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/mail/common/types.d.ts +1 -1
- package/dist/components/mail/common/types.d.ts.map +1 -1
- package/dist/components/mail/component.d.ts.map +1 -1
- package/dist/components/mail/component.js +2 -7
- package/dist/components/mail/component.js.map +1 -1
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +2 -1
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +1 -1
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js +10 -9
- package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts +1 -1
- package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts.map +1 -1
- package/dist/components/mail/helpers/executors/direct-executor.helper.js +3 -3
- package/dist/components/mail/helpers/executors/direct-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts +1 -1
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +4 -4
- package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +1 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +3 -3
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +1 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +1 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js +3 -3
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
- package/dist/components/mail/providers/mail-queue-executor.provider.d.ts.map +1 -1
- package/dist/components/mail/providers/mail-queue-executor.provider.js +8 -8
- package/dist/components/mail/providers/mail-queue-executor.provider.js.map +1 -1
- package/dist/components/mail/providers/mail-transporter.provider.d.ts.map +1 -1
- package/dist/components/mail/providers/mail-transporter.provider.js +6 -6
- package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
- package/dist/components/mail/services/mail.service.d.ts +1 -1
- package/dist/components/mail/services/mail.service.d.ts.map +1 -1
- package/dist/components/mail/services/mail.service.js +9 -9
- package/dist/components/mail/services/mail.service.js.map +1 -1
- package/dist/components/mail/services/template.service.d.ts +1 -1
- package/dist/components/mail/services/template.service.d.ts.map +1 -1
- package/dist/components/mail/services/template.service.js +4 -4
- package/dist/components/mail/services/template.service.js.map +1 -1
- package/dist/components/mail/utilities/type.utility.d.ts +1 -1
- package/dist/components/mail/utilities/type.utility.d.ts.map +1 -1
- package/dist/components/socket-io/common/types.d.ts +2 -1
- package/dist/components/socket-io/common/types.d.ts.map +1 -1
- package/dist/components/socket-io/component.d.ts.map +1 -1
- package/dist/components/socket-io/component.js +2 -5
- package/dist/components/socket-io/component.js.map +1 -1
- package/dist/components/socket-io/handlers/node.handler.d.ts +1 -1
- package/dist/components/socket-io/handlers/node.handler.d.ts.map +1 -1
- package/dist/components/socket-io/handlers/node.handler.js +2 -1
- package/dist/components/socket-io/handlers/node.handler.js.map +1 -1
- package/dist/components/static-asset/common/constants.d.ts +1 -0
- package/dist/components/static-asset/common/constants.d.ts.map +1 -1
- package/dist/components/static-asset/common/constants.js +2 -1
- package/dist/components/static-asset/common/constants.js.map +1 -1
- package/dist/components/static-asset/common/types.d.ts +44 -1
- package/dist/components/static-asset/common/types.d.ts.map +1 -1
- package/dist/components/static-asset/controller/base.definition.d.ts +81 -80
- package/dist/components/static-asset/controller/base.definition.d.ts.map +1 -1
- package/dist/components/static-asset/controller/base.definition.js +1 -2
- package/dist/components/static-asset/controller/base.definition.js.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts +8 -12
- package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
- package/dist/components/static-asset/controller/factory.js +41 -42
- package/dist/components/static-asset/controller/factory.js.map +1 -1
- package/dist/components/static-asset/models/base.model.d.ts +49 -19
- package/dist/components/static-asset/models/base.model.d.ts.map +1 -1
- package/dist/components/static-asset/models/base.model.js +3 -7
- package/dist/components/static-asset/models/base.model.js.map +1 -1
- package/dist/components/swagger/ui-factory.d.ts.map +1 -1
- package/dist/components/swagger/ui-factory.js +0 -2
- package/dist/components/swagger/ui-factory.js.map +1 -1
- package/dist/components/websocket/component.d.ts.map +1 -1
- package/dist/components/websocket/component.js +0 -3
- package/dist/components/websocket/component.js.map +1 -1
- package/dist/helpers/base-helper.d.ts +2 -0
- package/dist/helpers/base-helper.d.ts.map +1 -0
- package/dist/helpers/base-helper.js +6 -0
- package/dist/helpers/base-helper.js.map +1 -0
- package/dist/helpers/index.d.ts +2 -1
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +1 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/inversion/common/keys.d.ts.map +1 -1
- package/dist/helpers/inversion/common/keys.js +0 -2
- package/dist/helpers/inversion/common/keys.js.map +1 -1
- package/dist/helpers/inversion/common/types.d.ts +18 -56
- package/dist/helpers/inversion/common/types.d.ts.map +1 -1
- package/dist/helpers/inversion/container.d.ts.map +1 -1
- package/dist/helpers/inversion/container.js +0 -1
- package/dist/helpers/inversion/container.js.map +1 -1
- package/dist/helpers/inversion/index.d.ts +1 -1
- package/dist/helpers/inversion/index.d.ts.map +1 -1
- package/dist/helpers/inversion/index.js +5 -1
- package/dist/helpers/inversion/index.js.map +1 -1
- package/dist/helpers/inversion/mixins/controller.mixin.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/controller.mixin.js +0 -3
- package/dist/helpers/inversion/mixins/controller.mixin.js.map +1 -1
- package/dist/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/datasource.mixin.js +0 -3
- package/dist/helpers/inversion/mixins/datasource.mixin.js.map +1 -1
- package/dist/helpers/inversion/mixins/model.mixin.d.ts +29 -1
- package/dist/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/model.mixin.js +66 -2
- package/dist/helpers/inversion/mixins/model.mixin.js.map +1 -1
- package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/repository.mixin.js +0 -2
- package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
- package/dist/helpers/inversion/registry.d.ts +22 -0
- package/dist/helpers/inversion/registry.d.ts.map +1 -1
- package/dist/utilities/jsx.utility.d.ts +2 -16
- package/dist/utilities/jsx.utility.d.ts.map +1 -1
- package/dist/utilities/jsx.utility.js +2 -16
- package/dist/utilities/jsx.utility.js.map +1 -1
- package/dist/utilities/schema.utility.d.ts.map +1 -1
- package/dist/utilities/schema.utility.js +0 -2
- package/dist/utilities/schema.utility.js.map +1 -1
- package/package.json +117 -77
- package/dist/components/auth/authenticate/services/basic-token.service.d.ts +0 -60
- package/dist/components/auth/authenticate/services/basic-token.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/basic-token.service.js.map +0 -1
- package/dist/components/auth/authenticate/services/jwt-token.service.d.ts +0 -34
- package/dist/components/auth/authenticate/services/jwt-token.service.d.ts.map +0 -1
- package/dist/components/auth/authenticate/services/jwt-token.service.js +0 -219
- package/dist/components/auth/authenticate/services/jwt-token.service.js.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwt.strategy.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwt.strategy.js.map +0 -1
- package/dist/components/auth/authorize/middleware.d.ts +0 -2
- package/dist/components/auth/authorize/middleware.d.ts.map +0 -1
- package/dist/components/auth/authorize/middleware.js.map +0 -1
- package/dist/components/auth/models/entities/permission-mapping.model.d.ts +0 -26
- package/dist/components/auth/models/entities/permission-mapping.model.d.ts.map +0 -1
- package/dist/components/auth/models/entities/permission-mapping.model.js +0 -33
- package/dist/components/auth/models/entities/permission-mapping.model.js.map +0 -1
- package/dist/components/auth/models/entities/user-role.model.d.ts +0 -17
- package/dist/components/auth/models/entities/user-role.model.d.ts.map +0 -1
- package/dist/components/auth/models/entities/user-role.model.js +0 -34
- package/dist/components/auth/models/entities/user-role.model.js.map +0 -1
|
@@ -3,88 +3,24 @@ import { BaseEntity, IdType, TTableInsert, TTableObject, TTableSchemaWithId } fr
|
|
|
3
3
|
import { TClass, TNullable } from '@venizia/ignis-helpers';
|
|
4
4
|
import { IExtraOptions, TCount, TDataRange, TFilter, TWhere } from '../common';
|
|
5
5
|
import { AbstractRepository } from './abstract';
|
|
6
|
-
/**
|
|
7
|
-
* Read-only repository implementation.
|
|
8
|
-
*
|
|
9
|
-
* Provides read operations (find, findOne, findById, count, existsWith) while
|
|
10
|
-
* blocking write operations (create, update, delete) with an error.
|
|
11
|
-
*
|
|
12
|
-
* Use this class when you need a repository that should only read data,
|
|
13
|
-
* such as for reporting or analytics views.
|
|
14
|
-
*
|
|
15
|
-
* @template EntitySchema - The Drizzle table schema type with an 'id' column
|
|
16
|
-
* @template DataObject - The type of objects returned from queries
|
|
17
|
-
* @template PersistObject - The type for insert/update operations
|
|
18
|
-
* @template ExtraOptions - Additional options type extending IExtraOptions
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```typescript
|
|
22
|
-
* @repository({ model: Report, dataSource: PostgresDataSource })
|
|
23
|
-
* export class ReportRepository extends ReadableRepository<typeof Report.schema> {
|
|
24
|
-
* async getMonthlyStats() {
|
|
25
|
-
* return this.find({ filter: { where: { type: 'monthly' } } });
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
6
|
+
/** Read-only repository. Write operations throw errors. */
|
|
30
7
|
export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId = TTableSchemaWithId, DataObject extends TTableObject<EntitySchema> = TTableObject<EntitySchema>, PersistObject extends TTableInsert<EntitySchema> = TTableInsert<EntitySchema>, ExtraOptions extends IExtraOptions = IExtraOptions> extends AbstractRepository<EntitySchema, DataObject, PersistObject, ExtraOptions> {
|
|
31
|
-
/**
|
|
32
|
-
* Creates a new read-only repository instance.
|
|
33
|
-
*
|
|
34
|
-
* @param ds - Optional data source (auto-injected from @repository decorator)
|
|
35
|
-
* @param opts - Optional configuration
|
|
36
|
-
* @param opts.entityClass - Entity class if not using @repository decorator
|
|
37
|
-
*/
|
|
38
8
|
constructor(ds?: IDataSource, opts?: {
|
|
39
9
|
entityClass?: TClass<BaseEntity<EntitySchema>>;
|
|
40
10
|
});
|
|
41
|
-
/**
|
|
42
|
-
* Determines if a query can use the Drizzle Core API for better performance.
|
|
43
|
-
*
|
|
44
|
-
* Core API is ~15-20% faster but has limitations:
|
|
45
|
-
* - No relation inclusion support
|
|
46
|
-
* - Different field selection syntax
|
|
47
|
-
*
|
|
48
|
-
* @param filter - The filter to evaluate
|
|
49
|
-
* @returns True if Core API can be used, false if Query API is needed
|
|
50
|
-
*/
|
|
11
|
+
/** Core API is ~15-20% faster but doesn't support relations or field selection. */
|
|
51
12
|
protected canUseCoreAPI(filter: TFilter<DataObject>): boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Executes a query using the Drizzle Core API (faster for flat queries).
|
|
54
|
-
*
|
|
55
|
-
* Performance: ~15-20% faster than Query API for simple queries without relations.
|
|
56
|
-
*
|
|
57
|
-
* @template R - Return type (defaults to DataObject)
|
|
58
|
-
* @param opts - Query options
|
|
59
|
-
* @param opts.filter - Filter configuration
|
|
60
|
-
* @param opts.isFindOne - If true, limits to 1 result
|
|
61
|
-
* @param opts.options - Extra options (transaction, logging)
|
|
62
|
-
* @returns Promise resolving to array of results
|
|
63
|
-
*/
|
|
13
|
+
/** Executes a query using Drizzle Core API (~15-20% faster for flat queries). */
|
|
64
14
|
protected findWithCoreAPI<R = DataObject>(opts: {
|
|
65
15
|
filter: TFilter<DataObject>;
|
|
66
16
|
isFindOne?: boolean;
|
|
67
17
|
options?: ExtraOptions;
|
|
68
18
|
}): Promise<Array<R>>;
|
|
69
|
-
/**
|
|
70
|
-
* Executes a query using the Drizzle Query API (supports relations and field selection).
|
|
71
|
-
*
|
|
72
|
-
* @template R - Return type (defaults to DataObject)
|
|
73
|
-
* @param opts - Query options
|
|
74
|
-
* @param opts.filter - Filter configuration (should already have default filter applied)
|
|
75
|
-
* @param opts.options - Extra options (transaction, logging)
|
|
76
|
-
* @returns Promise resolving to array of results
|
|
77
|
-
*/
|
|
19
|
+
/** Executes a query using Drizzle Query API (supports relations and field selection). */
|
|
78
20
|
protected findWithQueryAPI<R = DataObject>(opts: {
|
|
79
21
|
filter: TFilter<DataObject>;
|
|
80
22
|
options?: ExtraOptions;
|
|
81
23
|
}): Promise<Array<R>>;
|
|
82
|
-
/**
|
|
83
|
-
* Finds all records matching the filter with range information.
|
|
84
|
-
* @template R - Return type (defaults to DataObject)
|
|
85
|
-
* @param opts - Options containing filter and extra options with shouldQueryRange: true
|
|
86
|
-
* @returns Promise resolving to object with data array and range information
|
|
87
|
-
*/
|
|
88
24
|
find<R = DataObject>(opts: {
|
|
89
25
|
filter: TFilter<DataObject>;
|
|
90
26
|
options: ExtraOptions & {
|
|
@@ -94,68 +30,32 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
|
|
|
94
30
|
data: Array<R>;
|
|
95
31
|
range: TDataRange;
|
|
96
32
|
}>;
|
|
97
|
-
/**
|
|
98
|
-
* Finds all records matching the filter.
|
|
99
|
-
* @template R - Return type (defaults to DataObject)
|
|
100
|
-
* @param opts - Options containing filter and extra options
|
|
101
|
-
* @returns Promise resolving to array of matching records
|
|
102
|
-
*/
|
|
103
33
|
find<R = DataObject>(opts: {
|
|
104
34
|
filter: TFilter<DataObject>;
|
|
105
35
|
options?: ExtraOptions & {
|
|
106
36
|
shouldQueryRange?: false;
|
|
107
37
|
};
|
|
108
38
|
}): Promise<Array<R>>;
|
|
109
|
-
/**
|
|
110
|
-
* Finds the first record matching the filter.
|
|
111
|
-
* Automatically selects Core API or Query API based on filter complexity.
|
|
112
|
-
*
|
|
113
|
-
* @template R - Return type (defaults to DataObject)
|
|
114
|
-
* @param opts - Options containing filter and extra options
|
|
115
|
-
* @returns Promise resolving to the found record or null
|
|
116
|
-
*/
|
|
39
|
+
/** Auto-selects Core API or Query API based on filter complexity. */
|
|
117
40
|
findOne<R = DataObject>(opts: {
|
|
118
41
|
filter: TFilter<DataObject>;
|
|
119
42
|
options?: ExtraOptions;
|
|
120
43
|
}): Promise<TNullable<R>>;
|
|
121
|
-
/**
|
|
122
|
-
* Finds a record by its ID.
|
|
123
|
-
* Delegates to findOne with id in the where clause.
|
|
124
|
-
*
|
|
125
|
-
* @template R - Return type (defaults to DataObject)
|
|
126
|
-
* @param opts - Options containing id and optional filter (without where)
|
|
127
|
-
* @returns Promise resolving to the found record or null
|
|
128
|
-
*/
|
|
44
|
+
/** Delegates to findOne with id in the where clause. */
|
|
129
45
|
findById<R = DataObject>(opts: {
|
|
130
46
|
id: IdType;
|
|
131
47
|
filter?: Omit<TFilter<DataObject>, 'where'>;
|
|
132
48
|
options?: ExtraOptions;
|
|
133
49
|
}): Promise<TNullable<R>>;
|
|
134
|
-
/**
|
|
135
|
-
* Counts records matching the where condition.
|
|
136
|
-
* Applies default filter if configured.
|
|
137
|
-
*
|
|
138
|
-
* @param opts - Options containing where condition
|
|
139
|
-
* @returns Promise resolving to count result
|
|
140
|
-
*/
|
|
141
50
|
count(opts: {
|
|
142
51
|
where: TWhere<DataObject>;
|
|
143
52
|
options?: ExtraOptions;
|
|
144
53
|
}): Promise<TCount>;
|
|
145
|
-
/**
|
|
146
|
-
* Checks if any records exist matching the where condition.
|
|
147
|
-
*
|
|
148
|
-
* @param opts - Options containing where condition
|
|
149
|
-
* @returns Promise resolving to true if records exist, false otherwise
|
|
150
|
-
*/
|
|
151
54
|
existsWith(opts: {
|
|
152
55
|
where: TWhere<DataObject>;
|
|
153
56
|
options?: ExtraOptions;
|
|
154
57
|
}): Promise<boolean>;
|
|
155
|
-
/**
|
|
156
|
-
* Create is disabled in read-only repository.
|
|
157
|
-
* @throws Error indicating operation is not allowed
|
|
158
|
-
*/
|
|
58
|
+
/** @throws Error - disabled in read-only repository. */
|
|
159
59
|
create(opts: {
|
|
160
60
|
data: PersistObject;
|
|
161
61
|
options: ExtraOptions & {
|
|
@@ -172,10 +72,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
|
|
|
172
72
|
}): Promise<TCount & {
|
|
173
73
|
data: DataObject;
|
|
174
74
|
}>;
|
|
175
|
-
/**
|
|
176
|
-
* CreateAll is disabled in read-only repository.
|
|
177
|
-
* @throws Error indicating operation is not allowed
|
|
178
|
-
*/
|
|
75
|
+
/** @throws Error - disabled in read-only repository. */
|
|
179
76
|
createAll(opts: {
|
|
180
77
|
data: Array<PersistObject>;
|
|
181
78
|
options: ExtraOptions & {
|
|
@@ -192,10 +89,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
|
|
|
192
89
|
}): Promise<TCount & {
|
|
193
90
|
data: Array<DataObject>;
|
|
194
91
|
}>;
|
|
195
|
-
/**
|
|
196
|
-
* UpdateById is disabled in read-only repository.
|
|
197
|
-
* @throws Error indicating operation is not allowed
|
|
198
|
-
*/
|
|
92
|
+
/** @throws Error - disabled in read-only repository. */
|
|
199
93
|
updateById(opts: {
|
|
200
94
|
id: IdType;
|
|
201
95
|
data: Partial<PersistObject>;
|
|
@@ -214,10 +108,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
|
|
|
214
108
|
}): Promise<TCount & {
|
|
215
109
|
data: DataObject;
|
|
216
110
|
}>;
|
|
217
|
-
/**
|
|
218
|
-
* UpdateAll is disabled in read-only repository.
|
|
219
|
-
* @throws Error indicating operation is not allowed
|
|
220
|
-
*/
|
|
111
|
+
/** @throws Error - disabled in read-only repository. */
|
|
221
112
|
updateAll(opts: {
|
|
222
113
|
data: Partial<PersistObject>;
|
|
223
114
|
where: TWhere<DataObject>;
|
|
@@ -238,10 +129,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
|
|
|
238
129
|
}): Promise<TCount & {
|
|
239
130
|
data: Array<R>;
|
|
240
131
|
}>;
|
|
241
|
-
/**
|
|
242
|
-
* DeleteById is disabled in read-only repository.
|
|
243
|
-
* @throws Error indicating operation is not allowed
|
|
244
|
-
*/
|
|
132
|
+
/** @throws Error - disabled in read-only repository. */
|
|
245
133
|
deleteById(opts: {
|
|
246
134
|
id: IdType;
|
|
247
135
|
options: ExtraOptions & {
|
|
@@ -258,10 +146,7 @@ export declare class ReadableRepository<EntitySchema extends TTableSchemaWithId
|
|
|
258
146
|
}): Promise<TCount & {
|
|
259
147
|
data: R;
|
|
260
148
|
}>;
|
|
261
|
-
/**
|
|
262
|
-
* DeleteAll is disabled in read-only repository.
|
|
263
|
-
* @throws Error indicating operation is not allowed
|
|
264
|
-
*/
|
|
149
|
+
/** @throws Error - disabled in read-only repository. */
|
|
265
150
|
deleteAll(opts: {
|
|
266
151
|
where?: TWhere<DataObject>;
|
|
267
152
|
options: ExtraOptions & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAY,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EACL,aAAa,EAEb,MAAM,EACN,UAAU,EACV,OAAO,EACP,MAAM,EACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAY,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EACL,aAAa,EAEb,MAAM,EACN,UAAU,EACV,OAAO,EACP,MAAM,EACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,2DAA2D;AAC3D,qBAAa,kBAAkB,CAC7B,YAAY,SAAS,kBAAkB,GAAG,kBAAkB,EAC5D,UAAU,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC1E,aAAa,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC7E,YAAY,SAAS,aAAa,GAAG,aAAa,CAClD,SAAQ,kBAAkB,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;gBACrE,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;KAAE;IAMvF,mFAAmF;IACnF,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO;IAU7D,iFAAiF;cACjE,eAAe,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACpD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAwDrB,yFAAyF;cACzE,gBAAgB,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACrD,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAKZ,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,EAAE,YAAY,GAAG;YAAE,gBAAgB,EAAE,IAAI,CAAA;SAAE,CAAC;KACpD,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAEzC,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,gBAAgB,CAAC,EAAE,KAAK,CAAA;SAAE,CAAC;KACvD,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAwCrB,qEAAqE;IACtD,OAAO,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAwBzB,wDAAwD;IAC/C,QAAQ,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IASV,KAAK,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBJ,UAAU,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,wDAAwD;IAC/C,MAAM,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAU1C,wDAAwD;IAC/C,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;KAAE,CAAC;IAUjD,wDAAwD;IAC/C,UAAU,CAAC,IAAI,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACxC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAW1C,wDAAwD;IAC/C,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAWxC,wDAAwD;IAC/C,UAAU,CAAC,IAAI,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACxC,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAUjC,wDAAwD;IAC/C,SAAS,CAAC,IAAI,EAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;CASzC"}
|
|
@@ -4,63 +4,15 @@ exports.ReadableRepository = void 0;
|
|
|
4
4
|
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
5
5
|
const common_1 = require("../common");
|
|
6
6
|
const abstract_1 = require("./abstract");
|
|
7
|
-
|
|
8
|
-
// Readable Repository
|
|
9
|
-
// -----------------------------------------------------------------------------
|
|
10
|
-
/**
|
|
11
|
-
* Read-only repository implementation.
|
|
12
|
-
*
|
|
13
|
-
* Provides read operations (find, findOne, findById, count, existsWith) while
|
|
14
|
-
* blocking write operations (create, update, delete) with an error.
|
|
15
|
-
*
|
|
16
|
-
* Use this class when you need a repository that should only read data,
|
|
17
|
-
* such as for reporting or analytics views.
|
|
18
|
-
*
|
|
19
|
-
* @template EntitySchema - The Drizzle table schema type with an 'id' column
|
|
20
|
-
* @template DataObject - The type of objects returned from queries
|
|
21
|
-
* @template PersistObject - The type for insert/update operations
|
|
22
|
-
* @template ExtraOptions - Additional options type extending IExtraOptions
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* @repository({ model: Report, dataSource: PostgresDataSource })
|
|
27
|
-
* export class ReportRepository extends ReadableRepository<typeof Report.schema> {
|
|
28
|
-
* async getMonthlyStats() {
|
|
29
|
-
* return this.find({ filter: { where: { type: 'monthly' } } });
|
|
30
|
-
* }
|
|
31
|
-
* }
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
7
|
+
/** Read-only repository. Write operations throw errors. */
|
|
34
8
|
class ReadableRepository extends abstract_1.AbstractRepository {
|
|
35
|
-
// ---------------------------------------------------------------------------
|
|
36
|
-
// Constructor
|
|
37
|
-
// ---------------------------------------------------------------------------
|
|
38
|
-
/**
|
|
39
|
-
* Creates a new read-only repository instance.
|
|
40
|
-
*
|
|
41
|
-
* @param ds - Optional data source (auto-injected from @repository decorator)
|
|
42
|
-
* @param opts - Optional configuration
|
|
43
|
-
* @param opts.entityClass - Entity class if not using @repository decorator
|
|
44
|
-
*/
|
|
45
9
|
constructor(ds, opts) {
|
|
46
10
|
super(ds, {
|
|
47
11
|
entityClass: opts?.entityClass,
|
|
48
12
|
operationScope: common_1.RepositoryOperationScopes.READ_ONLY,
|
|
49
13
|
});
|
|
50
14
|
}
|
|
51
|
-
|
|
52
|
-
// Protected Query Helpers
|
|
53
|
-
// ---------------------------------------------------------------------------
|
|
54
|
-
/**
|
|
55
|
-
* Determines if a query can use the Drizzle Core API for better performance.
|
|
56
|
-
*
|
|
57
|
-
* Core API is ~15-20% faster but has limitations:
|
|
58
|
-
* - No relation inclusion support
|
|
59
|
-
* - Different field selection syntax
|
|
60
|
-
*
|
|
61
|
-
* @param filter - The filter to evaluate
|
|
62
|
-
* @returns True if Core API can be used, false if Query API is needed
|
|
63
|
-
*/
|
|
15
|
+
/** Core API is ~15-20% faster but doesn't support relations or field selection. */
|
|
64
16
|
canUseCoreAPI(filter) {
|
|
65
17
|
const hasInclude = filter.include && filter.include.length > 0;
|
|
66
18
|
const hasFields = filter.fields &&
|
|
@@ -69,27 +21,14 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
69
21
|
: Object.keys(filter.fields).length > 0);
|
|
70
22
|
return !hasInclude && !hasFields;
|
|
71
23
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Executes a query using the Drizzle Core API (faster for flat queries).
|
|
74
|
-
*
|
|
75
|
-
* Performance: ~15-20% faster than Query API for simple queries without relations.
|
|
76
|
-
*
|
|
77
|
-
* @template R - Return type (defaults to DataObject)
|
|
78
|
-
* @param opts - Query options
|
|
79
|
-
* @param opts.filter - Filter configuration
|
|
80
|
-
* @param opts.isFindOne - If true, limits to 1 result
|
|
81
|
-
* @param opts.options - Extra options (transaction, logging)
|
|
82
|
-
* @returns Promise resolving to array of results
|
|
83
|
-
*/
|
|
24
|
+
/** Executes a query using Drizzle Core API (~15-20% faster for flat queries). */
|
|
84
25
|
async findWithCoreAPI(opts) {
|
|
85
26
|
const { filter, isFindOne = false, options } = opts;
|
|
86
27
|
const schema = this.entity.schema;
|
|
87
|
-
// Apply default filter
|
|
88
28
|
const mergedFilter = this.applyDefaultFilter({
|
|
89
29
|
userFilter: filter,
|
|
90
30
|
shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
|
|
91
31
|
});
|
|
92
|
-
// Build where clause
|
|
93
32
|
const where = mergedFilter.where
|
|
94
33
|
? this.filterBuilder.toWhere({
|
|
95
34
|
tableName: this.entity.name,
|
|
@@ -97,7 +36,6 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
97
36
|
where: mergedFilter.where,
|
|
98
37
|
})
|
|
99
38
|
: undefined;
|
|
100
|
-
// Build order by clause
|
|
101
39
|
const orderBy = mergedFilter.order
|
|
102
40
|
? this.filterBuilder.toOrderBy({
|
|
103
41
|
tableName: this.entity.name,
|
|
@@ -105,14 +43,11 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
105
43
|
order: mergedFilter.order,
|
|
106
44
|
})
|
|
107
45
|
: undefined;
|
|
108
|
-
// Calculate limit and offset
|
|
109
46
|
const limit = isFindOne ? 1 : mergedFilter.limit;
|
|
110
47
|
const offset = mergedFilter.skip ?? mergedFilter.offset;
|
|
111
|
-
//
|
|
112
|
-
// Type assertion to PgTable is safe: EntitySchema extends TTableSchemaWithId which extends PgTable
|
|
48
|
+
// Safe cast: EntitySchema extends TTableSchemaWithId which extends PgTable
|
|
113
49
|
const table = schema;
|
|
114
50
|
const connector = this.resolveConnector({ transaction: options?.transaction });
|
|
115
|
-
// Select only visible properties (excludes hidden properties at SQL level)
|
|
116
51
|
const visibleProps = this.getVisibleProperties();
|
|
117
52
|
let query = visibleProps
|
|
118
53
|
? connector.select(visibleProps).from(table).$dynamic()
|
|
@@ -131,48 +66,27 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
131
66
|
}
|
|
132
67
|
return query;
|
|
133
68
|
}
|
|
134
|
-
/**
|
|
135
|
-
* Executes a query using the Drizzle Query API (supports relations and field selection).
|
|
136
|
-
*
|
|
137
|
-
* @template R - Return type (defaults to DataObject)
|
|
138
|
-
* @param opts - Query options
|
|
139
|
-
* @param opts.filter - Filter configuration (should already have default filter applied)
|
|
140
|
-
* @param opts.options - Extra options (transaction, logging)
|
|
141
|
-
* @returns Promise resolving to array of results
|
|
142
|
-
*/
|
|
69
|
+
/** Executes a query using Drizzle Query API (supports relations and field selection). */
|
|
143
70
|
async findWithQueryAPI(opts) {
|
|
144
71
|
const queryOptions = this.buildQuery({ filter: opts.filter });
|
|
145
72
|
const queryInterface = this.getQueryInterface({ options: opts.options });
|
|
146
73
|
return queryInterface.findMany(queryOptions);
|
|
147
74
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Finds all records matching the filter.
|
|
150
|
-
* Automatically selects Core API or Query API based on filter complexity.
|
|
151
|
-
* When shouldQueryRange is true, also returns range information (from, to, total).
|
|
152
|
-
*
|
|
153
|
-
* @template R - Return type (defaults to DataObject)
|
|
154
|
-
* @param opts - Options containing filter and extra options
|
|
155
|
-
* @returns Promise resolving to array of matching records or object with data and range
|
|
156
|
-
*/
|
|
75
|
+
/** Auto-selects Core API or Query API based on filter complexity. */
|
|
157
76
|
async find(opts) {
|
|
158
77
|
const { filter, options } = opts;
|
|
159
78
|
const shouldQueryRange = options?.shouldQueryRange === true;
|
|
160
|
-
// Apply default filter once for all operations
|
|
161
79
|
const mergedFilter = this.applyDefaultFilter({
|
|
162
80
|
userFilter: filter,
|
|
163
81
|
shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
|
|
164
82
|
});
|
|
165
|
-
// Prevent double-application in delegated methods
|
|
166
83
|
const effectiveOptions = { ...options, shouldSkipDefaultFilter: true };
|
|
167
|
-
// Prepare data fetch based on filter complexity
|
|
168
84
|
const dataPromise = this.canUseCoreAPI(mergedFilter)
|
|
169
85
|
? this.findWithCoreAPI({ filter: mergedFilter, options: effectiveOptions })
|
|
170
86
|
: this.findWithQueryAPI({ filter: mergedFilter, options: effectiveOptions });
|
|
171
|
-
// Return data directly if range not requested
|
|
172
87
|
if (!shouldQueryRange) {
|
|
173
88
|
return dataPromise;
|
|
174
89
|
}
|
|
175
|
-
// Run data fetch and count in parallel for better performance
|
|
176
90
|
const [data, { count: total }] = await Promise.all([
|
|
177
91
|
dataPromise,
|
|
178
92
|
this.count({ where: mergedFilter.where ?? {}, options: effectiveOptions }),
|
|
@@ -185,14 +99,7 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
185
99
|
range: { start, end, total },
|
|
186
100
|
};
|
|
187
101
|
}
|
|
188
|
-
/**
|
|
189
|
-
* Finds the first record matching the filter.
|
|
190
|
-
* Automatically selects Core API or Query API based on filter complexity.
|
|
191
|
-
*
|
|
192
|
-
* @template R - Return type (defaults to DataObject)
|
|
193
|
-
* @param opts - Options containing filter and extra options
|
|
194
|
-
* @returns Promise resolving to the found record or null
|
|
195
|
-
*/
|
|
102
|
+
/** Auto-selects Core API or Query API based on filter complexity. */
|
|
196
103
|
async findOne(opts) {
|
|
197
104
|
// Use Core API for flat queries (no relations, no field selection)
|
|
198
105
|
if (this.canUseCoreAPI(opts.filter)) {
|
|
@@ -214,14 +121,7 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
214
121
|
const result = await queryInterface.findFirst(queryOptions);
|
|
215
122
|
return (result ?? null);
|
|
216
123
|
}
|
|
217
|
-
/**
|
|
218
|
-
* Finds a record by its ID.
|
|
219
|
-
* Delegates to findOne with id in the where clause.
|
|
220
|
-
*
|
|
221
|
-
* @template R - Return type (defaults to DataObject)
|
|
222
|
-
* @param opts - Options containing id and optional filter (without where)
|
|
223
|
-
* @returns Promise resolving to the found record or null
|
|
224
|
-
*/
|
|
124
|
+
/** Delegates to findOne with id in the where clause. */
|
|
225
125
|
findById(opts) {
|
|
226
126
|
return this.findOne({
|
|
227
127
|
filter: {
|
|
@@ -231,16 +131,6 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
231
131
|
options: opts.options,
|
|
232
132
|
});
|
|
233
133
|
}
|
|
234
|
-
// ---------------------------------------------------------------------------
|
|
235
|
-
// Public Read Operations - Aggregate
|
|
236
|
-
// ---------------------------------------------------------------------------
|
|
237
|
-
/**
|
|
238
|
-
* Counts records matching the where condition.
|
|
239
|
-
* Applies default filter if configured.
|
|
240
|
-
*
|
|
241
|
-
* @param opts - Options containing where condition
|
|
242
|
-
* @returns Promise resolving to count result
|
|
243
|
-
*/
|
|
244
134
|
async count(opts) {
|
|
245
135
|
// Apply default filter's where condition
|
|
246
136
|
const mergedFilter = this.applyDefaultFilter({
|
|
@@ -256,12 +146,6 @@ class ReadableRepository extends abstract_1.AbstractRepository {
|
|
|
256
146
|
const count = await connector.$count(this.entity.schema, where);
|
|
257
147
|
return { count };
|
|
258
148
|
}
|
|
259
|
-
/**
|
|
260
|
-
* Checks if any records exist matching the where condition.
|
|
261
|
-
*
|
|
262
|
-
* @param opts - Options containing where condition
|
|
263
|
-
* @returns Promise resolving to true if records exist, false otherwise
|
|
264
|
-
*/
|
|
265
149
|
async existsWith(opts) {
|
|
266
150
|
const rs = await this.count(opts);
|
|
267
151
|
return rs.count > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":";;;AAEA,0DAAqE;AAErE,sCAOmB;AACnB,yCAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/readable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { IdType, TTableInsert, TTableObject, TTableSchemaWithId } from '../../../base/models';
|
|
2
|
+
import { TNullable } from '@venizia/ignis-helpers';
|
|
3
|
+
import { AnyPgColumn } from 'drizzle-orm/pg-core';
|
|
4
|
+
import { IExtraOptions, TCount, TFilter, TWhere } from '../common';
|
|
5
|
+
import { DefaultCRUDRepository } from './default-crud';
|
|
6
|
+
export type TDeletedAtColumn = AnyPgColumn<{
|
|
7
|
+
data: Date | null;
|
|
8
|
+
}>;
|
|
9
|
+
export type TSoftDeletableTableSchema = TTableSchemaWithId & {
|
|
10
|
+
deletedAt: TDeletedAtColumn;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Soft-deletable repository that overrides delete operations to set deletedAt timestamp
|
|
14
|
+
* instead of physically removing records from the database.
|
|
15
|
+
*
|
|
16
|
+
* Models using this repository should:
|
|
17
|
+
* - Have a `deletedAt` column (Date | null)
|
|
18
|
+
* - Set `defaultFilter: { where: { deletedAt: null } }` in @model settings
|
|
19
|
+
* - Include `deletedAt` in `hiddenProperties` if you don't want to expose it
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* @model({
|
|
24
|
+
* settings: {
|
|
25
|
+
* hiddenProperties: ['deletedAt'],
|
|
26
|
+
* defaultFilter: { where: { deletedAt: null } },
|
|
27
|
+
* },
|
|
28
|
+
* })
|
|
29
|
+
* export class Category extends BaseEntity<typeof Category.schema> {
|
|
30
|
+
* static schema = pgTable('Category', {
|
|
31
|
+
* ...withTimestamps(),
|
|
32
|
+
* ...withSoftDelete(),
|
|
33
|
+
* });
|
|
34
|
+
* }
|
|
35
|
+
*
|
|
36
|
+
* @repository({ dataSource: PostgresDataSource, model: Category })
|
|
37
|
+
* export class CategoryRepository extends SoftDeletableRepository<typeof Category.schema> {}
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class SoftDeletableRepository<EntitySchema extends TSoftDeletableTableSchema = TSoftDeletableTableSchema, DataObject extends TTableObject<EntitySchema> = TTableObject<EntitySchema>, PersistObject extends TTableInsert<EntitySchema> = TTableInsert<EntitySchema>, ExtraOptions extends IExtraOptions = IExtraOptions> extends DefaultCRUDRepository<EntitySchema, DataObject, PersistObject, ExtraOptions> {
|
|
41
|
+
findById<R = DataObject>(opts: {
|
|
42
|
+
id: IdType;
|
|
43
|
+
filter?: Omit<TFilter<DataObject>, 'where'>;
|
|
44
|
+
options?: ExtraOptions & {
|
|
45
|
+
isStrict?: false;
|
|
46
|
+
};
|
|
47
|
+
}): Promise<TNullable<R>>;
|
|
48
|
+
findById<R = DataObject>(opts: {
|
|
49
|
+
id: IdType;
|
|
50
|
+
filter?: Omit<TFilter<DataObject>, 'where'>;
|
|
51
|
+
options?: ExtraOptions & {
|
|
52
|
+
isStrict?: true;
|
|
53
|
+
};
|
|
54
|
+
}): Promise<R>;
|
|
55
|
+
deleteById(opts: {
|
|
56
|
+
id: IdType;
|
|
57
|
+
options: ExtraOptions & {
|
|
58
|
+
shouldReturn: false;
|
|
59
|
+
shouldHardDelete?: boolean;
|
|
60
|
+
};
|
|
61
|
+
}): Promise<TCount & {
|
|
62
|
+
data: undefined | null;
|
|
63
|
+
}>;
|
|
64
|
+
deleteById<R = DataObject>(opts: {
|
|
65
|
+
id: IdType;
|
|
66
|
+
options?: ExtraOptions & {
|
|
67
|
+
shouldReturn?: true;
|
|
68
|
+
shouldHardDelete?: boolean;
|
|
69
|
+
};
|
|
70
|
+
}): Promise<TCount & {
|
|
71
|
+
data: R;
|
|
72
|
+
}>;
|
|
73
|
+
deleteAll(opts: {
|
|
74
|
+
where?: TWhere<DataObject>;
|
|
75
|
+
options: ExtraOptions & {
|
|
76
|
+
shouldReturn: false;
|
|
77
|
+
force?: boolean;
|
|
78
|
+
shouldHardDelete?: boolean;
|
|
79
|
+
};
|
|
80
|
+
}): Promise<TCount & {
|
|
81
|
+
data: undefined | null;
|
|
82
|
+
}>;
|
|
83
|
+
deleteAll<R = DataObject>(opts: {
|
|
84
|
+
where?: TWhere<DataObject>;
|
|
85
|
+
options?: ExtraOptions & {
|
|
86
|
+
shouldReturn?: true;
|
|
87
|
+
force?: boolean;
|
|
88
|
+
shouldHardDelete?: boolean;
|
|
89
|
+
};
|
|
90
|
+
}): Promise<TCount & {
|
|
91
|
+
data: Array<R>;
|
|
92
|
+
}>;
|
|
93
|
+
deleteBy(opts: {
|
|
94
|
+
where: TWhere<DataObject>;
|
|
95
|
+
options: ExtraOptions & {
|
|
96
|
+
shouldReturn: false;
|
|
97
|
+
force?: boolean;
|
|
98
|
+
shouldHardDelete?: boolean;
|
|
99
|
+
};
|
|
100
|
+
}): Promise<TCount & {
|
|
101
|
+
data: undefined | null;
|
|
102
|
+
}>;
|
|
103
|
+
deleteBy<R = DataObject>(opts: {
|
|
104
|
+
where: TWhere<DataObject>;
|
|
105
|
+
options?: ExtraOptions & {
|
|
106
|
+
shouldReturn?: true;
|
|
107
|
+
force?: boolean;
|
|
108
|
+
shouldHardDelete?: boolean;
|
|
109
|
+
};
|
|
110
|
+
}): Promise<TCount & {
|
|
111
|
+
data: Array<R>;
|
|
112
|
+
}>;
|
|
113
|
+
restoreById<R = DataObject>(opts: {
|
|
114
|
+
id: IdType;
|
|
115
|
+
options?: ExtraOptions & {
|
|
116
|
+
shouldReturn?: boolean;
|
|
117
|
+
};
|
|
118
|
+
}): Promise<TCount & {
|
|
119
|
+
data: TNullable<R>;
|
|
120
|
+
}>;
|
|
121
|
+
restoreAll<R = DataObject>(opts: {
|
|
122
|
+
where?: TWhere<DataObject>;
|
|
123
|
+
options?: ExtraOptions & {
|
|
124
|
+
shouldReturn?: boolean;
|
|
125
|
+
force?: boolean;
|
|
126
|
+
};
|
|
127
|
+
}): Promise<TCount & {
|
|
128
|
+
data: TNullable<Array<R>>;
|
|
129
|
+
}>;
|
|
130
|
+
restoreBy<R = DataObject>(opts: {
|
|
131
|
+
where: TWhere<DataObject>;
|
|
132
|
+
options?: ExtraOptions & {
|
|
133
|
+
shouldReturn?: boolean;
|
|
134
|
+
force?: boolean;
|
|
135
|
+
};
|
|
136
|
+
}): Promise<TCount & {
|
|
137
|
+
data: TNullable<Array<R>>;
|
|
138
|
+
}>;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=soft-deletable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"soft-deletable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/soft-deletable.ts"],"names":[],"mappings":"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"}
|