@rockster/core 0.0.2 → 0.1.0
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/access/access.module.d.ts +11 -0
- package/access/access.module.js +56 -0
- package/access/access.module.js.map +1 -0
- package/access/constants.d.ts +2 -0
- package/access/constants.js +6 -0
- package/access/constants.js.map +1 -0
- package/access/controllers/controllers.d.ts +7 -0
- package/access/controllers/controllers.js +18 -0
- package/access/controllers/controllers.js.map +1 -0
- package/access/controllers/scope-access-profile.controller.d.ts +17 -0
- package/access/controllers/scope-access-profile.controller.js +111 -0
- package/access/controllers/scope-access-profile.controller.js.map +1 -0
- package/access/controllers/scope-group-user.controller.d.ts +20 -0
- package/access/controllers/scope-group-user.controller.js +132 -0
- package/access/controllers/scope-group-user.controller.js.map +1 -0
- package/access/controllers/scope-group.controller.d.ts +22 -0
- package/access/controllers/scope-group.controller.js +177 -0
- package/access/controllers/scope-group.controller.js.map +1 -0
- package/access/controllers/scope-key.controller.d.ts +7 -0
- package/access/controllers/scope-key.controller.js +45 -0
- package/access/controllers/scope-key.controller.js.map +1 -0
- package/access/controllers/scope-owner.controller.d.ts +9 -0
- package/access/controllers/scope-owner.controller.js +80 -0
- package/access/controllers/scope-owner.controller.js.map +1 -0
- package/access/controllers/scope-user.controller.d.ts +14 -0
- package/access/controllers/scope-user.controller.js +109 -0
- package/access/controllers/scope-user.controller.js.map +1 -0
- package/access/decorators/context-params.decorator.d.ts +2 -0
- package/access/decorators/context-params.decorator.js +13 -0
- package/access/decorators/context-params.decorator.js.map +1 -0
- package/access/decorators/index.d.ts +2 -0
- package/access/decorators/index.js +19 -0
- package/access/decorators/index.js.map +1 -0
- package/access/decorators/scope-context-id-resolver.decorator.d.ts +10 -0
- package/access/decorators/scope-context-id-resolver.decorator.js +22 -0
- package/access/decorators/scope-context-id-resolver.decorator.js.map +1 -0
- package/access/entities/entities.d.ts +8 -0
- package/access/entities/entities.js +22 -0
- package/access/entities/entities.js.map +1 -0
- package/access/entities/index.d.ts +7 -0
- package/access/entities/index.js +24 -0
- package/access/entities/index.js.map +1 -0
- package/access/entities/scope-access-profile-key.d.ts +6 -0
- package/access/entities/scope-access-profile-key.js +40 -0
- package/access/entities/scope-access-profile-key.js.map +1 -0
- package/access/entities/scope-access-profile.d.ts +6 -0
- package/access/entities/scope-access-profile.js +37 -0
- package/access/entities/scope-access-profile.js.map +1 -0
- package/access/entities/scope-access.d.ts +9 -0
- package/access/entities/scope-access.js +58 -0
- package/access/entities/scope-access.js.map +1 -0
- package/access/entities/scope-group-user.d.ts +7 -0
- package/access/entities/scope-group-user.js +47 -0
- package/access/entities/scope-group-user.js.map +1 -0
- package/access/entities/scope-group.d.ts +12 -0
- package/access/entities/scope-group.js +72 -0
- package/access/entities/scope-group.js.map +1 -0
- package/access/entities/scope-key.d.ts +5 -0
- package/access/entities/scope-key.js +35 -0
- package/access/entities/scope-key.js.map +1 -0
- package/access/entities/scope-owner.d.ts +7 -0
- package/access/entities/scope-owner.js +45 -0
- package/access/entities/scope-owner.js.map +1 -0
- package/access/env.d.ts +10 -0
- package/access/env.js +10 -0
- package/access/env.js.map +1 -0
- package/access/functions/assert-context-admin-access.d.ts +15 -0
- package/access/functions/assert-context-admin-access.js +62 -0
- package/access/functions/assert-context-admin-access.js.map +1 -0
- package/access/functions/assert-master-or-owner.d.ts +9 -0
- package/access/functions/assert-master-or-owner.js +40 -0
- package/access/functions/assert-master-or-owner.js.map +1 -0
- package/access/functions/assert-scope-action-access.d.ts +32 -0
- package/access/functions/assert-scope-action-access.js +189 -0
- package/access/functions/assert-scope-action-access.js.map +1 -0
- package/access/functions/build-scope-resolver-initial-data.d.ts +4 -0
- package/access/functions/build-scope-resolver-initial-data.js +17 -0
- package/access/functions/build-scope-resolver-initial-data.js.map +1 -0
- package/access/functions/describe-action-scope.d.ts +9 -0
- package/access/functions/describe-action-scope.js +27 -0
- package/access/functions/describe-action-scope.js.map +1 -0
- package/access/functions/get-context-id-service.d.ts +1 -0
- package/access/functions/get-context-id-service.js +8 -0
- package/access/functions/get-context-id-service.js.map +1 -0
- package/access/functions/get-is-owner.d.ts +1 -0
- package/access/functions/get-is-owner.js +8 -0
- package/access/functions/get-is-owner.js.map +1 -0
- package/access/functions/get-user-keys.d.ts +2 -0
- package/access/functions/get-user-keys.js +10 -0
- package/access/functions/get-user-keys.js.map +1 -0
- package/access/functions/index.d.ts +8 -0
- package/access/functions/index.js +25 -0
- package/access/functions/index.js.map +1 -0
- package/access/functions/init-scope-service-executors.d.ts +3 -0
- package/access/functions/init-scope-service-executors.js +38 -0
- package/access/functions/init-scope-service-executors.js.map +1 -0
- package/access/functions/normalize-scope-keys.d.ts +4 -0
- package/access/functions/normalize-scope-keys.js +17 -0
- package/access/functions/normalize-scope-keys.js.map +1 -0
- package/access/functions/register-scope.d.ts +19 -0
- package/access/functions/register-scope.js +94 -0
- package/access/functions/register-scope.js.map +1 -0
- package/access/functions/resolve-scope-context-id.d.ts +9 -0
- package/access/functions/resolve-scope-context-id.js +71 -0
- package/access/functions/resolve-scope-context-id.js.map +1 -0
- package/access/functions/warn-if-public.d.ts +12 -0
- package/access/functions/warn-if-public.js +20 -0
- package/access/functions/warn-if-public.js.map +1 -0
- package/access/index.d.ts +7 -0
- package/access/index.js +24 -0
- package/access/index.js.map +1 -0
- package/access/interfaces/index.d.ts +3 -0
- package/access/interfaces/index.js +20 -0
- package/access/interfaces/index.js.map +1 -0
- package/access/interfaces/resolve-scope-context-id.d.ts +21 -0
- package/access/interfaces/resolve-scope-context-id.js +3 -0
- package/access/interfaces/resolve-scope-context-id.js.map +1 -0
- package/access/interfaces/scope-service-registry.d.ts +21 -0
- package/access/interfaces/scope-service-registry.js +3 -0
- package/access/interfaces/scope-service-registry.js.map +1 -0
- package/access/interfaces/scope-service.d.ts +11 -0
- package/{database/interfaces/protector.js → access/interfaces/scope-service.js} +1 -1
- package/access/interfaces/scope-service.js.map +1 -0
- package/access/models/scope-access-profile-keys-update.d.ts +5 -0
- package/access/models/scope-access-profile-keys-update.js +27 -0
- package/access/models/scope-access-profile-keys-update.js.map +1 -0
- package/access/models/scope-context.d.ts +4 -0
- package/access/models/scope-context.js +27 -0
- package/access/models/scope-context.js.map +1 -0
- package/access/models/scope-group-apply-access-profile.d.ts +6 -0
- package/access/models/scope-group-apply-access-profile.js +32 -0
- package/access/models/scope-group-apply-access-profile.js.map +1 -0
- package/access/models/scope-keys-update.d.ts +7 -0
- package/access/models/scope-keys-update.js +38 -0
- package/access/models/scope-keys-update.js.map +1 -0
- package/access/models/scope-owner.d.ts +5 -0
- package/access/models/scope-owner.js +32 -0
- package/access/models/scope-owner.js.map +1 -0
- package/access/models/scope-user-mapped.d.ts +9 -0
- package/access/models/scope-user-mapped.js +48 -0
- package/access/models/scope-user-mapped.js.map +1 -0
- package/access/models/scope-user.d.ts +9 -0
- package/access/models/scope-user.js +51 -0
- package/access/models/scope-user.js.map +1 -0
- package/access/queries/scope-access-profile.query.d.ts +1 -0
- package/access/queries/scope-access-profile.query.js +10 -0
- package/access/queries/scope-access-profile.query.js.map +1 -0
- package/access/queries/scope-group-user.query.d.ts +1 -0
- package/access/queries/scope-group-user.query.js +26 -0
- package/access/queries/scope-group-user.query.js.map +1 -0
- package/access/queries/scope-group.query.d.ts +1 -0
- package/access/queries/scope-group.query.js +19 -0
- package/access/queries/scope-group.query.js.map +1 -0
- package/access/services/index.d.ts +7 -0
- package/access/services/index.js +24 -0
- package/access/services/index.js.map +1 -0
- package/access/services/scope-access-profile.service.d.ts +13 -0
- package/access/services/scope-access-profile.service.js +75 -0
- package/access/services/scope-access-profile.service.js.map +1 -0
- package/access/services/scope-access.service.d.ts +11 -0
- package/access/services/scope-access.service.js +89 -0
- package/access/services/scope-access.service.js.map +1 -0
- package/access/services/scope-group-user.service.d.ts +8 -0
- package/access/services/scope-group-user.service.js +49 -0
- package/access/services/scope-group-user.service.js.map +1 -0
- package/access/services/scope-group.service.d.ts +17 -0
- package/access/services/scope-group.service.js +75 -0
- package/access/services/scope-group.service.js.map +1 -0
- package/access/services/scope-key.service.d.ts +9 -0
- package/access/services/scope-key.service.js +52 -0
- package/access/services/scope-key.service.js.map +1 -0
- package/access/services/scope-owner.service.d.ts +10 -0
- package/access/services/scope-owner.service.js +60 -0
- package/access/services/scope-owner.service.js.map +1 -0
- package/access/services/scope-service.d.ts +10 -0
- package/access/services/scope-service.js +52 -0
- package/access/services/scope-service.js.map +1 -0
- package/command/functions/execute-post.js +5 -7
- package/command/functions/execute-post.js.map +1 -1
- package/command/services/post-action-builder.js +21 -17
- package/command/services/post-action-builder.js.map +1 -1
- package/command/services/remove-action-builder.js +32 -22
- package/command/services/remove-action-builder.js.map +1 -1
- package/common/entities/base-entity.js +2 -0
- package/common/entities/base-entity.js.map +1 -1
- package/common/interfaces/enum/object-type.d.ts +2 -1
- package/common/interfaces/enum/object-type.js +1 -0
- package/common/interfaces/enum/object-type.js.map +1 -1
- package/controllers/constants/controller-transaction.d.ts +2 -0
- package/controllers/constants/controller-transaction.js +6 -0
- package/controllers/constants/controller-transaction.js.map +1 -0
- package/controllers/controller.controller.d.ts +1 -1
- package/controllers/controller.controller.js +4 -4
- package/controllers/controller.controller.js.map +1 -1
- package/controllers/decorators/controller.decorator.js +8 -0
- package/controllers/decorators/controller.decorator.js.map +1 -1
- package/controllers/decorators/index.d.ts +1 -0
- package/controllers/decorators/index.js +1 -0
- package/controllers/decorators/index.js.map +1 -1
- package/controllers/decorators/transaction.decorator.d.ts +7 -0
- package/controllers/decorators/transaction.decorator.js +23 -0
- package/controllers/decorators/transaction.decorator.js.map +1 -0
- package/controllers/interfaces/controller-object.d.ts +1 -0
- package/controllers/interfaces/controller-options.d.ts +1 -0
- package/controllers/interfaces/controller-property.d.ts +9 -0
- package/controllers/services/default-action-builder.js +14 -0
- package/controllers/services/default-action-builder.js.map +1 -1
- package/controllers/services/restful-action-builder.js +25 -1
- package/controllers/services/restful-action-builder.js.map +1 -1
- package/core/contexts/request-context.d.ts +5 -0
- package/core/contexts/request-context.js +6 -0
- package/core/contexts/request-context.js.map +1 -0
- package/core/core.controller.d.ts +1 -0
- package/core/core.controller.js +15 -2
- package/core/core.controller.js.map +1 -1
- package/core/functions/create-interceptor.js +2 -2
- package/core/functions/create-interceptor.js.map +1 -1
- package/core/functions/resolve-action-transactional.d.ts +3 -0
- package/core/functions/resolve-action-transactional.js +10 -0
- package/core/functions/resolve-action-transactional.js.map +1 -0
- package/core/interfaces/action-def.d.ts +2 -5
- package/core/interfaces/action-docs.d.ts +15 -0
- package/core/interfaces/action-handle.d.ts +5 -0
- package/core/interfaces/action-handle.js +3 -0
- package/core/interfaces/action-handle.js.map +1 -0
- package/core/interfaces/core-options.d.ts +1 -0
- package/core/interfaces/interceptor.d.ts +1 -1
- package/core/interfaces/object.d.ts +3 -2
- package/core/interfaces/request-context.d.ts +7 -2
- package/core/services/request-executor.d.ts +8 -0
- package/core/services/request-executor.js +88 -0
- package/core/services/request-executor.js.map +1 -1
- package/core/services/request-router.js +5 -4
- package/core/services/request-router.js.map +1 -1
- package/database/database.controller.d.ts +1 -3
- package/database/database.controller.js +1 -5
- package/database/database.controller.js.map +1 -1
- package/database/decorators/entity.decorator.d.ts +3 -1
- package/database/decorators/entity.decorator.js +14 -5
- package/database/decorators/entity.decorator.js.map +1 -1
- package/database/decorators/external-column.decorator.d.ts +17 -0
- package/database/decorators/external-column.decorator.js +30 -0
- package/database/decorators/external-column.decorator.js.map +1 -0
- package/database/decorators/index.d.ts +1 -0
- package/database/decorators/index.js +1 -0
- package/database/decorators/index.js.map +1 -1
- package/database/decorators/protect-entity.decorator.d.ts +1 -0
- package/database/decorators/protect-entity.decorator.js +2 -3
- package/database/decorators/protect-entity.decorator.js.map +1 -1
- package/database/decorators/protected-entity.decorator.d.ts +1 -0
- package/database/decorators/protected-entity.decorator.js +2 -16
- package/database/decorators/protected-entity.decorator.js.map +1 -1
- package/database/decorators/relation.decorator.d.ts +2 -2
- package/database/decorators/relation.decorator.js.map +1 -1
- package/database/extensions/select-query-builder.d.ts +1 -5
- package/database/extensions/select-query-builder.js.map +1 -1
- package/database/functions/find-relation.d.ts +2 -1
- package/database/functions/find-relation.js +3 -3
- package/database/functions/find-relation.js.map +1 -1
- package/database/functions/generate-entity-id.d.ts +2 -0
- package/database/functions/{generate-id.js → generate-entity-id.js} +3 -3
- package/database/functions/generate-entity-id.js.map +1 -0
- package/database/functions/get-relations.d.ts +1 -1
- package/database/functions/inject-repository-handle.js +4 -3
- package/database/functions/inject-repository-handle.js.map +1 -1
- package/database/functions/use-transaction.d.ts +1 -0
- package/database/functions/use-transaction.js +2 -6
- package/database/functions/use-transaction.js.map +1 -1
- package/database/interfaces/entity-dto-object.d.ts +7 -0
- package/database/interfaces/entity-dto-object.js +3 -0
- package/database/interfaces/entity-dto-object.js.map +1 -0
- package/database/interfaces/entity-object.d.ts +0 -6
- package/database/interfaces/entity-property.d.ts +12 -0
- package/database/interfaces/index.d.ts +0 -1
- package/database/interfaces/index.js +0 -1
- package/database/interfaces/index.js.map +1 -1
- package/database/interfaces/path.d.ts +6 -2
- package/database/interfaces/repository.d.ts +8 -8
- package/database/interfaces/virtual-select.d.ts +4 -0
- package/database/interfaces/virtual-select.js +3 -0
- package/database/interfaces/virtual-select.js.map +1 -0
- package/database/services/repository.service.d.ts +1 -1
- package/database/services/repository.service.js +3 -6
- package/database/services/repository.service.js.map +1 -1
- package/docs/docs.module.js +3 -1
- package/docs/docs.module.js.map +1 -1
- package/docs/migrations/1747584000000-CreateDocsTables.d.ts +5 -0
- package/docs/migrations/1747584000000-CreateDocsTables.js +90 -0
- package/docs/migrations/1747584000000-CreateDocsTables.js.map +1 -0
- package/docs/migrations/migrations.d.ts +2 -0
- package/docs/migrations/migrations.js +8 -0
- package/docs/migrations/migrations.js.map +1 -0
- package/docs/queries/docs-controller-action.query.d.ts +1 -1
- package/docs/queries/docs-controller.query.d.ts +1 -1
- package/docs/queries/docs-model.query.d.ts +1 -1
- package/docs/queries/docs-model.query.js +1 -1
- package/docs/queries/docs-model.query.js.map +1 -1
- package/docs/queries/docs-version.query.d.ts +1 -1
- package/docs/services/docs-version.service.js +6 -3
- package/docs/services/docs-version.service.js.map +1 -1
- package/forms/queries/form.query.d.ts +1 -1
- package/forms/queries/property.query.d.ts +1 -1
- package/global.d.ts +2 -0
- package/global.js +2 -1
- package/global.js.map +1 -1
- package/http/http.controller.d.ts +2 -0
- package/http/http.controller.js +3 -2
- package/http/http.controller.js.map +1 -1
- package/index.d.ts +5 -2
- package/index.js +4 -7
- package/index.js.map +1 -1
- package/jobs/jobs.controller.d.ts +2 -0
- package/jobs/jobs.controller.js +22 -16
- package/jobs/jobs.controller.js.map +1 -1
- package/package.json +70 -69
- package/query/functions/add-join.js +8 -16
- package/query/functions/add-join.js.map +1 -1
- package/query/functions/collect-external-column-owners.d.ts +10 -0
- package/query/functions/collect-external-column-owners.js +100 -0
- package/query/functions/collect-external-column-owners.js.map +1 -0
- package/query/functions/create-query-builder.js +47 -28
- package/query/functions/create-query-builder.js.map +1 -1
- package/query/functions/create-query-cache-hash.d.ts +16 -0
- package/query/functions/create-query-cache-hash.js +70 -0
- package/query/functions/create-query-cache-hash.js.map +1 -0
- package/query/functions/create-query.d.ts +8 -3
- package/query/functions/create-query.js +12 -9
- package/query/functions/create-query.js.map +1 -1
- package/query/functions/describe-query-filter.js +3 -2
- package/query/functions/describe-query-filter.js.map +1 -1
- package/query/functions/execute-query.js +89 -9
- package/query/functions/execute-query.js.map +1 -1
- package/query/functions/expand-select-with-external-dependencies.d.ts +9 -0
- package/query/functions/expand-select-with-external-dependencies.js +34 -0
- package/query/functions/expand-select-with-external-dependencies.js.map +1 -0
- package/query/functions/external-column-owner-path.d.ts +5 -0
- package/query/functions/external-column-owner-path.js +18 -0
- package/query/functions/external-column-owner-path.js.map +1 -0
- package/query/functions/get-entity-object-class.d.ts +2 -0
- package/query/functions/get-entity-object-class.js +12 -0
- package/query/functions/get-entity-object-class.js.map +1 -0
- package/query/functions/get-native-select.js +3 -0
- package/query/functions/get-native-select.js.map +1 -1
- package/query/functions/load-properties.d.ts +20 -2
- package/query/functions/load-properties.js +190 -40
- package/query/functions/load-properties.js.map +1 -1
- package/query/functions/map-query-property-to-column-name.js +1 -1
- package/query/functions/map-query-property-to-column-name.js.map +1 -1
- package/query/functions/query-structure-cache.d.ts +24 -0
- package/query/functions/query-structure-cache.js +66 -0
- package/query/functions/query-structure-cache.js.map +1 -0
- package/query/interfaces/query.d.ts +44 -1
- package/query/services/query-action-builder.d.ts +4 -1
- package/query/services/query-action-builder.js +26 -12
- package/query/services/query-action-builder.js.map +1 -1
- package/remote-logs/dtos/index.d.ts +2 -0
- package/remote-logs/dtos/index.js +19 -0
- package/remote-logs/dtos/index.js.map +1 -0
- package/remote-logs/dtos/remote-log-hooks.dto.d.ts +72 -0
- package/remote-logs/dtos/remote-log-hooks.dto.js +280 -0
- package/remote-logs/dtos/remote-log-hooks.dto.js.map +1 -0
- package/remote-logs/dtos/remote-log-search.dto.d.ts +34 -0
- package/remote-logs/dtos/remote-log-search.dto.js +146 -0
- package/remote-logs/dtos/remote-log-search.dto.js.map +1 -0
- package/remote-logs/environment.d.ts +4 -0
- package/remote-logs/environment.js +5 -0
- package/remote-logs/environment.js.map +1 -0
- package/remote-logs/index.d.ts +3 -0
- package/remote-logs/index.js +20 -0
- package/remote-logs/index.js.map +1 -0
- package/remote-logs/interfaces/index.d.ts +1 -0
- package/remote-logs/interfaces/index.js +18 -0
- package/remote-logs/interfaces/index.js.map +1 -0
- package/remote-logs/interfaces/remote-logs-module-options.d.ts +8 -0
- package/remote-logs/interfaces/remote-logs-module-options.js +3 -0
- package/remote-logs/interfaces/remote-logs-module-options.js.map +1 -0
- package/remote-logs/remote-logs-hooks.controller.d.ts +60 -0
- package/remote-logs/remote-logs-hooks.controller.js +331 -0
- package/remote-logs/remote-logs-hooks.controller.js.map +1 -0
- package/remote-logs/remote-logs.controller.d.ts +8 -0
- package/remote-logs/remote-logs.controller.js +41 -0
- package/remote-logs/remote-logs.controller.js.map +1 -0
- package/remote-logs/remote-logs.module.d.ts +12 -0
- package/remote-logs/remote-logs.module.js +107 -0
- package/remote-logs/remote-logs.module.js.map +1 -0
- package/remote-logs/services/opensearch.service.d.ts +13 -0
- package/remote-logs/services/opensearch.service.js +167 -0
- package/remote-logs/services/opensearch.service.js.map +1 -0
- package/security/auth.controller.js +4 -4
- package/security/auth.controller.js.map +1 -1
- package/security/env.js.map +1 -1
- package/security/functions/add-protected.d.ts +2 -2
- package/security/functions/add-protected.js +8 -5
- package/security/functions/add-protected.js.map +1 -1
- package/security/functions/create-authentication-interceptor.d.ts +44 -0
- package/security/functions/create-authentication-interceptor.js +114 -0
- package/security/functions/create-authentication-interceptor.js.map +1 -0
- package/security/functions/find-auth-context.d.ts +1 -2
- package/security/functions/find-auth-context.js +6 -11
- package/security/functions/find-auth-context.js.map +1 -1
- package/security/index.d.ts +1 -0
- package/security/index.js +1 -0
- package/security/index.js.map +1 -1
- package/security/interfaces/authorization-schema.d.ts +3 -1
- package/security/requests/security.request.js +1 -1
- package/security/requests/security.request.js.map +1 -1
- package/security/services/authorization.service.d.ts +5 -3
- package/security/services/authorization.service.js +56 -37
- package/security/services/authorization.service.js.map +1 -1
- package/storage/services/routes.service.js +1 -1
- package/storage/services/routes.service.js.map +1 -1
- package/tasks/constants.d.ts +3 -0
- package/tasks/constants.js +2 -1
- package/tasks/constants.js.map +1 -1
- package/tasks/controllers/task.controller.d.ts +3 -2
- package/tasks/controllers/task.controller.js +11 -40
- package/tasks/controllers/task.controller.js.map +1 -1
- package/tasks/decorators/index.d.ts +1 -0
- package/tasks/decorators/index.js +1 -0
- package/tasks/decorators/index.js.map +1 -1
- package/tasks/decorators/task-payload.decorator.d.ts +1 -0
- package/tasks/decorators/task-payload.decorator.js +12 -0
- package/tasks/decorators/task-payload.decorator.js.map +1 -0
- package/tasks/decorators/task.decorator.js +6 -2
- package/tasks/decorators/task.decorator.js.map +1 -1
- package/tasks/functions/compile-all-task-post-hooks.d.ts +1 -0
- package/tasks/functions/compile-all-task-post-hooks.js +27 -0
- package/tasks/functions/compile-all-task-post-hooks.js.map +1 -0
- package/tasks/functions/compile-task-hook-handle.d.ts +6 -0
- package/tasks/functions/compile-task-hook-handle.js +67 -0
- package/tasks/functions/compile-task-hook-handle.js.map +1 -0
- package/tasks/functions/create-task-hook.d.ts +9 -0
- package/tasks/functions/create-task-hook.js +13 -0
- package/tasks/functions/create-task-hook.js.map +1 -0
- package/tasks/functions/{create-task-message-receptor.d.ts → create-task-message-post.d.ts} +1 -1
- package/tasks/functions/{create-task-message-receptor.js → create-task-message-post.js} +10 -3
- package/tasks/functions/create-task-message-post.js.map +1 -0
- package/tasks/functions/register-task-post-hook-interceptors.d.ts +3 -0
- package/tasks/functions/register-task-post-hook-interceptors.js +86 -0
- package/tasks/functions/register-task-post-hook-interceptors.js.map +1 -0
- package/tasks/functions/run-task-post-hooks.d.ts +11 -0
- package/tasks/functions/run-task-post-hooks.js +18 -0
- package/tasks/functions/run-task-post-hooks.js.map +1 -0
- package/tasks/functions/task-message-operations.d.ts +18 -0
- package/tasks/functions/task-message-operations.js +100 -0
- package/tasks/functions/task-message-operations.js.map +1 -0
- package/tasks/functions/validate-task-payload.d.ts +2 -0
- package/tasks/functions/validate-task-payload.js +19 -0
- package/tasks/functions/validate-task-payload.js.map +1 -0
- package/tasks/hook-constants.d.ts +2 -0
- package/tasks/hook-constants.js +6 -0
- package/tasks/hook-constants.js.map +1 -0
- package/tasks/index.d.ts +3 -0
- package/tasks/index.js +3 -0
- package/tasks/index.js.map +1 -1
- package/tasks/interfaces/compiled-task-post-hooks.d.ts +17 -0
- package/tasks/interfaces/compiled-task-post-hooks.js +3 -0
- package/tasks/interfaces/compiled-task-post-hooks.js.map +1 -0
- package/tasks/interfaces/index.d.ts +3 -0
- package/tasks/interfaces/index.js +3 -0
- package/tasks/interfaces/index.js.map +1 -1
- package/tasks/interfaces/task-hook.d.ts +16 -0
- package/tasks/interfaces/task-hook.js +8 -0
- package/tasks/interfaces/task-hook.js.map +1 -0
- package/tasks/interfaces/task-object.d.ts +6 -2
- package/tasks/interfaces/task-post-hook.d.ts +2 -0
- package/tasks/interfaces/task-post-hook.js +3 -0
- package/tasks/interfaces/task-post-hook.js.map +1 -0
- package/tasks/interfaces/task-post-intercept.d.ts +1 -8
- package/tasks/interfaces/task-runner.d.ts +2 -1
- package/tasks/interfaces/task-settings.d.ts +7 -0
- package/tasks/services/task-runner.service.d.ts +24 -3
- package/tasks/services/task-runner.service.js +68 -28
- package/tasks/services/task-runner.service.js.map +1 -1
- package/translations/controllers/translation.controller.js +12 -9
- package/translations/controllers/translation.controller.js.map +1 -1
- package/translations/functions/create-translation-values.js +2 -5
- package/translations/functions/create-translation-values.js.map +1 -1
- package/translations/migrations/1723760669185-CreateTranslationTables.js +3 -3
- package/translations/migrations/1723760669185-CreateTranslationTables.js.map +1 -1
- package/translations/queries/translation-config.query.d.ts +1 -1
- package/translations/queries/translation-values.query.d.ts +1 -1
- package/translations/queries/translation-values.query.js +1 -1
- package/translations/queries/translation-values.query.js.map +1 -1
- package/translations/translations.controller.d.ts +1 -1
- package/translations/translations.controller.js +4 -4
- package/translations/translations.controller.js.map +1 -1
- package/database/functions/generate-id.d.ts +0 -2
- package/database/functions/generate-id.js.map +0 -1
- package/database/functions/use-protector.d.ts +0 -2
- package/database/functions/use-protector.js +0 -11
- package/database/functions/use-protector.js.map +0 -1
- package/database/interfaces/protector.d.ts +0 -51
- package/database/interfaces/protector.js.map +0 -1
- package/database/services/protect-builder.d.ts +0 -59
- package/database/services/protect-builder.js +0 -524
- package/database/services/protect-builder.js.map +0 -1
- package/security/functions/add-protect.d.ts +0 -2
- package/security/functions/add-protect.js +0 -11
- package/security/functions/add-protect.js.map +0 -1
- package/tasks/functions/create-task-message-receptor.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compileTaskPostHooks = exports.compileTaskHookHandle = void 0;
|
|
4
|
+
const class_injector_1 = require("@rockster/class-injector");
|
|
5
|
+
const constants_1 = require("../../controllers/constants");
|
|
6
|
+
const hook_constants_1 = require("../hook-constants");
|
|
7
|
+
const task_hook_1 = require("../interfaces/task-hook");
|
|
8
|
+
const compileTaskHookHandle = async (hook, taskObjectKey) => {
|
|
9
|
+
const hookDef = (core.taskHooks[hook.name] ?? hook);
|
|
10
|
+
const instance = hookDef.instance
|
|
11
|
+
?? await (0, class_injector_1.createInstance)(hookDef.executor);
|
|
12
|
+
hookDef.instance = instance;
|
|
13
|
+
const objectNote = classInjector.storage.findObject(hookDef.executor);
|
|
14
|
+
const interceptProperty = classInjector.storage
|
|
15
|
+
.getProperties(hookDef.executor)
|
|
16
|
+
.find((property) => property.propertyKey === "intercept");
|
|
17
|
+
const interceptorName = `TaskHook:${taskObjectKey}:${hook.name}`;
|
|
18
|
+
let run;
|
|
19
|
+
if (!interceptProperty || interceptProperty.overrides.length === 0) {
|
|
20
|
+
run = async (initialData) => {
|
|
21
|
+
await instance.intercept({
|
|
22
|
+
context: initialData.requestContext,
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const params = (0, class_injector_1.resolveParams)(objectNote.objectKey, interceptProperty.overrides, interceptProperty.metadata["design:paramtypes"], "intercept");
|
|
28
|
+
run = async (initialData) => {
|
|
29
|
+
const data = {
|
|
30
|
+
payload: initialData.payload,
|
|
31
|
+
requestContext: initialData.requestContext,
|
|
32
|
+
message: initialData.message,
|
|
33
|
+
[hook_constants_1.TASK_PAYLOAD_KEY]: initialData.payload,
|
|
34
|
+
[constants_1.REQUEST_CONTEXT_KEY]: initialData.requestContext,
|
|
35
|
+
[hook_constants_1.TASK_MESSAGE_KEY]: initialData.message,
|
|
36
|
+
};
|
|
37
|
+
const args = await Promise.all(params.map((param) => param(data)));
|
|
38
|
+
await instance.intercept(...args);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const handle = Object.assign(run, {
|
|
42
|
+
interceptorName,
|
|
43
|
+
phase: hook.phase,
|
|
44
|
+
});
|
|
45
|
+
return handle;
|
|
46
|
+
};
|
|
47
|
+
exports.compileTaskHookHandle = compileTaskHookHandle;
|
|
48
|
+
const compileTaskPostHooks = async (object) => {
|
|
49
|
+
const hooks = object.postHooks ?? [];
|
|
50
|
+
const compiled = {
|
|
51
|
+
beforeValidation: [],
|
|
52
|
+
beforeExecute: [],
|
|
53
|
+
};
|
|
54
|
+
for (const hook of hooks) {
|
|
55
|
+
const handle = await (0, exports.compileTaskHookHandle)(hook, object.objectKey);
|
|
56
|
+
if (hook.phase === task_hook_1.taskHookPhase.beforeValidation) {
|
|
57
|
+
compiled.beforeValidation.push(handle);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
compiled.beforeExecute.push(handle);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
object.compiledPostHooks = compiled;
|
|
64
|
+
return compiled;
|
|
65
|
+
};
|
|
66
|
+
exports.compileTaskPostHooks = compileTaskPostHooks;
|
|
67
|
+
//# sourceMappingURL=compile-task-hook-handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-task-hook-handle.js","sourceRoot":"./","sources":["tasks/functions/compile-task-hook-handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Instantiable } from "@rockster/common";
|
|
2
|
+
import { TaskHookDef, TaskHookPhase } from "../interfaces/task-hook";
|
|
3
|
+
export declare const createTaskHook: {
|
|
4
|
+
only: (def: {
|
|
5
|
+
name: string;
|
|
6
|
+
phase: TaskHookPhase;
|
|
7
|
+
executor: Instantiable;
|
|
8
|
+
}) => TaskHookDef;
|
|
9
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTaskHook = void 0;
|
|
4
|
+
const registerTaskHook = (def) => {
|
|
5
|
+
core.taskHooks[def.name] = def;
|
|
6
|
+
};
|
|
7
|
+
exports.createTaskHook = {
|
|
8
|
+
only: (def) => {
|
|
9
|
+
registerTaskHook(def);
|
|
10
|
+
return def;
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=create-task-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-task-hook.js","sourceRoot":"./","sources":["tasks/functions/create-task-hook.ts"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,CAAC,GAAgB,EAAE,EAAE;IAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAe,CAAC;AAC9C,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG;IAC3B,IAAI,EAAE,CAAC,GAIN,EAAe,EAAE;QACf,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACd,CAAC;CACH,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ObjectNote } from "@rockster/class-memory";
|
|
2
2
|
import { ITaskObject } from "../interfaces/task-object";
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function createTaskMessagePost(object: ObjectNote<ITaskObject>): void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createTaskMessagePost = createTaskMessagePost;
|
|
4
4
|
const action_decorator_1 = require("../../controllers/decorators/actions/action.decorator");
|
|
5
5
|
const controllers_1 = require("../../controllers");
|
|
6
|
-
|
|
6
|
+
const register_task_post_hook_interceptors_1 = require("./register-task-post-hook-interceptors");
|
|
7
|
+
function createTaskMessagePost(object) {
|
|
7
8
|
const ObjectController = object.MessageController;
|
|
8
9
|
const actionName = object
|
|
9
10
|
.naming
|
|
@@ -14,6 +15,12 @@ function createTaskMessageReceptor(object) {
|
|
|
14
15
|
return this.create(object, actionContent, requestContext);
|
|
15
16
|
};
|
|
16
17
|
Reflect.defineMetadata('design:paramtypes', [Payload, object], ObjectController.prototype, actionName);
|
|
18
|
+
if (object.postInterceptors?.length > 0) {
|
|
19
|
+
object.postInterceptors.forEach((Interceptor) => {
|
|
20
|
+
Interceptor()(ObjectController.prototype, actionName);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
(0, register_task_post_hook_interceptors_1.registerTaskPostHookInterceptors)(object);
|
|
17
24
|
(0, action_decorator_1.Action)({
|
|
18
25
|
public: object.settings.public,
|
|
19
26
|
response: () => object.MessageModel
|
|
@@ -21,4 +28,4 @@ function createTaskMessageReceptor(object) {
|
|
|
21
28
|
(0, controllers_1.ActionContent)()(ObjectController.prototype, actionName, 0);
|
|
22
29
|
(0, controllers_1.RequestContext)()(ObjectController.prototype, actionName, 1);
|
|
23
30
|
}
|
|
24
|
-
//# sourceMappingURL=create-task-message-
|
|
31
|
+
//# sourceMappingURL=create-task-message-post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-task-message-post.js","sourceRoot":"./","sources":["tasks/functions/create-task-message-post.ts"],"names":[],"mappings":";;AASA,sDAwCC;AA/CD,4FAA+E;AAC/E,mDAG2B;AAC3B,iGAA0F;AAE1F,SAAgB,qBAAqB,CAAC,MAA+B;IAElE,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM;SACrB,MAAM;SACN,UAAU,CAAC;IACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;QACnC,UAAU,aAAa,EAAE,cAAc;YACpC,OAAO,IAAI,CAAC,MAAM,CACf,MAAM,EACN,aAAa,EACb,cAAc,CAChB,CAAC;QACL,CAAC,CAAC;IAEL,OAAO,CAAC,cAAc,CACnB,mBAAmB,EACnB,CAAC,OAAO,EAAE,MAAM,CAAC,EACjB,gBAAgB,CAAC,SAAS,EAC1B,UAAU,CACZ,CAAC;IAEF,IAAI,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC7C,WAAW,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAA,uEAAgC,EAAC,MAAM,CAAC,CAAC;IAEzC,IAAA,yBAAM,EAAC;QACJ,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY;KACrC,CAAC,CAAE,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAA,2BAAa,GAAE,CACX,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAA,4BAAc,GAAE,CACZ,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.registerTaskPostHookInterceptors = void 0;
|
|
10
|
+
const class_injector_1 = require("@rockster/class-injector");
|
|
11
|
+
const core_1 = require("../../core");
|
|
12
|
+
const request_interceptor_1 = require("../../controllers/interfaces/enum/request-interceptor");
|
|
13
|
+
const constants_1 = require("../../controllers/constants");
|
|
14
|
+
const hook_constants_1 = require("../hook-constants");
|
|
15
|
+
const task_hook_1 = require("../interfaces/task-hook");
|
|
16
|
+
const constants_2 = require("../constants");
|
|
17
|
+
const getInterceptorFilter = (phase) => {
|
|
18
|
+
return phase === task_hook_1.taskHookPhase.beforeValidation
|
|
19
|
+
? request_interceptor_1.requestInterceptor.onBeforeValidation
|
|
20
|
+
: core_1.commonInterceptor.onBeforeExecute;
|
|
21
|
+
};
|
|
22
|
+
const getInterceptorName = (taskObjectKey, hookName) => `TaskHook:${taskObjectKey}:${hookName}`;
|
|
23
|
+
const createSyntheticExecutor = (taskObjectKey, hookName, interceptorName) => {
|
|
24
|
+
let SyntheticTaskHookExecutor = class SyntheticTaskHookExecutor {
|
|
25
|
+
async intercept(args) {
|
|
26
|
+
const object = constants_2.constants.taskObjects.find((item) => item.objectKey === taskObjectKey);
|
|
27
|
+
const compiled = object?.compiledPostHooks;
|
|
28
|
+
if (!compiled) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const hook = object?.postHooks?.find((item) => item.name === hookName);
|
|
32
|
+
const handles = hook?.phase === task_hook_1.taskHookPhase.beforeValidation
|
|
33
|
+
? compiled.beforeValidation
|
|
34
|
+
: compiled.beforeExecute;
|
|
35
|
+
const handle = handles?.find((item) => item.interceptorName === interceptorName);
|
|
36
|
+
if (!handle) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const ref = args.action?.requestRef;
|
|
40
|
+
const payload = ref
|
|
41
|
+
? args.context?.request?.[ref]
|
|
42
|
+
: undefined;
|
|
43
|
+
await handle({
|
|
44
|
+
payload,
|
|
45
|
+
requestContext: args.context,
|
|
46
|
+
[hook_constants_1.TASK_PAYLOAD_KEY]: payload,
|
|
47
|
+
[constants_1.REQUEST_CONTEXT_KEY]: args.context,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
SyntheticTaskHookExecutor = __decorate([
|
|
52
|
+
(0, class_injector_1.Injectable)()
|
|
53
|
+
], SyntheticTaskHookExecutor);
|
|
54
|
+
return SyntheticTaskHookExecutor;
|
|
55
|
+
};
|
|
56
|
+
const registerInterceptor = (object, hook) => {
|
|
57
|
+
const interceptorName = getInterceptorName(object.objectKey, hook.name);
|
|
58
|
+
if (core.interceptors[interceptorName]) {
|
|
59
|
+
return interceptorName;
|
|
60
|
+
}
|
|
61
|
+
const interceptor = {
|
|
62
|
+
name: interceptorName,
|
|
63
|
+
filters: [getInterceptorFilter(hook.phase)],
|
|
64
|
+
executor: createSyntheticExecutor(object.objectKey, hook.name, interceptorName),
|
|
65
|
+
};
|
|
66
|
+
core.interceptors[interceptor.name] = interceptor;
|
|
67
|
+
return interceptorName;
|
|
68
|
+
};
|
|
69
|
+
const registerTaskPostHookInterceptors = (object) => {
|
|
70
|
+
const hooks = object.postHooks;
|
|
71
|
+
if (!hooks?.length) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const ObjectController = object.MessageController;
|
|
75
|
+
const actionName = object.naming.postAction;
|
|
76
|
+
const property = core.storage.createProperty(ObjectController.prototype, actionName);
|
|
77
|
+
for (const hook of hooks) {
|
|
78
|
+
const interceptorName = registerInterceptor(object, hook);
|
|
79
|
+
const exists = property.interceptors.find((item) => item.name === interceptorName);
|
|
80
|
+
if (!exists) {
|
|
81
|
+
property.interceptors.push({ name: interceptorName });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
exports.registerTaskPostHookInterceptors = registerTaskPostHookInterceptors;
|
|
86
|
+
//# sourceMappingURL=register-task-post-hook-interceptors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-task-post-hook-interceptors.js","sourceRoot":"./","sources":["tasks/functions/register-task-post-hook-interceptors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ObjectNote } from "@rockster/class-memory";
|
|
2
|
+
import { ITaskMessage } from "@rockster/common/tasks";
|
|
3
|
+
import { IRequestContext } from "../../core/interfaces/request-context";
|
|
4
|
+
import { ITaskObject } from "../interfaces/task-object";
|
|
5
|
+
import { TaskHookPhase } from "../interfaces/task-hook";
|
|
6
|
+
export type RunTaskPostHooksContext = {
|
|
7
|
+
payload: unknown;
|
|
8
|
+
requestContext?: IRequestContext;
|
|
9
|
+
message?: Partial<ITaskMessage>;
|
|
10
|
+
};
|
|
11
|
+
export declare const runTaskPostHooks: (object: ObjectNote<ITaskObject>, phase: TaskHookPhase, ctx: RunTaskPostHooksContext) => Promise<void>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runTaskPostHooks = void 0;
|
|
4
|
+
const task_hook_1 = require("../interfaces/task-hook");
|
|
5
|
+
const runTaskPostHooks = async (object, phase, ctx) => {
|
|
6
|
+
const compiled = object.compiledPostHooks;
|
|
7
|
+
if (!compiled) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const handles = phase === task_hook_1.taskHookPhase.beforeValidation
|
|
11
|
+
? compiled.beforeValidation
|
|
12
|
+
: compiled.beforeExecute;
|
|
13
|
+
for (const handle of handles) {
|
|
14
|
+
await handle(ctx);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.runTaskPostHooks = runTaskPostHooks;
|
|
18
|
+
//# sourceMappingURL=run-task-post-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-task-post-hooks.js","sourceRoot":"./","sources":["tasks/functions/run-task-post-hooks.ts"],"names":[],"mappings":";;;AAIA,uDAAuE;AAQhE,MAAM,gBAAgB,GAAG,KAAK,EAClC,MAA+B,EAC/B,KAAoB,EACpB,GAA4B,EACd,EAAE;IAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO;IACV,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,KAAK,yBAAa,CAAC,gBAAgB;QACrD,CAAC,CAAC,QAAQ,CAAC,gBAAgB;QAC3B,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ObjectNote } from "@rockster/class-memory";
|
|
2
|
+
import { Instantiable } from "@rockster/common";
|
|
3
|
+
import { ITaskMessage } from "@rockster/common/tasks";
|
|
4
|
+
import { IQueryContent } from "../../query/interfaces/query";
|
|
5
|
+
import { ITaskObject } from "../interfaces/task-object";
|
|
6
|
+
import { IRequestContext } from "../../core/interfaces/request-context";
|
|
7
|
+
import { TaskHookPhase } from "../interfaces/task-hook";
|
|
8
|
+
export type CreateTaskMessageOptions = {
|
|
9
|
+
requestContext?: IRequestContext;
|
|
10
|
+
skipPhases?: TaskHookPhase[];
|
|
11
|
+
};
|
|
12
|
+
/** Same semantics as {@link TaskController.query}. */
|
|
13
|
+
export declare function queryTaskMessages(content: IQueryContent<any>): Promise<import("../../query/interfaces/query").Query<any>>;
|
|
14
|
+
/** Same semantics as {@link TaskController.create}. */
|
|
15
|
+
export declare function createTaskMessage(task: ObjectNote<ITaskObject>, payload: unknown, options?: CreateTaskMessageOptions): Promise<ITaskMessage>;
|
|
16
|
+
export declare function createTaskMessage(task: Instantiable, payload: unknown, options?: CreateTaskMessageOptions): Promise<ITaskMessage>;
|
|
17
|
+
/** Same semantics as {@link TaskController.retry}. */
|
|
18
|
+
export declare function retryTaskMessage(object: ObjectNote<ITaskObject>, message: ITaskMessage): Promise<ITaskMessage>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.queryTaskMessages = queryTaskMessages;
|
|
4
|
+
exports.createTaskMessage = createTaskMessage;
|
|
5
|
+
exports.retryTaskMessage = retryTaskMessage;
|
|
6
|
+
const common_1 = require("@rockster/common");
|
|
7
|
+
const tasks_1 = require("@rockster/common/tasks");
|
|
8
|
+
const execute_post_1 = require("../../command/functions/execute-post");
|
|
9
|
+
const use_repository_1 = require("../../database/functions/use-repository");
|
|
10
|
+
const execute_query_1 = require("../../query/functions/execute-query");
|
|
11
|
+
const generate_entity_id_1 = require("./generate-entity-id");
|
|
12
|
+
const request_context_1 = require("../../core/contexts/request-context");
|
|
13
|
+
const task_hook_1 = require("../interfaces/task-hook");
|
|
14
|
+
const run_task_post_hooks_1 = require("./run-task-post-hooks");
|
|
15
|
+
const validate_task_payload_1 = require("./validate-task-payload");
|
|
16
|
+
function isTaskObjectNote(task) {
|
|
17
|
+
return typeof task === "object" && task != null && "objectKey" in task;
|
|
18
|
+
}
|
|
19
|
+
function resolveTaskObject(task) {
|
|
20
|
+
if (isTaskObjectNote(task)) {
|
|
21
|
+
return task;
|
|
22
|
+
}
|
|
23
|
+
return core.storage.findObject(task);
|
|
24
|
+
}
|
|
25
|
+
const createEmptyRequestContext = () => ({
|
|
26
|
+
response: {},
|
|
27
|
+
request: {},
|
|
28
|
+
pendings: [],
|
|
29
|
+
callbacks: {
|
|
30
|
+
success: [],
|
|
31
|
+
error: [],
|
|
32
|
+
},
|
|
33
|
+
onSuccess: async () => { },
|
|
34
|
+
onError: async () => { },
|
|
35
|
+
});
|
|
36
|
+
function resolveRequestContext(options) {
|
|
37
|
+
return options?.requestContext
|
|
38
|
+
?? request_context_1.requestContextStore.getStore()
|
|
39
|
+
?? createEmptyRequestContext();
|
|
40
|
+
}
|
|
41
|
+
/** Same semantics as {@link TaskController.query}. */
|
|
42
|
+
async function queryTaskMessages(content) {
|
|
43
|
+
return (0, execute_query_1.executeQuery)({ content });
|
|
44
|
+
}
|
|
45
|
+
async function createTaskMessage(task, payload, options) {
|
|
46
|
+
const object = resolveTaskObject(task);
|
|
47
|
+
const skipPhases = new Set(options?.skipPhases ?? []);
|
|
48
|
+
const requestContext = resolveRequestContext(options);
|
|
49
|
+
const Payload = object.payload();
|
|
50
|
+
if (!skipPhases.has(task_hook_1.taskHookPhase.beforeValidation)) {
|
|
51
|
+
await (0, run_task_post_hooks_1.runTaskPostHooks)(object, task_hook_1.taskHookPhase.beforeValidation, {
|
|
52
|
+
payload,
|
|
53
|
+
requestContext,
|
|
54
|
+
});
|
|
55
|
+
await (0, validate_task_payload_1.validateTaskPayload)(Payload, payload);
|
|
56
|
+
}
|
|
57
|
+
const data = {
|
|
58
|
+
id: (0, generate_entity_id_1.generateEntityId)(),
|
|
59
|
+
partitionId: object.nextPartitionId(),
|
|
60
|
+
payload,
|
|
61
|
+
createdAt: new Date(),
|
|
62
|
+
lastModifiedAt: new Date(),
|
|
63
|
+
};
|
|
64
|
+
if (!skipPhases.has(task_hook_1.taskHookPhase.beforeExecute)) {
|
|
65
|
+
await (0, run_task_post_hooks_1.runTaskPostHooks)(object, task_hook_1.taskHookPhase.beforeExecute, {
|
|
66
|
+
payload,
|
|
67
|
+
requestContext,
|
|
68
|
+
message: data,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return (0, execute_post_1.executePost)({
|
|
72
|
+
type: "create",
|
|
73
|
+
target: object.MessageModel,
|
|
74
|
+
idProperty: "id",
|
|
75
|
+
data,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/** Same semantics as {@link TaskController.retry}. */
|
|
79
|
+
async function retryTaskMessage(object, message) {
|
|
80
|
+
const repository = (0, use_repository_1.useRepository)(object.MessageModel);
|
|
81
|
+
const stored = await repository.findOneBy({
|
|
82
|
+
id: message.id,
|
|
83
|
+
});
|
|
84
|
+
if (!stored || stored.status !== tasks_1.TaskMessageStatus.failed) {
|
|
85
|
+
throw new common_1.BadRequestError({
|
|
86
|
+
message: `Reprocessing unavailable for this task`,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
const data = {
|
|
90
|
+
payload: message.payload,
|
|
91
|
+
lastModifiedAt: new Date(),
|
|
92
|
+
status: tasks_1.TaskMessageStatus.pending,
|
|
93
|
+
};
|
|
94
|
+
await repository.update({
|
|
95
|
+
id: message.id,
|
|
96
|
+
partitionId: stored.partitionId,
|
|
97
|
+
}, data);
|
|
98
|
+
return { ...stored, ...data };
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=task-message-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-message-operations.js","sourceRoot":"./","sources":["tasks/functions/task-message-operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateTaskPayload = void 0;
|
|
4
|
+
const class_pipe_1 = require("@rockster/class-pipe");
|
|
5
|
+
const global_1 = require("../../global");
|
|
6
|
+
const validateTaskPayload = async (Payload, payload) => {
|
|
7
|
+
const sanitized = {};
|
|
8
|
+
const errors = await (0, class_pipe_1.validate)(Payload, payload, sanitized, {
|
|
9
|
+
groups: [global_1.actionGroups.create],
|
|
10
|
+
});
|
|
11
|
+
if (errors) {
|
|
12
|
+
throw errors;
|
|
13
|
+
}
|
|
14
|
+
if (payload && typeof payload === "object" && !Array.isArray(payload)) {
|
|
15
|
+
Object.assign(payload, sanitized);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.validateTaskPayload = validateTaskPayload;
|
|
19
|
+
//# sourceMappingURL=validate-task-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-task-payload.js","sourceRoot":"./","sources":["tasks/functions/validate-task-payload.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,yCAA4C;AAErC,MAAM,mBAAmB,GAAG,KAAK,EACrC,OAAqB,EACrB,OAAgB,EACF,EAAE;IAChB,MAAM,SAAS,GAAG,EAA6B,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAQ,EAC1B,OAAO,EACP,OAAO,EACP,SAAS,EACT;QACG,MAAM,EAAE,CAAC,qBAAY,CAAC,MAAM,CAAC;KAC/B,CACH,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACV,MAAM,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,OAAiB,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,mBAAmB,uBAqB9B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TASK_MESSAGE_KEY = exports.TASK_PAYLOAD_KEY = void 0;
|
|
4
|
+
exports.TASK_PAYLOAD_KEY = 'TASK_PAYLOAD';
|
|
5
|
+
exports.TASK_MESSAGE_KEY = 'TASK_MESSAGE';
|
|
6
|
+
//# sourceMappingURL=hook-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-constants.js","sourceRoot":"./","sources":["tasks/hook-constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,gBAAgB,GAAG,cAAc,CAAC"}
|
package/tasks/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from './interfaces';
|
|
2
2
|
export * from './decorators';
|
|
3
|
+
export * from './hook-constants';
|
|
4
|
+
export * from './functions/create-task-hook';
|
|
3
5
|
export * from './functions/throw-task-error';
|
|
6
|
+
export * from './functions/task-message-operations';
|
|
4
7
|
export * from './tasks.module';
|
|
5
8
|
export * from './models';
|
package/tasks/index.js
CHANGED
|
@@ -16,7 +16,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./interfaces"), exports);
|
|
18
18
|
__exportStar(require("./decorators"), exports);
|
|
19
|
+
__exportStar(require("./hook-constants"), exports);
|
|
20
|
+
__exportStar(require("./functions/create-task-hook"), exports);
|
|
19
21
|
__exportStar(require("./functions/throw-task-error"), exports);
|
|
22
|
+
__exportStar(require("./functions/task-message-operations"), exports);
|
|
20
23
|
__exportStar(require("./tasks.module"), exports);
|
|
21
24
|
__exportStar(require("./models"), exports);
|
|
22
25
|
//# sourceMappingURL=index.js.map
|
package/tasks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,+DAA6C;AAC7C,iDAA+B;AAC/B,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,mDAAiC;AACjC,+DAA6C;AAC7C,+DAA6C;AAC7C,sEAAoD;AACpD,iDAA+B;AAC/B,2CAAyB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Dictionary } from "@rockster/common";
|
|
2
|
+
import { IRequestContext } from "../../core/interfaces/request-context";
|
|
3
|
+
import { ITaskMessage } from "@rockster/common/tasks";
|
|
4
|
+
export type TaskPostHookInitialData = Dictionary<unknown> & {
|
|
5
|
+
payload: unknown;
|
|
6
|
+
requestContext?: IRequestContext;
|
|
7
|
+
message?: Partial<ITaskMessage>;
|
|
8
|
+
};
|
|
9
|
+
export type TaskPostHookHandle = {
|
|
10
|
+
(initialData: TaskPostHookInitialData): Promise<void>;
|
|
11
|
+
interceptorName: string;
|
|
12
|
+
phase: string;
|
|
13
|
+
};
|
|
14
|
+
export type CompiledTaskPostHooks = {
|
|
15
|
+
beforeValidation: TaskPostHookHandle[];
|
|
16
|
+
beforeExecute: TaskPostHookHandle[];
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiled-task-post-hooks.js","sourceRoot":"./","sources":["tasks/interfaces/compiled-task-post-hooks.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from './task-naming';
|
|
2
2
|
export * from './task-object';
|
|
3
|
+
export * from './task-hook';
|
|
4
|
+
export * from './task-post-hook';
|
|
5
|
+
export * from './compiled-task-post-hooks';
|
|
3
6
|
export * from './task-post-intercept';
|
|
4
7
|
export * from './task-runner';
|
|
5
8
|
export * from './task-search-intercept';
|
|
@@ -16,6 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./task-naming"), exports);
|
|
18
18
|
__exportStar(require("./task-object"), exports);
|
|
19
|
+
__exportStar(require("./task-hook"), exports);
|
|
20
|
+
__exportStar(require("./task-post-hook"), exports);
|
|
21
|
+
__exportStar(require("./compiled-task-post-hooks"), exports);
|
|
19
22
|
__exportStar(require("./task-post-intercept"), exports);
|
|
20
23
|
__exportStar(require("./task-runner"), exports);
|
|
21
24
|
__exportStar(require("./task-search-intercept"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,wDAAsC;AACtC,gDAA8B;AAC9B,0DAAwC;AACxC,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,mDAAiC;AACjC,6DAA2C;AAC3C,wDAAsC;AACtC,gDAA8B;AAC9B,0DAAwC;AACxC,kDAAgC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Instantiable } from "@rockster/common";
|
|
2
|
+
export declare const taskHookPhase: {
|
|
3
|
+
readonly beforeValidation: "taskHook.beforeValidation";
|
|
4
|
+
readonly beforeExecute: "taskHook.beforeExecute";
|
|
5
|
+
};
|
|
6
|
+
export type TaskHookPhase = typeof taskHookPhase[keyof typeof taskHookPhase];
|
|
7
|
+
export type TaskHookDef = {
|
|
8
|
+
name: string;
|
|
9
|
+
phase: TaskHookPhase;
|
|
10
|
+
executor: Instantiable;
|
|
11
|
+
};
|
|
12
|
+
export type TaskHook = TaskHookDef & {
|
|
13
|
+
instance?: {
|
|
14
|
+
intercept(...args: unknown[]): Promise<unknown>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.taskHookPhase = void 0;
|
|
4
|
+
exports.taskHookPhase = {
|
|
5
|
+
beforeValidation: 'taskHook.beforeValidation',
|
|
6
|
+
beforeExecute: 'taskHook.beforeExecute',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=task-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-hook.js","sourceRoot":"./","sources":["tasks/interfaces/task-hook.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAG;IAC1B,gBAAgB,EAAE,2BAA2B;IAC7C,aAAa,EAAE,wBAAwB;CAChC,CAAC"}
|
|
@@ -4,6 +4,9 @@ import { IObject } from "../../core";
|
|
|
4
4
|
import { ITaskSettings } from "./task-settings";
|
|
5
5
|
import { PgTableWithColumns } from "drizzle-orm/pg-core";
|
|
6
6
|
import { ITaskNaming } from "./task-naming";
|
|
7
|
+
import { CompiledTaskPostHooks } from "./compiled-task-post-hooks";
|
|
8
|
+
import { TaskPostHook } from "./task-post-hook";
|
|
9
|
+
import { TaskPostIntercept } from "./task-post-intercept";
|
|
7
10
|
export interface ITaskObject extends IObject {
|
|
8
11
|
type: ObjectType.task;
|
|
9
12
|
settings: ITaskSettings<unknown>;
|
|
@@ -14,6 +17,7 @@ export interface ITaskObject extends IObject {
|
|
|
14
17
|
Query: MethodDecorator;
|
|
15
18
|
naming: ITaskNaming;
|
|
16
19
|
nextPartitionId: () => number;
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
postInterceptors?: TaskPostIntercept[];
|
|
21
|
+
postHooks?: TaskPostHook[];
|
|
22
|
+
compiledPostHooks?: CompiledTaskPostHooks;
|
|
19
23
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-post-hook.js","sourceRoot":"./","sources":["tasks/interfaces/task-post-hook.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export type TaskOnPostArgs<T> = {
|
|
3
|
-
requestContext: IRequestContext;
|
|
4
|
-
messages: T[];
|
|
5
|
-
};
|
|
6
|
-
export interface ITaskPostIntercept<T> {
|
|
7
|
-
onPost(args: TaskOnPostArgs<T>): Promise<void>;
|
|
8
|
-
}
|
|
1
|
+
export type TaskPostIntercept = () => (target: any, propertyKey: string) => void;
|