zibri 2.4.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/application.d.ts.map +1 -1
- package/dist/cjs/application.js +8 -2
- package/dist/cjs/application.js.map +1 -1
- package/dist/cjs/auth/encryption/encryption-key.model.d.ts +5 -1
- package/dist/cjs/auth/encryption/encryption-key.model.d.ts.map +1 -1
- package/dist/cjs/auth/encryption/encryption-key.model.js +9 -1
- package/dist/cjs/auth/encryption/encryption-key.model.js.map +1 -1
- package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts +5 -1
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js +9 -1
- package/dist/cjs/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.d.ts.map +1 -1
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js +2 -1
- package/dist/cjs/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
- package/dist/cjs/backup/backup-resource-entity.model.d.ts +5 -1
- package/dist/cjs/backup/backup-resource-entity.model.d.ts.map +1 -1
- package/dist/cjs/backup/backup-resource-entity.model.js +9 -1
- package/dist/cjs/backup/backup-resource-entity.model.js.map +1 -1
- package/dist/cjs/backup/backup.service.js +2 -2
- package/dist/cjs/backup/backup.service.js.map +1 -1
- package/dist/cjs/caching/cache/base-cache.model.js.map +1 -1
- package/dist/cjs/caching/cache/multi-tier.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-aside/read-aside.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-through/read-through.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-through/write-around-read-through.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -1
- package/dist/cjs/caching/cache/read-through/write-through-read-through.cache.js.map +1 -1
- package/dist/cjs/change-sets/change-set-repository.d.ts +5 -3
- package/dist/cjs/change-sets/change-set-repository.d.ts.map +1 -1
- package/dist/cjs/change-sets/change-set-repository.js +16 -16
- package/dist/cjs/change-sets/change-set-repository.js.map +1 -1
- package/dist/cjs/change-sets/models/change-set-entity.model.d.ts +2 -2
- package/dist/cjs/change-sets/models/change-set-entity.model.d.ts.map +1 -1
- package/dist/cjs/change-sets/models/change-set-entity.model.js +29 -1
- package/dist/cjs/change-sets/models/change-set-entity.model.js.map +1 -1
- package/dist/cjs/change-sets/models/change-set.model.js +1 -1
- package/dist/cjs/change-sets/models/change-set.model.js.map +1 -1
- package/dist/cjs/change-sets/models/change.model.d.ts +5 -1
- package/dist/cjs/change-sets/models/change.model.d.ts.map +1 -1
- package/dist/cjs/change-sets/models/change.model.js +9 -1
- package/dist/cjs/change-sets/models/change.model.js.map +1 -1
- package/dist/cjs/change-sets/models/soft-delete-entity.model.d.ts +2 -2
- package/dist/cjs/change-sets/models/soft-delete-entity.model.d.ts.map +1 -1
- package/dist/cjs/change-sets/models/soft-delete-entity.model.js +26 -0
- package/dist/cjs/change-sets/models/soft-delete-entity.model.js.map +1 -1
- package/dist/cjs/change-sets/soft-delete-repository.d.ts +6 -5
- package/dist/cjs/change-sets/soft-delete-repository.d.ts.map +1 -1
- package/dist/cjs/change-sets/soft-delete-repository.js +22 -6
- package/dist/cjs/change-sets/soft-delete-repository.js.map +1 -1
- package/dist/cjs/context/als.utilities.d.ts +3 -3
- package/dist/cjs/context/als.utilities.d.ts.map +1 -1
- package/dist/cjs/context/als.utilities.js.map +1 -1
- package/dist/cjs/context/cache/cache.context.d.ts +27 -0
- package/dist/cjs/context/cache/cache.context.d.ts.map +1 -0
- package/dist/cjs/context/cache/cache.context.js +61 -0
- package/dist/cjs/context/cache/cache.context.js.map +1 -0
- package/dist/cjs/data-source/data-sources/data-source-initialization.error.d.ts +7 -0
- package/dist/cjs/data-source/data-sources/data-source-initialization.error.d.ts.map +1 -0
- package/dist/cjs/data-source/data-sources/data-source-initialization.error.js +14 -0
- package/dist/cjs/data-source/data-sources/data-source-initialization.error.js.map +1 -0
- package/dist/cjs/data-source/data-sources/data-source.interface.d.ts +9 -1
- package/dist/cjs/data-source/data-sources/data-source.interface.d.ts.map +1 -1
- package/dist/cjs/data-source/data-sources/data-source.interface.js.map +1 -1
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts +44 -0
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.d.ts.map +1 -0
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js +289 -0
- package/dist/cjs/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -0
- package/dist/cjs/data-source/data-sources/sql-data-source.interface.d.ts +32 -0
- package/dist/cjs/data-source/data-sources/sql-data-source.interface.d.ts.map +1 -0
- package/dist/cjs/{entity/models/one-to-one-property-metadata.model.js → data-source/data-sources/sql-data-source.interface.js} +1 -1
- package/dist/cjs/data-source/data-sources/sql-data-source.interface.js.map +1 -0
- package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts +156 -0
- package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.d.ts.map +1 -0
- package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js +378 -0
- package/dist/cjs/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -0
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts +25 -0
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.d.ts.map +1 -0
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +353 -0
- package/dist/cjs/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -0
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts +70 -0
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.d.ts.map +1 -0
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +248 -0
- package/dist/cjs/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -0
- package/dist/cjs/data-source/models/options/count-options.model.d.ts +2 -7
- package/dist/cjs/data-source/models/options/count-options.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/options/delete-all-options.model.d.ts +2 -4
- package/dist/cjs/data-source/models/options/delete-all-options.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/options/find-all-options.model.d.ts +2 -2
- package/dist/cjs/data-source/models/options/find-all-options.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/options/find-by-id-options.model.d.ts +1 -6
- package/dist/cjs/data-source/models/options/find-by-id-options.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/options/find-one-options.model.d.ts +2 -11
- package/dist/cjs/data-source/models/options/find-one-options.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/options/update-all-options.model.d.ts +1 -7
- package/dist/cjs/data-source/models/options/update-all-options.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/options/update-by-id-options.model.d.ts +1 -7
- package/dist/cjs/data-source/models/options/update-by-id-options.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/array-where-filter.model.d.ts +142 -3
- package/dist/cjs/data-source/models/where/array-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/base-where-filter.model.d.ts +18 -1
- package/dist/cjs/data-source/models/where/base-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/boolean-where-filter.model.d.ts +4 -2
- package/dist/cjs/data-source/models/where/boolean-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts +8 -15
- package/dist/cjs/data-source/models/where/date-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts +8 -15
- package/dist/cjs/data-source/models/where/number-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/object-where-filter.model.d.ts +52 -7
- package/dist/cjs/data-source/models/where/object-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts +8 -15
- package/dist/cjs/data-source/models/where/string-where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts +46 -0
- package/dist/cjs/data-source/models/where/where-filter-keys.model.d.ts.map +1 -0
- package/dist/cjs/data-source/models/where/where-filter-keys.model.js +36 -0
- package/dist/cjs/data-source/models/where/where-filter-keys.model.js.map +1 -0
- package/dist/cjs/data-source/models/where/where-filter.model.d.ts +2 -2
- package/dist/cjs/data-source/models/where/where-filter.model.d.ts.map +1 -1
- package/dist/cjs/data-source/query-failed.error.js +27 -1
- package/dist/cjs/data-source/query-failed.error.js.map +1 -1
- package/dist/cjs/data-source/repository.d.ts +8 -3
- package/dist/cjs/data-source/repository.d.ts.map +1 -1
- package/dist/cjs/data-source/repository.js +42 -16
- package/dist/cjs/data-source/repository.js.map +1 -1
- package/dist/cjs/di/decorators/inject-repository.decorator.d.ts +2 -2
- package/dist/cjs/di/decorators/inject-repository.decorator.d.ts.map +1 -1
- package/dist/cjs/di/decorators/inject-repository.decorator.js.map +1 -1
- package/dist/cjs/di/default/zibri-di-tokens.default.d.ts +2 -2
- package/dist/cjs/di/default/zibri-di-tokens.default.d.ts.map +1 -1
- package/dist/cjs/di/default/zibri-di-tokens.default.js.map +1 -1
- package/dist/cjs/email/email.service.d.ts +2 -2
- package/dist/cjs/email/email.service.d.ts.map +1 -1
- package/dist/cjs/email/email.service.js +4 -6
- package/dist/cjs/email/email.service.js.map +1 -1
- package/dist/cjs/email/models/email.model.js +1 -1
- package/dist/cjs/email/models/email.model.js.map +1 -1
- package/dist/cjs/entity/decorators/entity.decorator.d.ts +28 -1
- package/dist/cjs/entity/decorators/entity.decorator.d.ts.map +1 -1
- package/dist/cjs/entity/decorators/entity.decorator.js +6 -3
- package/dist/cjs/entity/decorators/entity.decorator.js.map +1 -1
- package/dist/cjs/entity/decorators/property.decorator.d.ts +5 -8
- package/dist/cjs/entity/decorators/property.decorator.d.ts.map +1 -1
- package/dist/cjs/entity/decorators/property.decorator.js +34 -20
- package/dist/cjs/entity/decorators/property.decorator.js.map +1 -1
- package/dist/cjs/entity/entity-metadata-missing.error.d.ts +9 -0
- package/dist/cjs/entity/entity-metadata-missing.error.d.ts.map +1 -0
- package/dist/cjs/entity/entity-metadata-missing.error.js +17 -0
- package/dist/cjs/entity/entity-metadata-missing.error.js.map +1 -0
- package/dist/cjs/entity/models/base-relation-metadata.model.d.ts +1 -1
- package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.d.ts +28 -0
- package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.d.ts.map +1 -0
- package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.js +3 -0
- package/dist/cjs/entity/models/belongs-to-one-property-metadata.model.js.map +1 -0
- package/dist/cjs/entity/models/has-one-property-metadata.model.d.ts +18 -0
- package/dist/cjs/entity/models/has-one-property-metadata.model.d.ts.map +1 -0
- package/dist/{esm/entity/models/one-to-one-property-metadata.model.js → cjs/entity/models/has-one-property-metadata.model.js} +1 -1
- package/dist/cjs/entity/models/has-one-property-metadata.model.js.map +1 -0
- package/dist/cjs/entity/models/many-to-many-property-metadata.model.d.ts +3 -3
- package/dist/cjs/entity/models/many-to-many-property-metadata.model.d.ts.map +1 -1
- package/dist/cjs/entity/models/many-to-one-property-metadata.model.d.ts +11 -1
- package/dist/cjs/entity/models/many-to-one-property-metadata.model.d.ts.map +1 -1
- package/dist/cjs/entity/models/relation.enum.d.ts +2 -1
- package/dist/cjs/entity/models/relation.enum.d.ts.map +1 -1
- package/dist/cjs/entity/models/relation.enum.js +2 -1
- package/dist/cjs/entity/models/relation.enum.js.map +1 -1
- package/dist/cjs/entity/partial-class.model.js +1 -1
- package/dist/cjs/entity/partial-class.model.js.map +1 -1
- package/dist/cjs/event/event-cleanup.cron-job.d.ts.map +1 -1
- package/dist/cjs/event/event-cleanup.cron-job.js +4 -6
- package/dist/cjs/event/event-cleanup.cron-job.js.map +1 -1
- package/dist/cjs/event/event-subscriber-run.model.d.ts +6 -8
- package/dist/cjs/event/event-subscriber-run.model.d.ts.map +1 -1
- package/dist/cjs/event/event-subscriber-run.model.js +10 -17
- package/dist/cjs/event/event-subscriber-run.model.js.map +1 -1
- package/dist/cjs/event/event.model.js +1 -1
- package/dist/cjs/event/event.model.js.map +1 -1
- package/dist/cjs/event/event.service.d.ts.map +1 -1
- package/dist/cjs/event/event.service.js +6 -3
- package/dist/cjs/event/event.service.js.map +1 -1
- package/dist/cjs/global/model-registry/default-descriptor.d.ts.map +1 -1
- package/dist/cjs/global/model-registry/default-descriptor.js +2 -1
- package/dist/cjs/global/model-registry/default-descriptor.js.map +1 -1
- package/dist/cjs/global/model-registry/encryption-descriptor.d.ts.map +1 -1
- package/dist/cjs/global/model-registry/encryption-descriptor.js +2 -1
- package/dist/cjs/global/model-registry/encryption-descriptor.js.map +1 -1
- package/dist/cjs/global/model-registry/exclude-descriptor.d.ts.map +1 -1
- package/dist/cjs/global/model-registry/exclude-descriptor.js +2 -1
- package/dist/cjs/global/model-registry/exclude-descriptor.js.map +1 -1
- package/dist/cjs/global/model-registry/hash-descriptor.d.ts.map +1 -1
- package/dist/cjs/global/model-registry/hash-descriptor.js +2 -1
- package/dist/cjs/global/model-registry/hash-descriptor.js.map +1 -1
- package/dist/cjs/index.d.ts +12 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +12 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logging/log-context.model.d.ts +2 -27
- package/dist/cjs/logging/log-context.model.d.ts.map +1 -1
- package/dist/cjs/logging/log-context.model.js +3 -49
- package/dist/cjs/logging/log-context.model.js.map +1 -1
- package/dist/cjs/open-api/open-api.service.d.ts.map +1 -1
- package/dist/cjs/open-api/open-api.service.js +20 -11
- package/dist/cjs/open-api/open-api.service.js.map +1 -1
- package/dist/cjs/parsing/form-data/form-data.body-parser.d.ts.map +1 -1
- package/dist/cjs/parsing/form-data/form-data.body-parser.js +2 -1
- package/dist/cjs/parsing/form-data/form-data.body-parser.js.map +1 -1
- package/dist/cjs/parsing/functions/parse-boolean.function.d.ts.map +1 -1
- package/dist/cjs/parsing/functions/parse-boolean.function.js.map +1 -1
- package/dist/cjs/parsing/functions/parse-object.function.d.ts.map +1 -1
- package/dist/cjs/parsing/functions/parse-object.function.js +2 -1
- package/dist/cjs/parsing/functions/parse-object.function.js.map +1 -1
- package/dist/cjs/parsing/parser.d.ts.map +1 -1
- package/dist/cjs/parsing/parser.js +2 -1
- package/dist/cjs/parsing/parser.js.map +1 -1
- package/dist/cjs/routing/decorators/body.decorator.js +2 -1
- package/dist/cjs/routing/decorators/body.decorator.js.map +1 -1
- package/dist/cjs/routing/resolve-route-params.function.js +1 -1
- package/dist/cjs/routing/resolve-route-params.function.js.map +1 -1
- package/dist/cjs/routing/router.d.ts.map +1 -1
- package/dist/cjs/routing/router.js +38 -2
- package/dist/cjs/routing/router.js.map +1 -1
- package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts +1 -0
- package/dist/cjs/utilities/metadata-injection-keys.enum.d.ts.map +1 -1
- package/dist/cjs/utilities/metadata-injection-keys.enum.js +1 -0
- package/dist/cjs/utilities/metadata-injection-keys.enum.js.map +1 -1
- package/dist/cjs/utilities/typeorm.utilities.d.ts +39 -0
- package/dist/cjs/utilities/typeorm.utilities.d.ts.map +1 -0
- package/dist/cjs/utilities/typeorm.utilities.js +47 -0
- package/dist/cjs/utilities/typeorm.utilities.js.map +1 -0
- package/dist/cjs/validation/validation-problem.model.d.ts.map +1 -1
- package/dist/cjs/validation/validation-problem.model.js +4 -7
- package/dist/cjs/validation/validation-problem.model.js.map +1 -1
- package/dist/cjs/validation/validation.service.d.ts.map +1 -1
- package/dist/cjs/validation/validation.service.js +6 -4
- package/dist/cjs/validation/validation.service.js.map +1 -1
- package/dist/cjs/websocket/models/websocket-message.model.js +1 -1
- package/dist/cjs/websocket/models/websocket-message.model.js.map +1 -1
- package/dist/cjs/websocket/models/websocket-request.model.d.ts +5 -11
- package/dist/cjs/websocket/models/websocket-request.model.d.ts.map +1 -1
- package/dist/cjs/websocket/models/websocket-request.model.js.map +1 -1
- package/dist/cjs/websocket/services/websocket.service.d.ts.map +1 -1
- package/dist/cjs/websocket/services/websocket.service.js +1 -2
- package/dist/cjs/websocket/services/websocket.service.js.map +1 -1
- package/dist/esm/application.js +8 -2
- package/dist/esm/application.js.map +1 -1
- package/dist/esm/auth/encryption/encryption-key.model.js +9 -1
- package/dist/esm/auth/encryption/encryption-key.model.js.map +1 -1
- package/dist/esm/auth/strategies/cookie/cookie-auth.auth-strategy.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js +9 -1
- package/dist/esm/auth/strategies/jwt/jwt-credentials.model.js.map +1 -1
- package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js +2 -1
- package/dist/esm/auth/strategies/jwt/jwt.auth-strategy.js.map +1 -1
- package/dist/esm/backup/backup-resource-entity.model.js +9 -1
- package/dist/esm/backup/backup-resource-entity.model.js.map +1 -1
- package/dist/esm/backup/backup.service.js +2 -2
- package/dist/esm/backup/backup.service.js.map +1 -1
- package/dist/esm/caching/cache/base-cache.model.js.map +1 -1
- package/dist/esm/caching/cache/multi-tier.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-aside/read-aside.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-aside/write-around-read-aside.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-aside/write-behind-read-aside.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-aside/write-through-read-aside.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-through/read-through.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-through/write-around-read-through.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-through/write-behind-read-through.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-through/write-invalidate-read-through-args-only.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-through/write-invalidate-read-through-with-result.cache.js.map +1 -1
- package/dist/esm/caching/cache/read-through/write-through-read-through.cache.js.map +1 -1
- package/dist/esm/change-sets/change-set-repository.js +16 -16
- package/dist/esm/change-sets/change-set-repository.js.map +1 -1
- package/dist/esm/change-sets/models/change-set-entity.model.js +29 -1
- package/dist/esm/change-sets/models/change-set-entity.model.js.map +1 -1
- package/dist/esm/change-sets/models/change-set.model.js +1 -1
- package/dist/esm/change-sets/models/change-set.model.js.map +1 -1
- package/dist/esm/change-sets/models/change.model.js +9 -1
- package/dist/esm/change-sets/models/change.model.js.map +1 -1
- package/dist/esm/change-sets/models/soft-delete-entity.model.js +26 -0
- package/dist/esm/change-sets/models/soft-delete-entity.model.js.map +1 -1
- package/dist/esm/change-sets/soft-delete-repository.js +22 -6
- package/dist/esm/change-sets/soft-delete-repository.js.map +1 -1
- package/dist/esm/context/als.utilities.js.map +1 -1
- package/dist/esm/context/cache/cache.context.js +61 -0
- package/dist/esm/context/cache/cache.context.js.map +1 -0
- package/dist/esm/data-source/data-sources/data-source-initialization.error.js +14 -0
- package/dist/esm/data-source/data-sources/data-source-initialization.error.js.map +1 -0
- package/dist/esm/data-source/data-sources/data-source.interface.js.map +1 -1
- package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js +289 -0
- package/dist/esm/data-source/data-sources/postgres-typeorm-data-source.model.js.map +1 -0
- package/dist/esm/data-source/data-sources/sql-data-source.interface.js +3 -0
- package/dist/esm/data-source/data-sources/sql-data-source.interface.js.map +1 -0
- package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js +378 -0
- package/dist/esm/data-source/data-sources/typeorm-base-data-source.model.js.map +1 -0
- package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js +353 -0
- package/dist/esm/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.js.map +1 -0
- package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js +248 -0
- package/dist/esm/data-source/data-sources/where-converter/typeorm-where-filter.converter.js.map +1 -0
- package/dist/esm/data-source/models/where/where-filter-keys.model.js +36 -0
- package/dist/esm/data-source/models/where/where-filter-keys.model.js.map +1 -0
- package/dist/esm/data-source/query-failed.error.js +27 -1
- package/dist/esm/data-source/query-failed.error.js.map +1 -1
- package/dist/esm/data-source/repository.js +42 -16
- package/dist/esm/data-source/repository.js.map +1 -1
- package/dist/esm/di/decorators/inject-repository.decorator.js.map +1 -1
- package/dist/esm/di/default/zibri-di-tokens.default.js.map +1 -1
- package/dist/esm/email/email.service.js +4 -6
- package/dist/esm/email/email.service.js.map +1 -1
- package/dist/esm/email/models/email.model.js +1 -1
- package/dist/esm/email/models/email.model.js.map +1 -1
- package/dist/esm/entity/decorators/entity.decorator.js +6 -3
- package/dist/esm/entity/decorators/entity.decorator.js.map +1 -1
- package/dist/esm/entity/decorators/property.decorator.js +34 -20
- package/dist/esm/entity/decorators/property.decorator.js.map +1 -1
- package/dist/esm/entity/entity-metadata-missing.error.js +17 -0
- package/dist/esm/entity/entity-metadata-missing.error.js.map +1 -0
- package/dist/esm/entity/models/belongs-to-one-property-metadata.model.js +3 -0
- package/dist/esm/entity/models/belongs-to-one-property-metadata.model.js.map +1 -0
- package/dist/esm/entity/models/has-one-property-metadata.model.js +3 -0
- package/dist/esm/entity/models/has-one-property-metadata.model.js.map +1 -0
- package/dist/esm/entity/models/relation.enum.js +2 -1
- package/dist/esm/entity/models/relation.enum.js.map +1 -1
- package/dist/esm/entity/partial-class.model.js +1 -1
- package/dist/esm/entity/partial-class.model.js.map +1 -1
- package/dist/esm/event/event-cleanup.cron-job.js +4 -6
- package/dist/esm/event/event-cleanup.cron-job.js.map +1 -1
- package/dist/esm/event/event-subscriber-run.model.js +10 -17
- package/dist/esm/event/event-subscriber-run.model.js.map +1 -1
- package/dist/esm/event/event.model.js +1 -1
- package/dist/esm/event/event.model.js.map +1 -1
- package/dist/esm/event/event.service.js +6 -3
- package/dist/esm/event/event.service.js.map +1 -1
- package/dist/esm/global/model-registry/default-descriptor.js +2 -1
- package/dist/esm/global/model-registry/default-descriptor.js.map +1 -1
- package/dist/esm/global/model-registry/encryption-descriptor.js +2 -1
- package/dist/esm/global/model-registry/encryption-descriptor.js.map +1 -1
- package/dist/esm/global/model-registry/exclude-descriptor.js +2 -1
- package/dist/esm/global/model-registry/exclude-descriptor.js.map +1 -1
- package/dist/esm/global/model-registry/hash-descriptor.js +2 -1
- package/dist/esm/global/model-registry/hash-descriptor.js.map +1 -1
- package/dist/esm/index.js +12 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logging/log-context.model.js +3 -49
- package/dist/esm/logging/log-context.model.js.map +1 -1
- package/dist/esm/open-api/open-api.service.js +20 -11
- package/dist/esm/open-api/open-api.service.js.map +1 -1
- package/dist/esm/parsing/form-data/form-data.body-parser.js +2 -1
- package/dist/esm/parsing/form-data/form-data.body-parser.js.map +1 -1
- package/dist/esm/parsing/functions/parse-boolean.function.js.map +1 -1
- package/dist/esm/parsing/functions/parse-object.function.js +2 -1
- package/dist/esm/parsing/functions/parse-object.function.js.map +1 -1
- package/dist/esm/parsing/parser.js +2 -1
- package/dist/esm/parsing/parser.js.map +1 -1
- package/dist/esm/routing/decorators/body.decorator.js +2 -1
- package/dist/esm/routing/decorators/body.decorator.js.map +1 -1
- package/dist/esm/routing/resolve-route-params.function.js +1 -1
- package/dist/esm/routing/resolve-route-params.function.js.map +1 -1
- package/dist/esm/routing/router.js +38 -2
- package/dist/esm/routing/router.js.map +1 -1
- package/dist/esm/utilities/metadata-injection-keys.enum.js +1 -0
- package/dist/esm/utilities/metadata-injection-keys.enum.js.map +1 -1
- package/dist/esm/utilities/typeorm.utilities.js +47 -0
- package/dist/esm/utilities/typeorm.utilities.js.map +1 -0
- package/dist/esm/validation/validation-problem.model.js +4 -7
- package/dist/esm/validation/validation-problem.model.js.map +1 -1
- package/dist/esm/validation/validation.service.js +6 -4
- package/dist/esm/validation/validation.service.js.map +1 -1
- package/dist/esm/websocket/models/websocket-message.model.js +1 -1
- package/dist/esm/websocket/models/websocket-message.model.js.map +1 -1
- package/dist/esm/websocket/models/websocket-request.model.js.map +1 -1
- package/dist/esm/websocket/services/websocket.service.js +1 -2
- package/dist/esm/websocket/services/websocket.service.js.map +1 -1
- package/package.json +9 -9
- package/src/__testing__/mocks/entities/child.entity.ts +4 -1
- package/src/__testing__/mocks/entities/company.entity.ts +5 -2
- package/src/__testing__/mocks/entities/profile.entity.ts +5 -2
- package/src/__testing__/mocks/entities/role.entity.ts +1 -1
- package/src/__testing__/mocks/entities/user.entity.ts +1 -1
- package/src/__testing__/test-server/create-test-data-source.function.ts +5 -5
- package/src/__testing__/test-server/start-test-server.function.ts +8 -6
- package/src/__testing__/test-server/user-repository.ts +4 -3
- package/src/application.ts +8 -2
- package/src/auth/2fa/two-factor.service.test.ts +151 -0
- package/src/auth/auth.service.test.ts +381 -0
- package/src/auth/encryption/encryption-key.model.ts +7 -2
- package/src/auth/strategies/cookie/cookie-auth.auth-strategy.ts +3 -2
- package/src/auth/strategies/jwt/jwt-credentials.model.ts +7 -1
- package/src/auth/strategies/jwt/jwt.auth-strategy.ts +5 -3
- package/src/backup/backup-resource-entity.model.ts +7 -2
- package/src/backup/backup-service.test.ts +1 -1
- package/src/backup/backup.service.ts +1 -1
- package/src/caching/cache/base-cache.model.ts +3 -3
- package/src/caching/cache/multi-tier.cache.ts +3 -3
- package/src/caching/cache/read-aside/read-aside.cache.ts +2 -2
- package/src/caching/cache/read-aside/write-around-read-aside.cache.ts +2 -2
- package/src/caching/cache/read-aside/write-behind-read-aside.cache.ts +2 -2
- package/src/caching/cache/read-aside/write-invalidate-read-aside-args-only.cache.ts +2 -2
- package/src/caching/cache/read-aside/write-invalidate-read-aside-with-result.cache.ts +2 -2
- package/src/caching/cache/read-aside/write-through-read-aside.cache.ts +2 -2
- package/src/caching/cache/read-through/read-through.cache.ts +2 -2
- package/src/caching/cache/read-through/write-around-read-through.cache.ts +2 -2
- package/src/caching/cache/read-through/write-behind-read-through.cache.ts +2 -2
- package/src/caching/cache/read-through/write-invalidate-read-through-args-only.cache.ts +2 -2
- package/src/caching/cache/read-through/write-invalidate-read-through-with-result.cache.ts +2 -2
- package/src/caching/cache/read-through/write-through-read-through.cache.ts +2 -2
- package/src/change-sets/change-set-repository.test.ts +317 -0
- package/src/change-sets/change-set-repository.ts +17 -17
- package/src/change-sets/models/change-set-entity.model.ts +6 -4
- package/src/change-sets/models/change-set.model.ts +1 -1
- package/src/change-sets/models/change.model.ts +7 -2
- package/src/change-sets/models/soft-delete-entity.model.ts +5 -3
- package/src/change-sets/soft-delete-repository.test.ts +326 -0
- package/src/change-sets/soft-delete-repository.ts +29 -10
- package/src/context/als.utilities.ts +5 -5
- package/src/context/cache/cache.context.ts +33 -0
- package/src/cron/cron.test.ts +421 -0
- package/src/data-source/array-where-filter.test.ts +332 -0
- package/src/data-source/data-sources/data-source-initialization.error.ts +9 -0
- package/src/data-source/data-sources/data-source.interface.ts +14 -1
- package/src/data-source/data-sources/postgres-typeorm-data-source.model.ts +330 -0
- package/src/data-source/data-sources/sql-data-source.interface.ts +35 -0
- package/src/data-source/data-sources/typeorm-base-data-source.model.ts +544 -0
- package/src/data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter.ts +451 -0
- package/src/data-source/data-sources/where-converter/typeorm-where-filter.converter.ts +376 -0
- package/src/data-source/exclude-property.test.ts +4 -1
- package/src/data-source/hooks/hooks.test.ts +268 -0
- package/src/data-source/migration/migration.test.ts +4 -3
- package/src/data-source/models/options/count-options.model.ts +2 -7
- package/src/data-source/models/options/delete-all-options.model.ts +2 -4
- package/src/data-source/models/options/find-all-options.model.ts +2 -2
- package/src/data-source/models/options/find-by-id-options.model.ts +1 -6
- package/src/data-source/models/options/find-one-options.model.ts +2 -11
- package/src/data-source/models/options/update-all-options.model.ts +2 -5
- package/src/data-source/models/options/update-by-id-options.model.ts +2 -5
- package/src/data-source/models/where/array-where-filter.model.ts +147 -5
- package/src/data-source/models/where/base-where-filter.model.ts +19 -1
- package/src/data-source/models/where/boolean-where-filter.model.ts +7 -2
- package/src/data-source/models/where/date-where-filter.model.ts +9 -16
- package/src/data-source/models/where/number-where-filter.model.ts +9 -16
- package/src/data-source/models/where/object-where-filter.model.ts +66 -7
- package/src/data-source/models/where/string-where-filter.model.ts +9 -16
- package/src/data-source/models/where/where-filter-keys.model.ts +88 -0
- package/src/data-source/models/where/where-filter-to-find-options-where-function.test.ts +35 -13
- package/src/data-source/models/where/where-filter.model.ts +7 -4
- package/src/data-source/nested-where-filter.test.ts +344 -0
- package/src/data-source/query-failed.error.ts +38 -1
- package/src/data-source/repository-relation-pitfalls.test.ts +232 -0
- package/src/data-source/repository.test.ts +274 -37
- package/src/data-source/repository.ts +50 -16
- package/src/data-source/transaction/transaction.test.ts +1 -1
- package/src/data-source/where-filter.test.ts +479 -0
- package/src/di/decorators/inject-repository.decorator.ts +3 -2
- package/src/di/default/zibri-di-tokens.default.ts +2 -2
- package/src/email/email.service.test.ts +382 -0
- package/src/email/email.service.ts +4 -5
- package/src/email/models/email.model.ts +1 -1
- package/src/entity/decorators/entity.decorator.ts +44 -5
- package/src/entity/decorators/property.decorator.ts +54 -36
- package/src/entity/entity-metadata-missing.error.ts +15 -0
- package/src/entity/models/base-relation-metadata.model.ts +1 -1
- package/src/entity/models/belongs-to-one-property-metadata.model.ts +34 -0
- package/src/entity/models/has-one-property-metadata.model.ts +20 -0
- package/src/entity/models/many-to-many-property-metadata.model.ts +3 -3
- package/src/entity/models/many-to-one-property-metadata.model.ts +17 -3
- package/src/entity/models/relation.enum.ts +2 -1
- package/src/entity/partial-class.model.ts +1 -1
- package/src/event/event-cleanup.cron-job.ts +4 -6
- package/src/event/event-subscriber-run.model.ts +8 -9
- package/src/event/event.model.ts +1 -1
- package/src/event/event.service.ts +6 -3
- package/src/global/model-registry/default-descriptor.ts +2 -1
- package/src/global/model-registry/encryption-descriptor.ts +2 -1
- package/src/global/model-registry/exclude-descriptor.ts +2 -1
- package/src/global/model-registry/hash-descriptor.ts +2 -1
- package/src/index.ts +15 -3
- package/src/logging/log-context.model.ts +3 -34
- package/src/open-api/open-api.service.ts +32 -13
- package/src/parsing/form-data/form-data.body-parser.ts +2 -1
- package/src/parsing/functions/parse-boolean.function.ts +0 -1
- package/src/parsing/functions/parse-object.function.ts +2 -1
- package/src/parsing/parser.ts +2 -1
- package/src/routing/decorators/body.decorator.ts +2 -1
- package/src/routing/resolve-route-params.function.ts +1 -1
- package/src/routing/router.ts +41 -7
- package/src/utilities/metadata-injection-keys.enum.ts +1 -0
- package/src/utilities/typeorm.utilities.ts +75 -0
- package/src/validation/validation-problem.model.ts +7 -9
- package/src/validation/validation.service.ts +6 -4
- package/src/websocket/models/websocket-message.model.ts +1 -1
- package/src/websocket/models/websocket-request.model.ts +17 -9
- package/src/websocket/services/websocket.service.ts +1 -2
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts +0 -129
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.d.ts.map +0 -1
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.js +0 -534
- package/dist/cjs/data-source/data-sources/postgres-data-source.model.js.map +0 -1
- package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.d.ts +0 -11
- package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.d.ts.map +0 -1
- package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js +0 -229
- package/dist/cjs/data-source/models/where/where-filter-to-find-options-where.function.js.map +0 -1
- package/dist/cjs/entity/models/one-to-one-property-metadata.model.d.ts +0 -30
- package/dist/cjs/entity/models/one-to-one-property-metadata.model.d.ts.map +0 -1
- package/dist/cjs/entity/models/one-to-one-property-metadata.model.js.map +0 -1
- package/dist/esm/data-source/data-sources/postgres-data-source.model.js +0 -534
- package/dist/esm/data-source/data-sources/postgres-data-source.model.js.map +0 -1
- package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js +0 -229
- package/dist/esm/data-source/models/where/where-filter-to-find-options-where.function.js.map +0 -1
- package/dist/esm/entity/models/one-to-one-property-metadata.model.js.map +0 -1
- package/src/data-source/data-sources/postgres-data-source.model.ts +0 -675
- package/src/data-source/models/where/where-filter-to-find-options-where.function.ts +0 -307
- package/src/entity/models/one-to-one-property-metadata.model.ts +0 -35
|
@@ -5,16 +5,16 @@ import { MetadataUtilities } from '../../utilities/metadata.utilities';
|
|
|
5
5
|
import { AnyObject } from '../any-object.model';
|
|
6
6
|
import type { BaseEntity } from '../base-entity.model';
|
|
7
7
|
import { ArrayPropertyMetadata, ArrayPropertyMetadataInput, ArrayPropertyItemMetadataInput, ArrayPropertyItemMetadata } from '../models/array-property-metadata.model';
|
|
8
|
-
import
|
|
8
|
+
import { BelongsToOnePropertyMetadata, BelongsToOnePropertyMetadataInput } from '../models/belongs-to-one-property-metadata.model';
|
|
9
9
|
import { BooleanPropertyMetadata, BooleanPropertyMetadataInput } from '../models/boolean-property-metadata.model';
|
|
10
10
|
import { DatePropertyMetadata, DatePropertyMetadataInput } from '../models/date-property-metadata.model';
|
|
11
11
|
import type { FilePropertyMetadata, FilePropertyMetadataInput } from '../models/file-property-metadata.model';
|
|
12
|
+
import { HasOnePropertyMetadata, HasOnePropertyMetadataInput } from '../models/has-one-property-metadata.model';
|
|
12
13
|
import { ManyToManyPropertyMetadata, ManyToManyPropertyMetadataInput } from '../models/many-to-many-property-metadata.model';
|
|
13
14
|
import { ManyToOnePropertyMetadata, ManyToOnePropertyMetadataInput } from '../models/many-to-one-property-metadata.model';
|
|
14
15
|
import { NumberPropertyMetadata, NumberPropertyMetadataInput } from '../models/number-property-metadata.model';
|
|
15
16
|
import { ObjectPropertyMetadata, ObjectPropertyMetadataInput } from '../models/object-property-metadata.model';
|
|
16
17
|
import { OneToManyPropertyMetadata, OneToManyPropertyMetadataInput } from '../models/one-to-many-property-metadata.model';
|
|
17
|
-
import { OneToOnePropertyMetadata, OneToOnePropertyMetadataInput, HasOnePropertyMetadataInput, BelongsToOnePropertyMetadataInput } from '../models/one-to-one-property-metadata.model';
|
|
18
18
|
import { Relation } from '../models/relation.enum';
|
|
19
19
|
import { StringPropertyMetadata, StringPropertyMetadataInput } from '../models/string-property-metadata.model';
|
|
20
20
|
import { UnknownPropertyMetadata, UnknownPropertyMetadataInput } from '../models/unknown-property-metadata.model';
|
|
@@ -38,7 +38,8 @@ export type PropertyMetadata = StringPropertyMetadata<any, any, any, any, any>
|
|
|
38
38
|
*/
|
|
39
39
|
export type RelationMetadata<T extends BaseEntity> = ManyToOnePropertyMetadata<T>
|
|
40
40
|
| OneToManyPropertyMetadata<T>
|
|
41
|
-
|
|
|
41
|
+
| HasOnePropertyMetadata<T>
|
|
42
|
+
| BelongsToOnePropertyMetadata<T>
|
|
42
43
|
| ManyToManyPropertyMetadata<T>;
|
|
43
44
|
|
|
44
45
|
/**
|
|
@@ -54,15 +55,14 @@ export type PropertyMetadataInput = StringPropertyMetadataInput<any, any, any, a
|
|
|
54
55
|
| BooleanPropertyMetadataInput
|
|
55
56
|
| UnknownPropertyMetadataInput;
|
|
56
57
|
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
export type RelationMetadataInput<T extends BaseEntity> = ManyToOnePropertyMetadataInput<T>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
| ManyToManyPropertyMetadataInput<T>;
|
|
58
|
+
// /**
|
|
59
|
+
// * The metadata input to define a relation property.
|
|
60
|
+
// */
|
|
61
|
+
// export type RelationMetadataInput<T extends BaseEntity> = ManyToOnePropertyMetadataInput<T>
|
|
62
|
+
// | OneToManyPropertyMetadataInput<T>
|
|
63
|
+
// | HasOnePropertyMetadataInput<T>
|
|
64
|
+
// | BelongsToOnePropertyMetadataInput<T>
|
|
65
|
+
// | ManyToManyPropertyMetadataInput<T>;
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* Bundles decorators for properties.
|
|
@@ -99,7 +99,7 @@ export namespace Property {
|
|
|
99
99
|
hash: false,
|
|
100
100
|
...data
|
|
101
101
|
};
|
|
102
|
-
return applyData(fullMetadata
|
|
102
|
+
return applyData(fullMetadata);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
/**
|
|
@@ -122,7 +122,7 @@ export namespace Property {
|
|
|
122
122
|
format: undefined,
|
|
123
123
|
...data
|
|
124
124
|
};
|
|
125
|
-
return applyData(fullMetadata
|
|
125
|
+
return applyData(fullMetadata);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
/**
|
|
@@ -139,7 +139,7 @@ export namespace Property {
|
|
|
139
139
|
exclude: false,
|
|
140
140
|
...data
|
|
141
141
|
};
|
|
142
|
-
return applyData(fullMetadata
|
|
142
|
+
return applyData(fullMetadata);
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
/**
|
|
@@ -158,7 +158,7 @@ export namespace Property {
|
|
|
158
158
|
excludeFromChangeSets: typeof data?.exclude === 'boolean' ? data.exclude : false,
|
|
159
159
|
...data
|
|
160
160
|
};
|
|
161
|
-
return applyData(fullMetadata
|
|
161
|
+
return applyData(fullMetadata);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
/**
|
|
@@ -175,7 +175,7 @@ export namespace Property {
|
|
|
175
175
|
allowAdditionalProperties: false,
|
|
176
176
|
...data
|
|
177
177
|
};
|
|
178
|
-
return applyData(fullMetadata
|
|
178
|
+
return applyData(fullMetadata);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/**
|
|
@@ -249,24 +249,35 @@ export namespace Property {
|
|
|
249
249
|
excludeFromChangeSets: typeof data?.exclude === 'boolean' ? data.exclude : false,
|
|
250
250
|
...data
|
|
251
251
|
};
|
|
252
|
-
return applyData(fullMetadata
|
|
252
|
+
return applyData(fullMetadata);
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
+
// eslint-disable-next-line jsdoc/require-returns
|
|
255
256
|
/**
|
|
256
257
|
* Defines a many to one property.
|
|
257
258
|
* @param metadata - Additional data to specify the property.
|
|
258
259
|
*/
|
|
259
|
-
export function manyToOne<T extends BaseEntity
|
|
260
|
+
export function manyToOne<T extends BaseEntity, TJoinKey extends string>(
|
|
261
|
+
metadata: ManyToOnePropertyMetadataInput<T, TJoinKey>
|
|
262
|
+
) {
|
|
260
263
|
const fullMetadata: ManyToOnePropertyMetadata<T> = {
|
|
261
264
|
required: true,
|
|
262
265
|
type: Relation.MANY_TO_ONE,
|
|
263
266
|
cascade: [],
|
|
264
267
|
description: undefined,
|
|
268
|
+
joinColumn: undefined,
|
|
265
269
|
exclude: false,
|
|
266
270
|
excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
|
|
267
271
|
...metadata
|
|
268
272
|
};
|
|
269
|
-
|
|
273
|
+
|
|
274
|
+
// eslint-disable-next-line typescript/no-explicit-any
|
|
275
|
+
return <TCurrentEntity extends Partial<Record<TJoinKey, any>>>(
|
|
276
|
+
target: TCurrentEntity,
|
|
277
|
+
propertyKey: string | symbol
|
|
278
|
+
): void => {
|
|
279
|
+
applyData(fullMetadata as PropertyMetadata)(target, propertyKey);
|
|
280
|
+
};
|
|
270
281
|
}
|
|
271
282
|
|
|
272
283
|
/**
|
|
@@ -283,7 +294,7 @@ export namespace Property {
|
|
|
283
294
|
excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
|
|
284
295
|
...metadata
|
|
285
296
|
};
|
|
286
|
-
return applyData(fullMetadata as PropertyMetadata
|
|
297
|
+
return applyData(fullMetadata as PropertyMetadata);
|
|
287
298
|
}
|
|
288
299
|
|
|
289
300
|
/**
|
|
@@ -291,35 +302,44 @@ export namespace Property {
|
|
|
291
302
|
* @param metadata - Additional data to specify the property.
|
|
292
303
|
*/
|
|
293
304
|
export function hasOne<T extends BaseEntity>(metadata: HasOnePropertyMetadataInput<T>): PropertyDecorator {
|
|
294
|
-
const fullMetadata:
|
|
305
|
+
const fullMetadata: HasOnePropertyMetadata<T> = {
|
|
295
306
|
required: true,
|
|
296
|
-
type: Relation.
|
|
307
|
+
type: Relation.HAS_ONE,
|
|
297
308
|
cascade: ['remove', 'insert', 'update'],
|
|
298
|
-
joinColumn: false,
|
|
299
309
|
description: undefined,
|
|
300
310
|
exclude: false,
|
|
301
311
|
excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
|
|
302
312
|
...metadata
|
|
303
313
|
};
|
|
304
|
-
return applyData(fullMetadata as PropertyMetadata
|
|
314
|
+
return applyData(fullMetadata as PropertyMetadata);
|
|
305
315
|
}
|
|
306
316
|
|
|
317
|
+
// eslint-disable-next-line jsdoc/require-returns
|
|
307
318
|
/**
|
|
308
319
|
* Defines a belongs to one property.
|
|
309
320
|
* @param metadata - Additional data to specify the property.
|
|
310
321
|
*/
|
|
311
|
-
export function belongsToOne<T extends BaseEntity
|
|
312
|
-
|
|
322
|
+
export function belongsToOne<T extends BaseEntity, TJoinKey extends string>(
|
|
323
|
+
metadata: BelongsToOnePropertyMetadataInput<T, TJoinKey>
|
|
324
|
+
) {
|
|
325
|
+
const fullMetadata: BelongsToOnePropertyMetadata<T> = {
|
|
313
326
|
required: true,
|
|
314
|
-
type: Relation.
|
|
327
|
+
type: Relation.BELONGS_TO_ONE,
|
|
315
328
|
cascade: [],
|
|
316
|
-
joinColumn:
|
|
329
|
+
joinColumn: undefined,
|
|
317
330
|
description: undefined,
|
|
318
331
|
exclude: false,
|
|
319
332
|
excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
|
|
320
333
|
...metadata
|
|
321
334
|
};
|
|
322
|
-
|
|
335
|
+
|
|
336
|
+
// eslint-disable-next-line typescript/no-explicit-any
|
|
337
|
+
return <TCurrentEntity extends Partial<Record<TJoinKey, any>>>(
|
|
338
|
+
target: TCurrentEntity,
|
|
339
|
+
propertyKey: string | symbol
|
|
340
|
+
): void => {
|
|
341
|
+
applyData(fullMetadata as PropertyMetadata)(target, propertyKey);
|
|
342
|
+
};
|
|
323
343
|
}
|
|
324
344
|
|
|
325
345
|
/**
|
|
@@ -330,23 +350,21 @@ export namespace Property {
|
|
|
330
350
|
const fullMetadata: ManyToManyPropertyMetadata<T> = {
|
|
331
351
|
required: true,
|
|
332
352
|
type: Relation.MANY_TO_MANY,
|
|
333
|
-
cascade: [],
|
|
353
|
+
cascade: metadata.joinTable === true ? ['remove'] : [],
|
|
334
354
|
description: undefined,
|
|
355
|
+
joinTable: undefined,
|
|
335
356
|
persistence: true,
|
|
336
357
|
exclude: false,
|
|
337
358
|
excludeFromChangeSets: typeof metadata?.exclude === 'boolean' ? metadata.exclude : false,
|
|
338
359
|
...metadata
|
|
339
360
|
};
|
|
340
|
-
return applyData(fullMetadata as PropertyMetadata
|
|
361
|
+
return applyData(fullMetadata as PropertyMetadata);
|
|
341
362
|
}
|
|
342
363
|
}
|
|
343
364
|
|
|
344
365
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
345
|
-
function applyData(data: PropertyMetadata
|
|
366
|
+
function applyData(data: PropertyMetadata): PropertyDecorator {
|
|
346
367
|
return (target, key) => {
|
|
347
|
-
if (inputData?.required != undefined && (inputData as WithDefaultMetadata<string>).default != undefined) {
|
|
348
|
-
warn(`${target.constructor.name}.${key.toString()}: setting "required" won't have any effect, because "default" is also set.`);
|
|
349
|
-
}
|
|
350
368
|
if ('primary' in data && data.primary && data.exclude !== false) {
|
|
351
369
|
throw new Error(`${target.constructor.name}.${key.toString()}: Cannot mark a primary key with "exclude."`);
|
|
352
370
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseEntity } from './base-entity.model';
|
|
2
|
+
import { Newable } from '../types/newable.type';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* An error that gets thrown when entity metadata that is required is missing.
|
|
6
|
+
*/
|
|
7
|
+
export class EntityMetadataMissingError extends Error {
|
|
8
|
+
constructor(entity: Newable<BaseEntity>, usage: string = '') {
|
|
9
|
+
super([
|
|
10
|
+
`Could not find entity metadata for ${entity.name} ${usage}`,
|
|
11
|
+
'Did you forget to decorate it with @Entity?'
|
|
12
|
+
].join('\n'));
|
|
13
|
+
this.name = 'EntityMetadataMissingError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -16,7 +16,7 @@ export type BaseRelationMetadata<T extends BaseEntity> = BasePropertyMetadata
|
|
|
16
16
|
target: () => Newable<T>,
|
|
17
17
|
/**
|
|
18
18
|
* The name of the inverse property on the target,
|
|
19
|
-
* e.g. 'user' if Posts has `@
|
|
19
|
+
* e.g. 'user' if Posts has `@Property.manyToOne(() => User, 'post')`.
|
|
20
20
|
*/
|
|
21
21
|
inverseSide: keyof T
|
|
22
22
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { OmitStrict } from '../../types/omit-strict.type';
|
|
2
|
+
import { BaseEntity } from '../base-entity.model';
|
|
3
|
+
import { BaseRelationMetadata } from './base-relation-metadata.model';
|
|
4
|
+
import { Relation } from './relation.enum';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Metadata for belongs to one properties.
|
|
8
|
+
*/
|
|
9
|
+
export type BelongsToOnePropertyMetadata<T extends BaseEntity> = BaseRelationMetadata<T> & {
|
|
10
|
+
/**
|
|
11
|
+
* The type of the property.
|
|
12
|
+
*/
|
|
13
|
+
type: Relation.BELONGS_TO_ONE,
|
|
14
|
+
/**
|
|
15
|
+
* The column on the current entity that holds the foreign key.
|
|
16
|
+
*/
|
|
17
|
+
joinColumn: string | undefined
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Input Metadata for belongs to one properties.
|
|
22
|
+
*/
|
|
23
|
+
export type BelongsToOnePropertyMetadataInput<
|
|
24
|
+
T extends BaseEntity,
|
|
25
|
+
TJoinKey extends string
|
|
26
|
+
> = Partial<OmitStrict<BelongsToOnePropertyMetadata<T>, 'type'>>
|
|
27
|
+
& Pick<BelongsToOnePropertyMetadata<T>, 'target' | 'inverseSide'>
|
|
28
|
+
& {
|
|
29
|
+
/**
|
|
30
|
+
* The column on the current entity that holds the foreign key.
|
|
31
|
+
* Must be an existing key on the decorated class.
|
|
32
|
+
*/
|
|
33
|
+
joinColumn?: TJoinKey
|
|
34
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OmitStrict } from '../../types/omit-strict.type';
|
|
2
|
+
import { BaseEntity } from '../base-entity.model';
|
|
3
|
+
import { BaseRelationMetadata } from './base-relation-metadata.model';
|
|
4
|
+
import { Relation } from './relation.enum';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Metadata for has one properties.
|
|
8
|
+
*/
|
|
9
|
+
export type HasOnePropertyMetadata<T extends BaseEntity> = BaseRelationMetadata<T> & {
|
|
10
|
+
/**
|
|
11
|
+
* The type of the property.
|
|
12
|
+
*/
|
|
13
|
+
type: Relation.HAS_ONE
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Input Metadata for has one properties.
|
|
18
|
+
*/
|
|
19
|
+
export type HasOnePropertyMetadataInput<T extends BaseEntity> = Partial<OmitStrict<HasOnePropertyMetadata<T>, 'type'>>
|
|
20
|
+
& Pick<HasOnePropertyMetadata<T>, 'target' | 'inverseSide'>;
|
|
@@ -14,14 +14,14 @@ export type ManyToManyPropertyMetadata<T extends BaseEntity> = BaseRelationMetad
|
|
|
14
14
|
/**
|
|
15
15
|
* Whether or not this entity should own the join table.
|
|
16
16
|
*/
|
|
17
|
-
joinTable: boolean,
|
|
17
|
+
joinTable: boolean | undefined,
|
|
18
18
|
/**
|
|
19
19
|
* Indicates if persistence is enabled for the relation.
|
|
20
20
|
* By default its enabled, but if you want to avoid any changes
|
|
21
21
|
* in the relation to be reflected in the data source you can disable it.
|
|
22
22
|
* If its disabled you can only change a relation from inverse side
|
|
23
23
|
* of a relation or using relation query builder functionality.
|
|
24
|
-
* This is useful for performance optimization since its disabling
|
|
24
|
+
* This is useful for performance optimization since its disabling avoids
|
|
25
25
|
* multiple extra queries during entity save.
|
|
26
26
|
*/
|
|
27
27
|
persistence: boolean
|
|
@@ -31,4 +31,4 @@ export type ManyToManyPropertyMetadata<T extends BaseEntity> = BaseRelationMetad
|
|
|
31
31
|
* Input Metadata for many to many properties.
|
|
32
32
|
*/
|
|
33
33
|
export type ManyToManyPropertyMetadataInput<T extends BaseEntity> = Partial<OmitStrict<ManyToManyPropertyMetadata<T>, 'type'>>
|
|
34
|
-
& Pick<ManyToManyPropertyMetadata<T>, 'target' | '
|
|
34
|
+
& Pick<ManyToManyPropertyMetadata<T>, 'target' | 'inverseSide'>;
|
|
@@ -10,11 +10,25 @@ export type ManyToOnePropertyMetadata<T extends BaseEntity> = BaseRelationMetada
|
|
|
10
10
|
/**
|
|
11
11
|
* The type of the property.
|
|
12
12
|
*/
|
|
13
|
-
type: Relation.MANY_TO_ONE
|
|
13
|
+
type: Relation.MANY_TO_ONE,
|
|
14
|
+
/**
|
|
15
|
+
* The column on the current entity that holds the foreign key.
|
|
16
|
+
*/
|
|
17
|
+
joinColumn: string | undefined
|
|
14
18
|
};
|
|
15
19
|
|
|
16
20
|
/**
|
|
17
21
|
* Input Metadata for many to one properties.
|
|
18
22
|
*/
|
|
19
|
-
export type ManyToOnePropertyMetadataInput<
|
|
20
|
-
|
|
23
|
+
export type ManyToOnePropertyMetadataInput<
|
|
24
|
+
T extends BaseEntity,
|
|
25
|
+
TJoinKey extends string
|
|
26
|
+
> = Partial<OmitStrict<ManyToOnePropertyMetadata<T>, 'type' | 'joinColumn'>>
|
|
27
|
+
& Pick<ManyToOnePropertyMetadata<T>, 'target' | 'inverseSide'>
|
|
28
|
+
& {
|
|
29
|
+
/**
|
|
30
|
+
* The column on the current entity that holds the foreign key.
|
|
31
|
+
* Must be an existing key on the decorated class.
|
|
32
|
+
*/
|
|
33
|
+
joinColumn?: TJoinKey
|
|
34
|
+
};
|
|
@@ -17,7 +17,7 @@ export function PartialClass<T>(
|
|
|
17
17
|
const original: Record<string, PropertyMetadata> = MetadataUtilities.getModelProperties(Base);
|
|
18
18
|
const partialMeta: Record<string, PropertyMetadata> = {};
|
|
19
19
|
for (const [prop, meta] of ObjectUtilities.entries(original)) {
|
|
20
|
-
partialMeta[prop] =
|
|
20
|
+
partialMeta[prop] = { ...meta, required: false };
|
|
21
21
|
}
|
|
22
22
|
MetadataUtilities.setModelProperties(PartialClass, partialMeta);
|
|
23
23
|
|
|
@@ -28,12 +28,10 @@ export class EventCleanupCronJob extends CronJob {
|
|
|
28
28
|
await this.logger.info('cleans up past events');
|
|
29
29
|
|
|
30
30
|
try {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
})).filter(e => Date.now() > new Date(e.cleanupAt).getTime());
|
|
36
|
-
const res: Event<unknown>[] = await this.repository.deleteAll({ id: { oneOf: events.map(e => e.id) } });
|
|
31
|
+
const res: Event<unknown>[] = await this.repository.deleteAll({
|
|
32
|
+
status: EventStatus.FINISHED,
|
|
33
|
+
cleanupAt: { before: new Date() }
|
|
34
|
+
});
|
|
37
35
|
await this.logger.info(`removed ${res.length} events`);
|
|
38
36
|
}
|
|
39
37
|
catch {
|
|
@@ -2,7 +2,7 @@ import { Event } from './event.model';
|
|
|
2
2
|
import { BaseEntity } from '../entity/base-entity.model';
|
|
3
3
|
import { Entity } from '../entity/decorators/entity.decorator';
|
|
4
4
|
import { Property } from '../entity/decorators/property.decorator';
|
|
5
|
-
import {
|
|
5
|
+
import { OmitStrict } from '../types/omit-strict.type';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Data of a event subscriber run.
|
|
@@ -17,8 +17,13 @@ export class EventSubscriberRun<T> extends BaseEntity {
|
|
|
17
17
|
/**
|
|
18
18
|
* The event that triggered this run.
|
|
19
19
|
*/
|
|
20
|
-
@Property.manyToOne({ target: () => Event, inverseSide: 'eventSubscriberRuns' })
|
|
20
|
+
@Property.manyToOne({ target: () => Event, joinColumn: 'eventId', inverseSide: 'eventSubscriberRuns' })
|
|
21
21
|
event!: Event<T>;
|
|
22
|
+
/**
|
|
23
|
+
* The id of the event that this run belongs to.
|
|
24
|
+
*/
|
|
25
|
+
@Property.string({ format: 'uuid' })
|
|
26
|
+
eventId!: string;
|
|
22
27
|
/**
|
|
23
28
|
* The id of the subscriber.
|
|
24
29
|
*/
|
|
@@ -34,10 +39,4 @@ export class EventSubscriberRun<T> extends BaseEntity {
|
|
|
34
39
|
/**
|
|
35
40
|
* The data needed to create a new event subscriber run.
|
|
36
41
|
*/
|
|
37
|
-
export
|
|
38
|
-
/**
|
|
39
|
-
* The event that triggered this run.
|
|
40
|
-
*/
|
|
41
|
-
@Property.manyToOne({ target: () => Event, inverseSide: 'eventSubscriberRuns' })
|
|
42
|
-
event!: Event<T>;
|
|
43
|
-
}
|
|
42
|
+
export type EventSubscriberRunCreateData<T> = OmitStrict<EventSubscriberRun<T>, 'id' | 'eventId' | 'createdAt'>;
|
package/src/event/event.model.ts
CHANGED
|
@@ -15,7 +15,7 @@ export enum EventStatus {
|
|
|
15
15
|
/**
|
|
16
16
|
* Definition for an event.
|
|
17
17
|
*/
|
|
18
|
-
@Entity({ allowOrphan: true })
|
|
18
|
+
@Entity({ allowOrphan: true, defaultOrder: { createdAt: 'ASC' } })
|
|
19
19
|
export class Event<T> extends BaseEntity {
|
|
20
20
|
/**
|
|
21
21
|
* The timestamp at which the event has been created.
|
|
@@ -78,8 +78,7 @@ implements EventServiceInterface<TEvents>, OnAppInit, OnAppStart, AfterAppShutdo
|
|
|
78
78
|
async onAppStart(): Promise<void> {
|
|
79
79
|
const events: Event<TEvents[keyof TEvents]>[] = await this.eventRepository.findAll({
|
|
80
80
|
where: { status: { not: EventStatus.FINISHED } },
|
|
81
|
-
relations: ['eventSubscriberRuns']
|
|
82
|
-
order: { createdAt: 'ASC' }
|
|
81
|
+
relations: ['eventSubscriberRuns']
|
|
83
82
|
});
|
|
84
83
|
|
|
85
84
|
for (const event of events) {
|
|
@@ -222,7 +221,11 @@ implements EventServiceInterface<TEvents>, OnAppInit, OnAppStart, AfterAppShutdo
|
|
|
222
221
|
await this.logger.error(new EventProcessingError(event, options.subscriberId, error));
|
|
223
222
|
}
|
|
224
223
|
|
|
225
|
-
await this.eventSubscriberRunRepository.create({
|
|
224
|
+
await this.eventSubscriberRunRepository.create({
|
|
225
|
+
event,
|
|
226
|
+
subscriberId: options.subscriberId,
|
|
227
|
+
error
|
|
228
|
+
});
|
|
226
229
|
if (await this.eventHasUnfinishedSubscriptions(event)) {
|
|
227
230
|
return;
|
|
228
231
|
}
|
|
@@ -42,7 +42,8 @@ export class DefaultDescriptor {
|
|
|
42
42
|
case Relation.MANY_TO_MANY:
|
|
43
43
|
case Relation.ONE_TO_MANY:
|
|
44
44
|
case Relation.MANY_TO_ONE:
|
|
45
|
-
case Relation.
|
|
45
|
+
case Relation.HAS_ONE:
|
|
46
|
+
case Relation.BELONGS_TO_ONE: {
|
|
46
47
|
const nested: DefaultDescriptor = ModelRegistry.get(metadata.target()).defaultDescriptor;
|
|
47
48
|
if (nested.hasAnything()) {
|
|
48
49
|
this.nestedKeys.set(key, nested);
|
|
@@ -40,7 +40,8 @@ export class EncryptionDescriptor<T> {
|
|
|
40
40
|
|
|
41
41
|
switch (metadata.type) {
|
|
42
42
|
case Relation.MANY_TO_ONE:
|
|
43
|
-
case Relation.
|
|
43
|
+
case Relation.HAS_ONE:
|
|
44
|
+
case Relation.BELONGS_TO_ONE:
|
|
44
45
|
case Relation.MANY_TO_MANY:
|
|
45
46
|
case Relation.ONE_TO_MANY: {
|
|
46
47
|
const nested: EncryptionDescriptor<unknown> = ModelRegistry.get(metadata.target()).encryptionDescriptor;
|
|
@@ -38,7 +38,8 @@ export class ExcludeDescriptor<T> {
|
|
|
38
38
|
|
|
39
39
|
switch (metadata.type) {
|
|
40
40
|
case Relation.MANY_TO_ONE:
|
|
41
|
-
case Relation.
|
|
41
|
+
case Relation.HAS_ONE:
|
|
42
|
+
case Relation.BELONGS_TO_ONE:
|
|
42
43
|
case Relation.MANY_TO_MANY:
|
|
43
44
|
case Relation.ONE_TO_MANY: {
|
|
44
45
|
const nested: ExcludeDescriptor<unknown> = ModelRegistry.get(metadata.target()).excludeDescriptor;
|
|
@@ -40,7 +40,8 @@ export class HashDescriptor<T> {
|
|
|
40
40
|
|
|
41
41
|
switch (metadata.type) {
|
|
42
42
|
case Relation.MANY_TO_ONE:
|
|
43
|
-
case Relation.
|
|
43
|
+
case Relation.HAS_ONE:
|
|
44
|
+
case Relation.BELONGS_TO_ONE:
|
|
44
45
|
case Relation.MANY_TO_MANY:
|
|
45
46
|
case Relation.ONE_TO_MANY: {
|
|
46
47
|
const nested: HashDescriptor<unknown> = ModelRegistry.get(metadata.target()).hashDescriptor;
|
package/src/index.ts
CHANGED
|
@@ -134,10 +134,13 @@ export * from './routing/models/crud-controller.model';
|
|
|
134
134
|
// context
|
|
135
135
|
export * from './context/als.utilities';
|
|
136
136
|
export * from './context/base-context';
|
|
137
|
+
|
|
137
138
|
export * from './context/request/http-request.context';
|
|
138
139
|
export * from './context/request/websocket-request.context';
|
|
139
140
|
export * from './context/request/request-context-token.model';
|
|
140
141
|
|
|
142
|
+
export * from './context/cache/cache.context';
|
|
143
|
+
|
|
141
144
|
// error handling
|
|
142
145
|
export * from './error-handling/error-handler';
|
|
143
146
|
export * from './error-handling/error-handler.model';
|
|
@@ -201,6 +204,7 @@ export * from './entity/partial-class.model';
|
|
|
201
204
|
export * from './entity/pick-class.model';
|
|
202
205
|
export * from './entity/any-object.model';
|
|
203
206
|
export * from './entity/base-entity.model';
|
|
207
|
+
export * from './entity/entity-metadata-missing.error';
|
|
204
208
|
|
|
205
209
|
export * from './entity/decorators/entity.decorator';
|
|
206
210
|
export * from './entity/decorators/property.decorator';
|
|
@@ -213,7 +217,8 @@ export * from './entity/models/date-property-metadata.model';
|
|
|
213
217
|
export * from './entity/models/boolean-property-metadata.model';
|
|
214
218
|
export * from './entity/models/many-to-one-property-metadata.model';
|
|
215
219
|
export * from './entity/models/one-to-many-property-metadata.model';
|
|
216
|
-
export * from './entity/models/
|
|
220
|
+
export * from './entity/models/belongs-to-one-property-metadata.model';
|
|
221
|
+
export * from './entity/models/has-one-property-metadata.model';
|
|
217
222
|
export * from './entity/models/many-to-many-property-metadata.model';
|
|
218
223
|
export * from './entity/models/relation.enum';
|
|
219
224
|
export * from './entity/models/unknown-property-metadata.model';
|
|
@@ -264,7 +269,13 @@ export * from './data-source/query-failed.error';
|
|
|
264
269
|
export * from './data-source/decorators/data-source.decorator';
|
|
265
270
|
|
|
266
271
|
export * from './data-source/data-sources/data-source.interface';
|
|
267
|
-
export * from './data-source/data-sources/postgres-data-source.model';
|
|
272
|
+
export * from './data-source/data-sources/postgres-typeorm-data-source.model';
|
|
273
|
+
export * from './data-source/data-sources/typeorm-base-data-source.model';
|
|
274
|
+
export * from './data-source/data-sources/data-source-initialization.error';
|
|
275
|
+
export * from './data-source/data-sources/sql-data-source.interface';
|
|
276
|
+
|
|
277
|
+
export * from './data-source/data-sources/where-converter/typeorm-where-filter.converter';
|
|
278
|
+
export * from './data-source/data-sources/where-converter/postgres-typeorm-where-filter.converter';
|
|
268
279
|
|
|
269
280
|
export * from './data-source/transaction/transaction.model';
|
|
270
281
|
|
|
@@ -284,13 +295,14 @@ export * from './data-source/models/options/update-all-options.model';
|
|
|
284
295
|
export * from './data-source/models/options/update-by-id-options.model';
|
|
285
296
|
export * from './data-source/models/options/count-options.model';
|
|
286
297
|
|
|
287
|
-
export * from './data-source/models/where/where-filter.model';
|
|
288
298
|
export * from './data-source/models/where/array-where-filter.model';
|
|
289
299
|
export * from './data-source/models/where/boolean-where-filter.model';
|
|
290
300
|
export * from './data-source/models/where/date-where-filter.model';
|
|
291
301
|
export * from './data-source/models/where/number-where-filter.model';
|
|
292
302
|
export * from './data-source/models/where/object-where-filter.model';
|
|
293
303
|
export * from './data-source/models/where/string-where-filter.model';
|
|
304
|
+
export * from './data-source/models/where/where-filter-keys.model';
|
|
305
|
+
export * from './data-source/models/where/where-filter.model';
|
|
294
306
|
|
|
295
307
|
export * from './data-source/migration/migration.model';
|
|
296
308
|
export * from './data-source/migration/migration-entity.model';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LoggedError } from './logged-error.model';
|
|
2
|
-
import {
|
|
2
|
+
import { CacheContext } from '../context/cache/cache.context';
|
|
3
3
|
import { Property } from '../entity/decorators/property.decorator';
|
|
4
4
|
import { HttpMethod } from '../http/http-method.enum';
|
|
5
5
|
import { HttpStatus } from '../http/http-status.enum';
|
|
@@ -48,37 +48,6 @@ export class LogRequestContext {
|
|
|
48
48
|
durationInMs?: number;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
/**
|
|
52
|
-
* Context information about a cache that triggered a log.
|
|
53
|
-
*/
|
|
54
|
-
export class LogCacheContext {
|
|
55
|
-
/**
|
|
56
|
-
* The name of the cache.
|
|
57
|
-
*/
|
|
58
|
-
@Property.string()
|
|
59
|
-
cache!: string;
|
|
60
|
-
/**
|
|
61
|
-
* The cache operation currently running.
|
|
62
|
-
*/
|
|
63
|
-
@Property.string({ enum: CacheOperation })
|
|
64
|
-
operation!: CacheOperation;
|
|
65
|
-
/**
|
|
66
|
-
* The key of the value in the cache.
|
|
67
|
-
*/
|
|
68
|
-
@Property.unknown({ required: false })
|
|
69
|
-
key?: unknown;
|
|
70
|
-
/**
|
|
71
|
-
* Whether or not the cache has been hit.
|
|
72
|
-
*/
|
|
73
|
-
@Property.boolean({ required: false })
|
|
74
|
-
hit?: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* The duration that the original function took.
|
|
77
|
-
*/
|
|
78
|
-
@Property.number({ required: false })
|
|
79
|
-
durationInMs?: number;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
51
|
/**
|
|
83
52
|
* Context for the log, like the request, the id of the user if applicable and the stack trace.
|
|
84
53
|
*/
|
|
@@ -101,8 +70,8 @@ export class LogContext {
|
|
|
101
70
|
/**
|
|
102
71
|
* Context information about the cache that triggered the log.
|
|
103
72
|
*/
|
|
104
|
-
@Property.array({ items: { type: 'object', cls: () =>
|
|
105
|
-
cache?:
|
|
73
|
+
@Property.array({ items: { type: 'object', cls: () => CacheContext }, required: false })
|
|
74
|
+
cache?: CacheContext[];
|
|
106
75
|
/**
|
|
107
76
|
* An error associated to this log.
|
|
108
77
|
*/
|