@decaf-ts/core 0.7.59 → 0.7.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/esm/identity/decorators.js +3 -3
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +5 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/migrations/Migration.d.ts +19 -0
- package/lib/esm/migrations/Migration.js +73 -0
- package/lib/esm/migrations/Migration.js.map +1 -0
- package/lib/esm/migrations/MigrationService.d.ts +25 -0
- package/lib/esm/migrations/MigrationService.js +206 -0
- package/lib/esm/migrations/MigrationService.js.map +1 -0
- package/lib/esm/migrations/constants.d.ts +2 -0
- package/lib/esm/migrations/constants.js +5 -0
- package/lib/esm/migrations/constants.js.map +1 -0
- package/lib/esm/migrations/decorators.d.ts +7 -0
- package/lib/esm/migrations/decorators.js +49 -0
- package/lib/esm/migrations/decorators.js.map +1 -0
- package/lib/esm/migrations/index.d.ts +5 -0
- package/lib/esm/migrations/index.js +6 -0
- package/lib/esm/migrations/index.js.map +1 -0
- package/lib/esm/migrations/types.d.ts +23 -0
- package/lib/esm/migrations/types.js +2 -0
- package/lib/esm/migrations/types.js.map +1 -0
- package/lib/esm/model/SequenceModel.js +1 -1
- package/lib/esm/model/SequenceModel.js.map +1 -1
- package/lib/esm/model/construction.js +4 -3
- package/lib/esm/model/construction.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +0 -1
- package/lib/esm/model/decorators.js +3 -8
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/overrides/Metadata.d.ts +6 -1
- package/lib/esm/overrides/Model.d.ts +0 -1
- package/lib/esm/overrides/index.d.ts +0 -1
- package/lib/esm/overrides/index.js +0 -1
- package/lib/esm/overrides/index.js.map +1 -1
- package/lib/esm/overrides/injectables.d.ts +1 -1
- package/lib/esm/overrides/overrides.js +17 -9
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Adapter.d.ts +11 -18
- package/lib/esm/persistence/Adapter.js +74 -54
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/Context.d.ts +3 -3
- package/lib/esm/persistence/Context.js +2 -2
- package/lib/esm/persistence/Context.js.map +1 -1
- package/lib/esm/persistence/Dispatch.d.ts +7 -3
- package/lib/esm/persistence/Dispatch.js +34 -13
- package/lib/esm/persistence/Dispatch.js.map +1 -1
- package/lib/esm/persistence/ObserverHandler.js +1 -1
- package/lib/esm/persistence/ObserverHandler.js.map +1 -1
- package/lib/esm/persistence/Sequence.d.ts +9 -5
- package/lib/esm/persistence/Sequence.js +19 -15
- package/lib/esm/persistence/Sequence.js.map +1 -1
- package/lib/esm/persistence/constants.d.ts +11 -1
- package/lib/esm/persistence/constants.js +26 -3
- package/lib/esm/persistence/constants.js.map +1 -1
- package/lib/esm/persistence/decorators.d.ts +24 -0
- package/lib/esm/persistence/decorators.js +50 -0
- package/lib/esm/persistence/decorators.js.map +1 -0
- package/lib/esm/persistence/errors.d.ts +3 -3
- package/lib/esm/persistence/errors.js.map +1 -1
- package/lib/esm/persistence/event-filters.d.ts +20 -0
- package/lib/esm/persistence/event-filters.js +60 -0
- package/lib/esm/persistence/event-filters.js.map +1 -0
- package/lib/esm/persistence/index.d.ts +1 -1
- package/lib/esm/persistence/index.js +1 -1
- package/lib/esm/persistence/index.js.map +1 -1
- package/lib/esm/persistence/types.d.ts +9 -6
- package/lib/esm/query/Paginator.d.ts +4 -4
- package/lib/esm/query/Paginator.js +18 -8
- package/lib/esm/query/Paginator.js.map +1 -1
- package/lib/esm/query/Statement.d.ts +5 -4
- package/lib/esm/query/Statement.js +16 -13
- package/lib/esm/query/Statement.js.map +1 -1
- package/lib/esm/query/selectors.d.ts +4 -1
- package/lib/esm/ram/RamAdapter.d.ts +6 -5
- package/lib/esm/ram/RamAdapter.js +20 -16
- package/lib/esm/ram/RamAdapter.js.map +1 -1
- package/lib/esm/ram/RamPaginator.d.ts +1 -1
- package/lib/esm/ram/RamPaginator.js +6 -2
- package/lib/esm/ram/RamPaginator.js.map +1 -1
- package/lib/esm/ram/types.d.ts +2 -0
- package/lib/esm/repository/Repository.d.ts +10 -8
- package/lib/esm/repository/Repository.js +107 -76
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/esm/repository/decorators.d.ts +1 -1
- package/lib/esm/repository/decorators.js +1 -1
- package/lib/esm/repository/decorators.js.map +1 -1
- package/lib/esm/repository/injectables.d.ts +2 -1
- package/lib/esm/repository/injectables.js.map +1 -1
- package/lib/esm/services/ModelService.d.ts +42 -0
- package/lib/esm/services/ModelService.js +236 -0
- package/lib/esm/services/ModelService.js.map +1 -0
- package/lib/esm/services/PersistenceService.d.ts +16 -0
- package/lib/esm/services/PersistenceService.js +34 -0
- package/lib/esm/services/PersistenceService.js.map +1 -0
- package/lib/esm/services/index.d.ts +3 -0
- package/lib/esm/services/index.js +4 -0
- package/lib/esm/services/index.js.map +1 -0
- package/lib/esm/services/services.d.ts +93 -0
- package/lib/esm/services/services.js +241 -0
- package/lib/esm/services/services.js.map +1 -0
- package/lib/esm/tasks/TaskContext.d.ts +10 -0
- package/lib/esm/tasks/TaskContext.js +22 -0
- package/lib/esm/tasks/TaskContext.js.map +1 -0
- package/lib/esm/tasks/TaskEngine.d.ts +64 -0
- package/lib/esm/tasks/TaskEngine.js +341 -0
- package/lib/esm/tasks/TaskEngine.js.map +1 -0
- package/lib/esm/tasks/TaskEventBus.d.ts +6 -0
- package/lib/esm/tasks/TaskEventBus.js +14 -0
- package/lib/esm/tasks/TaskEventBus.js.map +1 -0
- package/lib/esm/tasks/TaskEventRepository.d.ts +10 -0
- package/lib/esm/tasks/TaskEventRepository.js +35 -0
- package/lib/esm/tasks/TaskEventRepository.js.map +1 -0
- package/lib/esm/tasks/TaskHandler.d.ts +11 -0
- package/lib/esm/tasks/TaskHandler.js +28 -0
- package/lib/esm/tasks/TaskHandler.js.map +1 -0
- package/lib/esm/tasks/TaskHandlerRegistry.d.ts +8 -0
- package/lib/esm/tasks/TaskHandlerRegistry.js +32 -0
- package/lib/esm/tasks/TaskHandlerRegistry.js.map +1 -0
- package/lib/esm/tasks/TaskService.d.ts +11 -0
- package/lib/esm/tasks/TaskService.js +25 -0
- package/lib/esm/tasks/TaskService.js.map +1 -0
- package/lib/esm/tasks/constants.d.ts +26 -0
- package/lib/esm/tasks/constants.js +32 -0
- package/lib/esm/tasks/constants.js.map +1 -0
- package/lib/esm/tasks/decorators.d.ts +4 -0
- package/lib/esm/tasks/decorators.js +20 -0
- package/lib/esm/tasks/decorators.js.map +1 -0
- package/lib/esm/tasks/index.d.ts +3 -0
- package/lib/esm/tasks/index.js +4 -0
- package/lib/esm/tasks/index.js.map +1 -0
- package/lib/esm/tasks/models/TaskBackoffModel.d.ts +10 -0
- package/lib/esm/tasks/models/TaskBackoffModel.js +47 -0
- package/lib/esm/tasks/models/TaskBackoffModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskBaseModel.d.ts +14 -0
- package/lib/esm/tasks/models/TaskBaseModel.js +30 -0
- package/lib/esm/tasks/models/TaskBaseModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskErrorModel.d.ts +9 -0
- package/lib/esm/tasks/models/TaskErrorModel.js +43 -0
- package/lib/esm/tasks/models/TaskErrorModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskEventModel.d.ts +11 -0
- package/lib/esm/tasks/models/TaskEventModel.js +60 -0
- package/lib/esm/tasks/models/TaskEventModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.d.ts +9 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.js +41 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskModel.d.ts +28 -0
- package/lib/esm/tasks/models/TaskModel.js +114 -0
- package/lib/esm/tasks/models/TaskModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskStepResultModel.d.ts +10 -0
- package/lib/esm/tasks/models/TaskStepResultModel.js +40 -0
- package/lib/esm/tasks/models/TaskStepResultModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +7 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js +32 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -0
- package/lib/esm/tasks/models/index.d.ts +1 -0
- package/lib/esm/tasks/models/index.js +2 -0
- package/lib/esm/tasks/models/index.js.map +1 -0
- package/lib/esm/tasks/types.d.ts +22 -0
- package/lib/esm/tasks/types.js +2 -0
- package/lib/esm/tasks/types.js.map +1 -0
- package/lib/esm/tasks/utils.d.ts +5 -0
- package/lib/esm/tasks/utils.js +24 -0
- package/lib/esm/tasks/utils.js.map +1 -0
- package/lib/esm/utils/ContextualLoggedClass.d.ts +28 -7
- package/lib/esm/utils/ContextualLoggedClass.js +100 -22
- package/lib/esm/utils/ContextualLoggedClass.js.map +1 -1
- package/lib/esm/utils/decorators.d.ts +4 -4
- package/lib/esm/utils/decorators.js +1 -1
- package/lib/esm/utils/decorators.js.map +1 -1
- package/lib/esm/utils/index.d.ts +0 -1
- package/lib/esm/utils/index.js +0 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/utils.d.ts +1 -0
- package/lib/esm/utils/utils.js +24 -0
- package/lib/esm/utils/utils.js.map +1 -1
- package/lib/identity/decorators.cjs +2 -2
- package/lib/identity/decorators.js.map +1 -1
- package/lib/index.cjs +5 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js.map +1 -1
- package/lib/migrations/Migration.cjs +77 -0
- package/lib/migrations/Migration.d.ts +19 -0
- package/lib/migrations/Migration.js.map +1 -0
- package/lib/migrations/MigrationService.cjs +210 -0
- package/lib/migrations/MigrationService.d.ts +25 -0
- package/lib/migrations/MigrationService.js.map +1 -0
- package/lib/migrations/constants.cjs +8 -0
- package/lib/migrations/constants.d.ts +2 -0
- package/lib/migrations/constants.js.map +1 -0
- package/lib/migrations/decorators.cjs +52 -0
- package/lib/migrations/decorators.d.ts +7 -0
- package/lib/migrations/decorators.js.map +1 -0
- package/lib/migrations/index.cjs +22 -0
- package/lib/migrations/index.d.ts +5 -0
- package/lib/migrations/index.js.map +1 -0
- package/lib/migrations/types.cjs +3 -0
- package/lib/migrations/types.d.ts +23 -0
- package/lib/migrations/types.js.map +1 -0
- package/lib/model/SequenceModel.cjs +1 -1
- package/lib/model/SequenceModel.js.map +1 -1
- package/lib/model/construction.cjs +4 -3
- package/lib/model/construction.js.map +1 -1
- package/lib/model/decorators.cjs +2 -8
- package/lib/model/decorators.d.ts +0 -1
- package/lib/model/decorators.js.map +1 -1
- package/lib/overrides/Metadata.d.ts +6 -1
- package/lib/overrides/Model.d.ts +0 -1
- package/lib/overrides/index.cjs +0 -1
- package/lib/overrides/index.d.ts +0 -1
- package/lib/overrides/index.js.map +1 -1
- package/lib/overrides/injectables.d.ts +1 -1
- package/lib/overrides/overrides.cjs +17 -9
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Adapter.cjs +72 -52
- package/lib/persistence/Adapter.d.ts +11 -18
- package/lib/persistence/Adapter.js.map +1 -1
- package/lib/persistence/Context.cjs +2 -2
- package/lib/persistence/Context.d.ts +3 -3
- package/lib/persistence/Context.js.map +1 -1
- package/lib/persistence/Dispatch.cjs +34 -13
- package/lib/persistence/Dispatch.d.ts +7 -3
- package/lib/persistence/Dispatch.js.map +1 -1
- package/lib/persistence/ObserverHandler.cjs +1 -1
- package/lib/persistence/ObserverHandler.js.map +1 -1
- package/lib/persistence/Sequence.cjs +19 -15
- package/lib/persistence/Sequence.d.ts +9 -5
- package/lib/persistence/Sequence.js.map +1 -1
- package/lib/persistence/constants.cjs +26 -3
- package/lib/persistence/constants.d.ts +11 -1
- package/lib/persistence/constants.js.map +1 -1
- package/lib/persistence/decorators.cjs +54 -0
- package/lib/persistence/decorators.d.ts +24 -0
- package/lib/persistence/decorators.js.map +1 -0
- package/lib/persistence/errors.d.ts +3 -3
- package/lib/persistence/errors.js.map +1 -1
- package/lib/persistence/event-filters.cjs +71 -0
- package/lib/persistence/event-filters.d.ts +20 -0
- package/lib/persistence/event-filters.js.map +1 -0
- package/lib/persistence/index.cjs +1 -1
- package/lib/persistence/index.d.ts +1 -1
- package/lib/persistence/index.js.map +1 -1
- package/lib/persistence/types.d.ts +9 -6
- package/lib/query/Paginator.cjs +26 -16
- package/lib/query/Paginator.d.ts +4 -4
- package/lib/query/Paginator.js.map +1 -1
- package/lib/query/Statement.cjs +40 -37
- package/lib/query/Statement.d.ts +5 -4
- package/lib/query/Statement.js.map +1 -1
- package/lib/query/selectors.d.ts +4 -1
- package/lib/ram/RamAdapter.cjs +20 -16
- package/lib/ram/RamAdapter.d.ts +6 -5
- package/lib/ram/RamAdapter.js.map +1 -1
- package/lib/ram/RamPaginator.cjs +6 -2
- package/lib/ram/RamPaginator.d.ts +1 -1
- package/lib/ram/RamPaginator.js.map +1 -1
- package/lib/ram/types.d.ts +2 -0
- package/lib/repository/Repository.cjs +106 -75
- package/lib/repository/Repository.d.ts +10 -8
- package/lib/repository/Repository.js.map +1 -1
- package/lib/repository/decorators.d.ts +1 -1
- package/lib/repository/decorators.js.map +1 -1
- package/lib/repository/injectables.d.ts +2 -1
- package/lib/repository/injectables.js.map +1 -1
- package/lib/services/ModelService.cjs +240 -0
- package/lib/services/ModelService.d.ts +42 -0
- package/lib/services/ModelService.js.map +1 -0
- package/lib/services/PersistenceService.cjs +38 -0
- package/lib/services/PersistenceService.d.ts +16 -0
- package/lib/services/PersistenceService.js.map +1 -0
- package/lib/services/index.cjs +20 -0
- package/lib/services/index.d.ts +3 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/services.cjs +246 -0
- package/lib/services/services.d.ts +93 -0
- package/lib/services/services.js.map +1 -0
- package/lib/tasks/TaskContext.cjs +26 -0
- package/lib/tasks/TaskContext.d.ts +10 -0
- package/lib/tasks/TaskContext.js.map +1 -0
- package/lib/tasks/TaskEngine.cjs +345 -0
- package/lib/tasks/TaskEngine.d.ts +64 -0
- package/lib/tasks/TaskEngine.js.map +1 -0
- package/lib/tasks/TaskEventBus.cjs +18 -0
- package/lib/tasks/TaskEventBus.d.ts +6 -0
- package/lib/tasks/TaskEventBus.js.map +1 -0
- package/lib/tasks/TaskEventRepository.cjs +38 -0
- package/lib/tasks/TaskEventRepository.d.ts +10 -0
- package/lib/tasks/TaskEventRepository.js.map +1 -0
- package/lib/tasks/TaskHandler.cjs +32 -0
- package/lib/tasks/TaskHandler.d.ts +11 -0
- package/lib/tasks/TaskHandler.js.map +1 -0
- package/lib/tasks/TaskHandlerRegistry.cjs +36 -0
- package/lib/tasks/TaskHandlerRegistry.d.ts +8 -0
- package/lib/tasks/TaskHandlerRegistry.js.map +1 -0
- package/lib/tasks/TaskService.cjs +29 -0
- package/lib/tasks/TaskService.d.ts +11 -0
- package/lib/tasks/TaskService.js.map +1 -0
- package/lib/tasks/constants.cjs +35 -0
- package/lib/tasks/constants.d.ts +26 -0
- package/lib/tasks/constants.js.map +1 -0
- package/lib/tasks/decorators.cjs +23 -0
- package/lib/tasks/decorators.d.ts +4 -0
- package/lib/tasks/decorators.js.map +1 -0
- package/lib/tasks/index.cjs +20 -0
- package/lib/tasks/index.d.ts +3 -0
- package/lib/tasks/index.js.map +1 -0
- package/lib/tasks/models/TaskBackoffModel.cjs +50 -0
- package/lib/tasks/models/TaskBackoffModel.d.ts +10 -0
- package/lib/tasks/models/TaskBackoffModel.js.map +1 -0
- package/lib/tasks/models/TaskBaseModel.cjs +34 -0
- package/lib/tasks/models/TaskBaseModel.d.ts +14 -0
- package/lib/tasks/models/TaskBaseModel.js.map +1 -0
- package/lib/tasks/models/TaskErrorModel.cjs +46 -0
- package/lib/tasks/models/TaskErrorModel.d.ts +9 -0
- package/lib/tasks/models/TaskErrorModel.js.map +1 -0
- package/lib/tasks/models/TaskEventModel.cjs +63 -0
- package/lib/tasks/models/TaskEventModel.d.ts +11 -0
- package/lib/tasks/models/TaskEventModel.js.map +1 -0
- package/lib/tasks/models/TaskLogEntryModel.cjs +44 -0
- package/lib/tasks/models/TaskLogEntryModel.d.ts +9 -0
- package/lib/tasks/models/TaskLogEntryModel.js.map +1 -0
- package/lib/tasks/models/TaskModel.cjs +117 -0
- package/lib/tasks/models/TaskModel.d.ts +28 -0
- package/lib/tasks/models/TaskModel.js.map +1 -0
- package/lib/tasks/models/TaskStepResultModel.cjs +43 -0
- package/lib/tasks/models/TaskStepResultModel.d.ts +10 -0
- package/lib/tasks/models/TaskStepResultModel.js.map +1 -0
- package/lib/tasks/models/TaskStepSpecModel.cjs +35 -0
- package/lib/tasks/models/TaskStepSpecModel.d.ts +7 -0
- package/lib/tasks/models/TaskStepSpecModel.js.map +1 -0
- package/lib/tasks/models/index.cjs +18 -0
- package/lib/tasks/models/index.d.ts +1 -0
- package/lib/tasks/models/index.js.map +1 -0
- package/lib/tasks/types.cjs +3 -0
- package/lib/tasks/types.d.ts +22 -0
- package/lib/tasks/types.js.map +1 -0
- package/lib/tasks/utils.cjs +29 -0
- package/lib/tasks/utils.d.ts +5 -0
- package/lib/tasks/utils.js.map +1 -0
- package/lib/utils/ContextualLoggedClass.cjs +100 -21
- package/lib/utils/ContextualLoggedClass.d.ts +28 -7
- package/lib/utils/ContextualLoggedClass.js.map +1 -1
- package/lib/utils/decorators.cjs +2 -2
- package/lib/utils/decorators.d.ts +4 -4
- package/lib/utils/decorators.js.map +1 -1
- package/lib/utils/index.cjs +0 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/utils.cjs +25 -0
- package/lib/utils/utils.d.ts +1 -0
- package/lib/utils/utils.js.map +1 -1
- package/package.json +12 -2
- package/lib/esm/overrides/decoration.d.ts +0 -1
- package/lib/esm/overrides/decoration.js +0 -6
- package/lib/esm/overrides/decoration.js.map +0 -1
- package/lib/esm/persistence/migrations.d.ts +0 -21
- package/lib/esm/persistence/migrations.js +0 -103
- package/lib/esm/persistence/migrations.js.map +0 -1
- package/lib/esm/utils/Services.d.ts +0 -83
- package/lib/esm/utils/Services.js +0 -392
- package/lib/esm/utils/Services.js.map +0 -1
- package/lib/overrides/decoration.cjs +0 -8
- package/lib/overrides/decoration.d.ts +0 -1
- package/lib/overrides/decoration.js.map +0 -1
- package/lib/persistence/migrations.cjs +0 -109
- package/lib/persistence/migrations.d.ts +0 -21
- package/lib/persistence/migrations.js.map +0 -1
- package/lib/utils/Services.cjs +0 -398
- package/lib/utils/Services.d.ts +0 -83
- package/lib/utils/Services.js.map +0 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
2
|
+
import { AbsContextual } from "./../utils/ContextualLoggedClass.js";
|
|
3
|
+
import { prefixMethod } from "./../utils/utils.js";
|
|
4
|
+
import { InternalError } from "@decaf-ts/db-decorators";
|
|
5
|
+
import { Adapter } from "./../persistence/Adapter.js";
|
|
6
|
+
import { PersistenceKeys } from "./../persistence/constants.js";
|
|
7
|
+
import { MigrationRuleError } from "./../persistence/errors.js";
|
|
8
|
+
export class AbsMigration extends AbsContextual {
|
|
9
|
+
get reference() {
|
|
10
|
+
if (!this._reference) {
|
|
11
|
+
const meta = Metadata.get(this.constructor, PersistenceKeys.MIGRATION);
|
|
12
|
+
this._reference = meta.reference;
|
|
13
|
+
if (!this._reference)
|
|
14
|
+
throw new InternalError(`No precedence defined for ${this.constructor.name}. did you use @migration()?`);
|
|
15
|
+
}
|
|
16
|
+
return this._reference;
|
|
17
|
+
}
|
|
18
|
+
get precedence() {
|
|
19
|
+
if (typeof this._precedence === "undefined") {
|
|
20
|
+
const meta = Metadata.get(this.constructor, PersistenceKeys.MIGRATION);
|
|
21
|
+
this._precedence = meta.precedence;
|
|
22
|
+
if (!this._precedence)
|
|
23
|
+
throw new InternalError(`No precedence defined for ${this.constructor.name}. did you use @migration()?`);
|
|
24
|
+
}
|
|
25
|
+
return this._precedence;
|
|
26
|
+
}
|
|
27
|
+
constructor() {
|
|
28
|
+
super();
|
|
29
|
+
this.transaction = true;
|
|
30
|
+
[this.up, this.down].forEach((m) => {
|
|
31
|
+
const name = m.name;
|
|
32
|
+
prefixMethod(this, m, this.prefix(name));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
get adapter() {
|
|
36
|
+
const meta = Metadata.get(this.constructor, PersistenceKeys.MIGRATION);
|
|
37
|
+
if (!meta)
|
|
38
|
+
throw new InternalError(`No migration metadata for ${this.constructor.name}`);
|
|
39
|
+
const flavour = meta.flavour;
|
|
40
|
+
return Adapter.get(flavour);
|
|
41
|
+
}
|
|
42
|
+
async enforceRules(qr, adapter, ctx) {
|
|
43
|
+
const rules = Metadata.get(this.constructor, PersistenceKeys.MIGRATION)?.rules;
|
|
44
|
+
if (!rules || !rules.length)
|
|
45
|
+
return true;
|
|
46
|
+
for (const rule of rules) {
|
|
47
|
+
const result = await rule(qr, adapter, ctx);
|
|
48
|
+
if (!result)
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
prefix(name) {
|
|
54
|
+
return async function preffix(qrOrAdapter) {
|
|
55
|
+
let qr;
|
|
56
|
+
if (qrOrAdapter instanceof Adapter) {
|
|
57
|
+
qr = this.getQueryRunner(qrOrAdapter.client);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
qr = qrOrAdapter;
|
|
61
|
+
qrOrAdapter = this.adapter;
|
|
62
|
+
}
|
|
63
|
+
const { ctx, log } = await this.logCtx([name], PersistenceKeys.MIGRATION, true);
|
|
64
|
+
const allowed = await this.enforceRules(qr, qrOrAdapter, ctx);
|
|
65
|
+
if (!allowed) {
|
|
66
|
+
log.verbose(`Skipping migration ${this.constructor.name} due to rules`);
|
|
67
|
+
throw new MigrationRuleError("Migration skipped for rule enforcement");
|
|
68
|
+
}
|
|
69
|
+
return [qr, qrOrAdapter, ctx];
|
|
70
|
+
}.bind(this);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=Migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Migration.js","sourceRoot":"","sources":["../../../src/migrations/Migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAkB,4CAAuC;AAC/E,OAAO,EAAE,YAAY,EAAE,4BAAuB;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,oCAA+B;AAEjD,OAAO,EAAE,eAAe,EAAE,sCAAiC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,mCAA8B;AAE3D,MAAM,OAAgB,YAIpB,SAAQ,aAA2B;IAQnC,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CACvB,IAAI,CAAC,WAAkB,EACvB,eAAe,CAAC,SAAS,CAC1B,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,UAAU;gBAClB,MAAM,IAAI,aAAa,CACrB,6BAA6B,IAAI,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAChF,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CACvB,IAAI,CAAC,WAAkB,EACvB,eAAe,CAAC,SAAS,CAC1B,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,WAAW;gBACnB,MAAM,IAAI,aAAa,CACrB,6BAA6B,IAAI,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAChF,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAjCV,gBAAW,GAAG,IAAI,CAAC;QAkCjB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAc,OAAO;QACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CACvB,IAAI,CAAC,WAAkB,EACvB,eAAe,CAAC,SAAS,CAC1B,CAAC;QACF,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,aAAa,CACrB,6BAA6B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CACrD,CAAC;QACJ,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAM,CAAC;IACnC,CAAC;IAIO,KAAK,CAAC,YAAY,CAAC,EAAe,EAAE,OAAU,EAAE,GAAiB;QACvE,MAAM,KAAK,GAA8B,QAAQ,CAAC,GAAG,CACnD,IAAI,CAAC,WAAkB,EACvB,eAAe,CAAC,SAAS,CAC1B,EAAE,KAAK,CAAC;QACT,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,IAAY;QACzB,OAAO,KAAK,UAAU,OAAO,CAE3B,WAA4B;YAE5B,IAAI,EAAe,CAAC;YACpB,IAAI,WAAW,YAAY,OAAO,EAAE,CAAC;gBACnC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,EAAE,GAAG,WAAW,CAAC;gBACjB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CACpC,CAAC,IAAI,CAAC,EACN,eAAe,CAAC,SAAS,EACzB,IAAI,CACL,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CACrC,EAAE,EACF,WAAgB,EAChB,GAAmB,CACpB,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,OAAO,CAAC,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,CAAC;gBACxE,MAAM,IAAI,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,GAAmB,CAAC,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CAeF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Migration, MigrationConfig } from "./types";
|
|
2
|
+
import { ClientBasedService } from "../services/services";
|
|
3
|
+
import { Adapter } from "../persistence/Adapter";
|
|
4
|
+
import { Context } from "../persistence/Context";
|
|
5
|
+
import { AdapterFlags, ContextOf, FlagsOf } from "../persistence/types";
|
|
6
|
+
import { ContextualArgs, ContextualizedArgs, MaybeContextualArg, MethodOrOperation } from "../utils/ContextualLoggedClass";
|
|
7
|
+
export declare class MigrationService<PERSIST extends boolean, A extends Adapter<any, any, any, any> = any> extends ClientBasedService<PERSIST extends boolean ? A : void, MigrationConfig<PERSIST>> implements Migration<any, any> {
|
|
8
|
+
flavour?: string;
|
|
9
|
+
readonly reference: string;
|
|
10
|
+
readonly precedence: Migration<any, any> | Migration<any, any>[] | null;
|
|
11
|
+
transaction: boolean;
|
|
12
|
+
constructor();
|
|
13
|
+
initialize(...args: MaybeContextualArg<ContextOf<A>>): Promise<{
|
|
14
|
+
config: MigrationConfig<PERSIST>;
|
|
15
|
+
client: PERSIST extends boolean ? A : void;
|
|
16
|
+
}>;
|
|
17
|
+
down(qr: any, adapter: any, ...args: ContextualArgs<ContextOf<any>>): Promise<void>;
|
|
18
|
+
protected sort(migrations: Migration<any, any>[]): Migration<any, any>[];
|
|
19
|
+
migrate(qr?: any, adapter?: any, ...args: MaybeContextualArg<ContextOf<any>>): Promise<void>;
|
|
20
|
+
up(qr: any, adapter: any, ...args: ContextualArgs<ContextOf<any>>): Promise<void>;
|
|
21
|
+
context(operation: ((...args: any[]) => any) | string, overrides: Partial<FlagsOf<Context<AdapterFlags>>>, ...args: any[]): Promise<Context<AdapterFlags>>;
|
|
22
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<A>, ARGS>, operation: METHOD): ContextualizedArgs<ContextOf<A>, ARGS, METHOD extends string ? true : false>;
|
|
23
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<A>, ARGS>, operation: METHOD, allowCreate: false): ContextualizedArgs<ContextOf<A>, ARGS, METHOD extends string ? true : false>;
|
|
24
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<A>, ARGS>, operation: METHOD, allowCreate: true): Promise<ContextualizedArgs<ContextOf<A>, ARGS, METHOD extends string ? true : false>>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { DefaultMigrationConfig } from "./constants.js";
|
|
2
|
+
import { ClientBasedService, Service } from "./../services/services.js";
|
|
3
|
+
import { Adapter } from "./../persistence/Adapter.js";
|
|
4
|
+
import { Context } from "./../persistence/Context.js";
|
|
5
|
+
import { PersistenceKeys } from "./../persistence/constants.js";
|
|
6
|
+
import { MigrationError } from "./../persistence/errors.js";
|
|
7
|
+
import { ContextualLoggedClass, } from "./../utils/ContextualLoggedClass.js";
|
|
8
|
+
import { style } from "@decaf-ts/logging";
|
|
9
|
+
import { DefaultFlavour, Metadata } from "@decaf-ts/decoration";
|
|
10
|
+
import { InternalError } from "@decaf-ts/db-decorators";
|
|
11
|
+
export class MigrationService extends ClientBasedService {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
this.reference = MigrationService.name;
|
|
15
|
+
this.precedence = null;
|
|
16
|
+
}
|
|
17
|
+
async initialize(...args) {
|
|
18
|
+
const { log, ctx } = (await this.logCtx(args, PersistenceKeys.INITIALIZATION, true)).for(this.initialize);
|
|
19
|
+
try {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
+
const persistence = Service.get(PersistenceKeys.PERSISTENCE);
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
if (!ctx.get("ignoreDevSafeGuards"))
|
|
26
|
+
log.warn(`Persistence service not available. this may indicate poor initialization of the persistence layer (or not)`);
|
|
27
|
+
}
|
|
28
|
+
const cfg = Object.assign({}, args.length ? args[0] : DefaultMigrationConfig, DefaultMigrationConfig);
|
|
29
|
+
this.transaction = cfg.persistMigrationSteps;
|
|
30
|
+
return {
|
|
31
|
+
config: cfg,
|
|
32
|
+
client: Adapter.get(cfg.persistenceFlavour),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
async down(qr, adapter, ...args) {
|
|
36
|
+
const { log } = this.logCtx(args, this.down);
|
|
37
|
+
log.verbose(style("Cleaning up after all migrations").green.bold);
|
|
38
|
+
}
|
|
39
|
+
sort(migrations) {
|
|
40
|
+
return migrations.sort((migration1, migration2) => {
|
|
41
|
+
if (!migration1.precedence && !migration2.precedence)
|
|
42
|
+
throw new InternalError(`Only one migration can have a null precedence: ${migration1.reference} vs ${migration2.reference}`);
|
|
43
|
+
if (!migration1.precedence)
|
|
44
|
+
return 1;
|
|
45
|
+
if (!migration2.precedence)
|
|
46
|
+
return -1;
|
|
47
|
+
const precedences1 = Array.isArray(migration1.precedence)
|
|
48
|
+
? migration1.precedence
|
|
49
|
+
: [migration1];
|
|
50
|
+
const precedences2 = Array.isArray(migration2.precedence)
|
|
51
|
+
? migration2.precedence
|
|
52
|
+
: [migration2];
|
|
53
|
+
const includes1 = precedences1.every((p) => p === migration2);
|
|
54
|
+
const includes2 = precedences2.every((p) => p === migration1);
|
|
55
|
+
// sort when they reference each other
|
|
56
|
+
if (includes1 && !includes2)
|
|
57
|
+
return 1;
|
|
58
|
+
if (includes2 && !includes1)
|
|
59
|
+
return -1;
|
|
60
|
+
const anyNotIncluded1 = precedences1.find((p) => !precedences2.includes(p));
|
|
61
|
+
const allIncluded1 = precedences1.every((p) => precedences2.includes(p));
|
|
62
|
+
const anyNotIncluded2 = precedences2.find((p) => !precedences1.includes(p));
|
|
63
|
+
const allIncluded2 = precedences2.every((p) => precedences1.includes(p));
|
|
64
|
+
// solve all differences
|
|
65
|
+
if (anyNotIncluded1 && !anyNotIncluded2 && !allIncluded1 && !allIncluded2)
|
|
66
|
+
return 1;
|
|
67
|
+
if (!anyNotIncluded1 && anyNotIncluded2 && !allIncluded1 && !allIncluded2)
|
|
68
|
+
return -1;
|
|
69
|
+
if (!anyNotIncluded1 && !anyNotIncluded2 && allIncluded1 && !allIncluded2)
|
|
70
|
+
return -1;
|
|
71
|
+
if (!anyNotIncluded1 && !anyNotIncluded2 && !allIncluded1 && allIncluded2)
|
|
72
|
+
return 1;
|
|
73
|
+
if (!anyNotIncluded1 && !anyNotIncluded2 && allIncluded1 && !allIncluded2)
|
|
74
|
+
return -1;
|
|
75
|
+
if (!anyNotIncluded1 && !anyNotIncluded2 && !allIncluded1 && allIncluded2)
|
|
76
|
+
return 1;
|
|
77
|
+
if (!anyNotIncluded1 && anyNotIncluded2 && !allIncluded1 && !allIncluded2)
|
|
78
|
+
return 1;
|
|
79
|
+
if (!anyNotIncluded1 &&
|
|
80
|
+
!anyNotIncluded2 &&
|
|
81
|
+
!allIncluded1 &&
|
|
82
|
+
!allIncluded2)
|
|
83
|
+
return -1;
|
|
84
|
+
const size1 = precedences1.length;
|
|
85
|
+
const size2 = precedences2.length;
|
|
86
|
+
const res = size1 - size2;
|
|
87
|
+
if (res === 0) {
|
|
88
|
+
if (migration1.reference === migration2.reference)
|
|
89
|
+
throw new InternalError(`Unable to sort migration precedence between ${migration1.reference} and ${migration2.reference}. should not be possible`);
|
|
90
|
+
return migration1.reference.localeCompare(migration2.reference);
|
|
91
|
+
}
|
|
92
|
+
return res;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
async migrate(qr, adapter, ...args) {
|
|
96
|
+
const { ctxArgs, ctx, log } = (await this.logCtx(args, PersistenceKeys.MIGRATION, true)).for(this.migrate);
|
|
97
|
+
// const qr = await this.getQueryRunner();
|
|
98
|
+
let m;
|
|
99
|
+
const toBoot = Metadata.migrations();
|
|
100
|
+
const migrations = [];
|
|
101
|
+
for (const [reference, mig] of toBoot) {
|
|
102
|
+
try {
|
|
103
|
+
log.silly(`loading migration ${reference}...`);
|
|
104
|
+
m = new mig();
|
|
105
|
+
if (m instanceof MigrationService)
|
|
106
|
+
await m.boot(...ctxArgs);
|
|
107
|
+
log.verbose(`migration ${m.reference} instantiated`, 1);
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
throw new InternalError(`failed to create migration ${mig.name}: ${e}`);
|
|
111
|
+
}
|
|
112
|
+
migrations.push(m);
|
|
113
|
+
}
|
|
114
|
+
let sortedMigrations;
|
|
115
|
+
try {
|
|
116
|
+
sortedMigrations = this.sort(migrations);
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
throw new InternalError(`Failed to sort migrations: ${e}`);
|
|
120
|
+
}
|
|
121
|
+
log.debug(`sorted migration before execution: ${sortedMigrations.map((s) => s.reference)}`);
|
|
122
|
+
const breakOnError = ctx.get("breakOnHandlerError");
|
|
123
|
+
for (const m of sortedMigrations) {
|
|
124
|
+
let adapter;
|
|
125
|
+
let qr;
|
|
126
|
+
try {
|
|
127
|
+
const meta = Metadata.get(m.constructor, PersistenceKeys.MIGRATION);
|
|
128
|
+
const flavour = meta?.flavour || m.flavour;
|
|
129
|
+
adapter = Adapter.get(flavour);
|
|
130
|
+
if (!adapter)
|
|
131
|
+
throw new InternalError(`failed to create migration ${m.reference}. did you call Service.boot() or use the Persistence Service??`);
|
|
132
|
+
qr = adapter.client;
|
|
133
|
+
}
|
|
134
|
+
catch (e) {
|
|
135
|
+
if (breakOnError)
|
|
136
|
+
throw new InternalError(`Failed to load adapter to migrate ${m.reference}: ${e}`);
|
|
137
|
+
log.warn(style(`Failed to load adapter to migrate. skipping ${m.reference}`).red.bold);
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
await m.up(qr, adapter, ...ctxArgs);
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
if (breakOnError)
|
|
145
|
+
throw new MigrationError(`failed to initialize migration ${m.reference}: ${e}`);
|
|
146
|
+
log.warn(style(`Failed to initialize migration ${m.reference}. skipping`).red
|
|
147
|
+
.bold);
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
await m.migrate(qr, adapter, ...ctxArgs);
|
|
152
|
+
}
|
|
153
|
+
catch (e) {
|
|
154
|
+
if (breakOnError)
|
|
155
|
+
throw new MigrationError(`failed to migrate ${m.reference}: ${e}`);
|
|
156
|
+
log.warn(style(`Failed to migrate ${m.reference}. skipping`).red.bold);
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
await m.down(qr, adapter, ...ctxArgs);
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
if (breakOnError)
|
|
164
|
+
throw new MigrationError(`failed to conclude migration ${m.reference}: ${e}`);
|
|
165
|
+
log.warn(style(`Failed to conclude migration ${m.reference}. skipping`).red
|
|
166
|
+
.bold);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
async up(qr, adapter, ...args) {
|
|
171
|
+
const { log } = this.logCtx(args, this.down);
|
|
172
|
+
log.verbose(style("Setting up migration process").yellow.bold);
|
|
173
|
+
}
|
|
174
|
+
async context(operation, overrides, ...args) {
|
|
175
|
+
const log = this.log.for(this.context);
|
|
176
|
+
log.silly(`creating new context for ${operation} operation with flag overrides: ${JSON.stringify(overrides)}`);
|
|
177
|
+
let ctx = args.pop();
|
|
178
|
+
if (typeof ctx !== "undefined" && !(ctx instanceof Context)) {
|
|
179
|
+
args.push(ctx);
|
|
180
|
+
ctx = undefined;
|
|
181
|
+
}
|
|
182
|
+
const flags = await this.flags(typeof operation === "string" ? operation : operation.name, overrides, ...args);
|
|
183
|
+
if (ctx) {
|
|
184
|
+
return new this.Context(ctx).accumulate({
|
|
185
|
+
...flags,
|
|
186
|
+
parentContext: ctx,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
return new this.Context().accumulate(flags);
|
|
190
|
+
}
|
|
191
|
+
logCtx(args, operation, allowCreate = false) {
|
|
192
|
+
if (!this._client) {
|
|
193
|
+
return ContextualLoggedClass.logCtx.call(this, operation, {}, // TODO check this
|
|
194
|
+
allowCreate, ...args.filter((e) => typeof e !== "undefined"));
|
|
195
|
+
}
|
|
196
|
+
const ctx = this.client["logCtx"].call(this.client, args, operation, allowCreate, this.config);
|
|
197
|
+
return ctx;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const current = Metadata["innerGet"](Symbol.for(PersistenceKeys.MIGRATION), DefaultFlavour) ||
|
|
201
|
+
[];
|
|
202
|
+
Metadata.set(PersistenceKeys.MIGRATION, DefaultFlavour, [
|
|
203
|
+
...current,
|
|
204
|
+
MigrationService,
|
|
205
|
+
]);
|
|
206
|
+
//# sourceMappingURL=MigrationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MigrationService.js","sourceRoot":"","sources":["../../../src/migrations/MigrationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/migrations/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,sCAAiC;AAG/D,MAAM,CAAC,MAAM,sBAAsB,GAA0B,MAAM,CAAC,MAAM,CACxE,EAAE,EACF,mBAAmB,EACnB;IACE,qBAAqB,EAAE,IAAI;CAC5B,CACuB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
2
|
+
import { Migration, MigrationRule } from "./types";
|
|
3
|
+
export declare function migration(reference: string): (target: object) => any;
|
|
4
|
+
export declare function migration(reference: string, precedence: Constructor<Migration<any, any>> | null): (target: object) => any;
|
|
5
|
+
export declare function migration(reference: string, flavour: string, rules?: MigrationRule[]): (target: object) => any;
|
|
6
|
+
export declare function migration(reference: string, precedence: Constructor<Migration<any, any>>, flavour: string): (target: object) => any;
|
|
7
|
+
export declare function migration(reference: string, precedence?: Constructor<Migration<any, any>> | string | null, flavour?: string | MigrationRule[], rules?: MigrationRule[]): (target: object) => any;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Decoration, DefaultFlavour, metadata, Metadata, } from "@decaf-ts/decoration";
|
|
2
|
+
import { PersistenceKeys } from "./../persistence/constants.js";
|
|
3
|
+
import { MigrationService } from "./MigrationService.js";
|
|
4
|
+
export function migration(reference, precedence, flavour, rules) {
|
|
5
|
+
function innerMigration(precedence, flavour, rules) {
|
|
6
|
+
return function (original) {
|
|
7
|
+
const usedPrecedenceAsFlavour = typeof precedence === "string";
|
|
8
|
+
const hasExplicitPrecedence = !usedPrecedenceAsFlavour && typeof precedence !== "undefined";
|
|
9
|
+
let parsedPrecedence = precedence;
|
|
10
|
+
let parsedFlavour;
|
|
11
|
+
let parsedRules;
|
|
12
|
+
if (Array.isArray(flavour)) {
|
|
13
|
+
parsedRules = flavour;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
parsedFlavour = flavour;
|
|
17
|
+
parsedRules = rules;
|
|
18
|
+
}
|
|
19
|
+
if (typeof precedence === "string") {
|
|
20
|
+
parsedFlavour = precedence;
|
|
21
|
+
parsedPrecedence = undefined;
|
|
22
|
+
}
|
|
23
|
+
if (parsedPrecedence === undefined && parsedPrecedence !== null)
|
|
24
|
+
parsedPrecedence = MigrationService;
|
|
25
|
+
const fallbackFlavour = Metadata.flavourOf(original) || DefaultFlavour;
|
|
26
|
+
const preferReferenceFlavour = hasExplicitPrecedence &&
|
|
27
|
+
parsedPrecedence === MigrationService &&
|
|
28
|
+
reference &&
|
|
29
|
+
reference !== parsedFlavour;
|
|
30
|
+
const finalFlavour = (preferReferenceFlavour ? reference : parsedFlavour) || fallbackFlavour;
|
|
31
|
+
const current = Metadata["innerGet"](Symbol.for([PersistenceKeys.MIGRATION, PersistenceKeys.BY_KEY].join("-")), finalFlavour || DefaultFlavour) || [];
|
|
32
|
+
Metadata.set([PersistenceKeys.MIGRATION, PersistenceKeys.BY_KEY].join("-"), finalFlavour || DefaultFlavour, [...current, { class: original }]);
|
|
33
|
+
Metadata.set(PersistenceKeys.MIGRATION, reference, original);
|
|
34
|
+
return metadata(PersistenceKeys.MIGRATION, {
|
|
35
|
+
reference: reference || original.name,
|
|
36
|
+
precedence: parsedPrecedence,
|
|
37
|
+
flavour: finalFlavour || DefaultFlavour,
|
|
38
|
+
rules: parsedRules,
|
|
39
|
+
})(original);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return Decoration.for(PersistenceKeys.MIGRATION)
|
|
43
|
+
.define({
|
|
44
|
+
decorator: innerMigration,
|
|
45
|
+
args: [precedence, flavour, rules],
|
|
46
|
+
})
|
|
47
|
+
.apply();
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/migrations/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,sCAAiC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,8BAA2B;AAuBtD,MAAM,UAAU,SAAS,CACvB,SAAiB,EACjB,UAA6D,EAC7D,OAAkC,EAClC,KAAuB;IAEvB,SAAS,cAAc,CACrB,UAA6D,EAC7D,OAAkC,EAClC,KAAuB;QAEvB,OAAO,UAAU,QAAgB;YAC/B,MAAM,uBAAuB,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC;YAC/D,MAAM,qBAAqB,GACzB,CAAC,uBAAuB,IAAI,OAAO,UAAU,KAAK,WAAW,CAAC;YAEhE,IAAI,gBAAgB,GAIJ,UAAU,CAAC;YAC3B,IAAI,aAAiC,CAAC;YACtC,IAAI,WAAwC,CAAC;YAE7C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,OAAO,CAAC;gBACxB,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;YAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,aAAa,GAAG,UAAU,CAAC;gBAC3B,gBAAgB,GAAG,SAAS,CAAC;YAC/B,CAAC;YAED,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI;gBAC7D,gBAAgB,GAAG,gBAAgB,CAAC;YAEtC,MAAM,eAAe,GACnB,QAAQ,CAAC,SAAS,CAAC,QAAuB,CAAC,IAAI,cAAc,CAAC;YAChE,MAAM,sBAAsB,GAC1B,qBAAqB;gBACrB,gBAAgB,KAAK,gBAAgB;gBACrC,SAAS;gBACT,SAAS,KAAK,aAAa,CAAC;YAC9B,MAAM,YAAY,GAChB,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC;YAE1E,MAAM,OAAO,GACX,QAAQ,CAAC,UAAU,CAAC,CAClB,MAAM,CAAC,GAAG,CACR,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9D,EACD,YAAY,IAAI,cAAc,CAC/B,IAAI,EAAE,CAAC;YACV,QAAQ,CAAC,GAAG,CACV,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC7D,YAAY,IAAI,cAAc,EAC9B,CAAC,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAClC,CAAC;YAEF,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAE7D,OAAO,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE;gBACzC,SAAS,EAAE,SAAS,IAAK,QAAwB,CAAC,IAAI;gBACtD,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,YAAY,IAAI,cAAc;gBACvC,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC,QAAQ,CAAC,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC;SAC7C,MAAM,CAAC;QACN,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC;KACnC,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,gCAA6B;AAC7B,+BAA4B;AAC5B,sCAAmC;AACnC,2BAAwB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Adapter } from "../persistence/Adapter";
|
|
2
|
+
import { AdapterFlags, ContextOf } from "../persistence/types";
|
|
3
|
+
import { ContextualArgs } from "../utils/ContextualLoggedClass";
|
|
4
|
+
export interface Migration<QUERYRUNNER, A extends Adapter<any, any, any, any>> {
|
|
5
|
+
flavour?: string;
|
|
6
|
+
precedence: Migration<any, any> | Migration<any, any>[] | null;
|
|
7
|
+
reference: string;
|
|
8
|
+
transaction: boolean;
|
|
9
|
+
up(qr: QUERYRUNNER, adapter: A, ...args: ContextualArgs<ContextOf<A>>): Promise<void>;
|
|
10
|
+
migrate(qr: QUERYRUNNER, adapter: A, ...args: ContextualArgs<ContextOf<A>>): Promise<void>;
|
|
11
|
+
down(qr: QUERYRUNNER, adapter: A, ...args: ContextualArgs<ContextOf<A>>): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export type ConnectionForAdapter<A extends Adapter<any, any, any, any>> = A extends Adapter<any, any, infer CONN, any> ? CONN : never;
|
|
14
|
+
export type MigrationRule<A extends Adapter<any, any, any, any> = any, QUERYRUNNER = ConnectionForAdapter<A>> = (qr: QUERYRUNNER, adapter: A, ctx: ContextOf<A>) => Promise<boolean>;
|
|
15
|
+
export type MigrationMetadata = {
|
|
16
|
+
precedence?: Migration<any, any>;
|
|
17
|
+
flavour: string;
|
|
18
|
+
rules?: MigrationRule[];
|
|
19
|
+
};
|
|
20
|
+
export type MigrationConfig<PERSIST extends boolean> = AdapterFlags<any> & {
|
|
21
|
+
persistMigrationSteps: PERSIST;
|
|
22
|
+
persistenceFlavour?: string;
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/migrations/types.ts"],"names":[],"mappings":""}
|
|
@@ -35,7 +35,7 @@ let SequenceModel = class SequenceModel extends BaseModel {
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
__decorate([
|
|
38
|
-
pk({ type:
|
|
38
|
+
pk({ type: String, generated: false }),
|
|
39
39
|
__metadata("design:type", String)
|
|
40
40
|
], SequenceModel.prototype, "id", void 0);
|
|
41
41
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceModel.js","sourceRoot":"","sources":["../../../src/model/SequenceModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAqB;AAC5C,OAAO,EAAE,EAAE,EAAE,oCAA+B;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AAGI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAAS;IAe1C,YAAY,GAA6B;QACvC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAbC;IADC,EAAE,CAAC,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"SequenceModel.js","sourceRoot":"","sources":["../../../src/model/SequenceModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAqB;AAC5C,OAAO,EAAE,EAAE,EAAE,oCAA+B;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AAGI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAAS;IAe1C,YAAY,GAA6B;QACvC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAbC;IADC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;yCAC3B;AAQZ;IAFC,QAAQ,EAAE;IACV,KAAK,EAAE;;8CACkB;AAbf,aAAa;IAFzB,KAAK,CAAC,YAAY,CAAC;IACnB,KAAK,EAAE;;GACK,aAAa,CAkBzB"}
|
|
@@ -4,7 +4,6 @@ import { InternalError, NotFoundError } from "@decaf-ts/db-decorators";
|
|
|
4
4
|
import { PersistenceKeys } from "./../persistence/constants.js";
|
|
5
5
|
import { Cascade } from "./../repository/constants.js";
|
|
6
6
|
import { Metadata } from "@decaf-ts/decoration";
|
|
7
|
-
import { isClass } from "@decaf-ts/logging";
|
|
8
7
|
/**
|
|
9
8
|
* @description Creates or updates a model instance
|
|
10
9
|
* @summary Determines whether to create a new model or update an existing one based on the presence of a primary key
|
|
@@ -195,12 +194,14 @@ export async function oneToOneOnCreate(context, data, key, model) {
|
|
|
195
194
|
return;
|
|
196
195
|
if (typeof propertyValue !== "object") {
|
|
197
196
|
const innerRepo = repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
198
|
-
const read = await innerRepo.read(propertyValue);
|
|
197
|
+
const read = await innerRepo.read(propertyValue, context);
|
|
199
198
|
await cacheModelForPopulate(context, model, key, propertyValue, read);
|
|
200
199
|
model[key] = propertyValue;
|
|
201
200
|
return;
|
|
202
201
|
}
|
|
203
|
-
const constructor =
|
|
202
|
+
const constructor = (typeof data.class === "function" && !data.class.name
|
|
203
|
+
? data.class()
|
|
204
|
+
: data.class);
|
|
204
205
|
if (!constructor)
|
|
205
206
|
throw new InternalError(`Could not find model ${data.class}`);
|
|
206
207
|
const repo = Repository.forModel(constructor, this.adapter.alias);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction.js","sourceRoot":"","sources":["../../../src/model/construction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"construction.js","sourceRoot":"","sources":["../../../src/model/construction.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,7 +237,6 @@ export declare function manyToOne<M extends Model>(clazz: Constructor<M> | (() =
|
|
|
237
237
|
* @see oneToOne
|
|
238
238
|
*/
|
|
239
239
|
export declare function manyToMany<M extends Model>(clazz: Constructor<M> | (() => Constructor<M>), cascadeOptions?: CascadeMetadata, populate?: boolean, joinTableOpts?: JoinTableOptions | JoinTableMultipleColumnsOptions, fk?: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
240
|
-
export declare function generated(type?: string): (target: object, prop?: any) => void;
|
|
241
240
|
export declare function noValidateOn(...ops: OperationKeys[]): (target: any, propertyKey?: any) => void;
|
|
242
241
|
export declare function noValidateOnCreate(): (target: any, propertyKey?: any) => void;
|
|
243
242
|
export declare function noValidateOnUpdate(): (target: any, propertyKey?: any) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { afterAny, ConflictError, onCreate, onCreateUpdate, onDelete, onUpdate, OperationKeys, timestamp, } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { afterAny, ConflictError, onCreate, onCreateUpdate, onDelete, onUpdate, generated, OperationKeys, timestamp, } from "@decaf-ts/db-decorators";
|
|
2
2
|
import { apply as newApply, Metadata, metadata as newMetadata, Decoration, propMetadata, prop, metadata, apply, } from "@decaf-ts/decoration";
|
|
3
3
|
import { PersistenceKeys } from "./../persistence/constants.js";
|
|
4
4
|
import { DefaultCascade, OrderDirection } from "./../repository/constants.js";
|
|
@@ -170,7 +170,7 @@ model) {
|
|
|
170
170
|
export function createdBy() {
|
|
171
171
|
function createdBy() {
|
|
172
172
|
return function createdBy(target, prop) {
|
|
173
|
-
return apply(onCreate(createdByOnCreateUpdate), propMetadata(PersistenceKeys.CREATED_BY, prop), generated())(target, prop);
|
|
173
|
+
return apply(onCreate(createdByOnCreateUpdate), propMetadata(PersistenceKeys.CREATED_BY, prop), generated(PersistenceKeys.CREATED_BY))(target, prop);
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
176
|
return Decoration.for(PersistenceKeys.CREATED_BY)
|
|
@@ -197,7 +197,7 @@ export function createdBy() {
|
|
|
197
197
|
export function updatedBy() {
|
|
198
198
|
function updatedBy() {
|
|
199
199
|
return function updatedBy(target, prop) {
|
|
200
|
-
return apply(onUpdate(createdByOnCreateUpdate), propMetadata(PersistenceKeys.UPDATED_BY, prop), generated())(target, prop);
|
|
200
|
+
return apply(onUpdate(createdByOnCreateUpdate), propMetadata(PersistenceKeys.UPDATED_BY, prop), generated(PersistenceKeys.UPDATED_BY))(target, prop);
|
|
201
201
|
};
|
|
202
202
|
}
|
|
203
203
|
return Decoration.for(PersistenceKeys.UPDATED_BY)
|
|
@@ -455,11 +455,6 @@ export function manyToMany(clazz, cascadeOptions = DefaultCascade, populate = tr
|
|
|
455
455
|
})
|
|
456
456
|
.apply();
|
|
457
457
|
}
|
|
458
|
-
export function generated(type) {
|
|
459
|
-
return function generated(target, prop) {
|
|
460
|
-
return propMetadata(Metadata.key(PersistenceKeys.GENERATED, prop), type || true)(target, prop);
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
458
|
export function noValidateOn(...ops) {
|
|
464
459
|
return function noValidateOn(target, propertyKey) {
|
|
465
460
|
const currentMeta = Metadata.get(target, Metadata.key(PersistenceKeys.NO_VALIDATE, propertyKey)) || [];
|