@decaf-ts/core 0.9.19 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +1 -1
  2. package/dist/core.cjs +1 -1
  3. package/dist/core.cjs.map +1 -1
  4. package/dist/core.js +1 -1
  5. package/dist/core.js.map +1 -1
  6. package/lib/esm/fs/FilesystemAdapter.d.ts +1 -0
  7. package/lib/esm/fs/FilesystemAdapter.js +2 -1
  8. package/lib/esm/fs/FilesystemAdapter.js.map +1 -1
  9. package/lib/esm/fs/types.d.ts +6 -0
  10. package/lib/esm/identity/decorators.d.ts +8 -0
  11. package/lib/esm/identity/decorators.js +137 -43
  12. package/lib/esm/identity/decorators.js.map +1 -1
  13. package/lib/esm/index.d.ts +1 -1
  14. package/lib/esm/index.js +1 -1
  15. package/lib/esm/interfaces/SequenceOptions.d.ts +3 -3
  16. package/lib/esm/model/decorators.d.ts +2 -0
  17. package/lib/esm/model/decorators.js +69 -1
  18. package/lib/esm/model/decorators.js.map +1 -1
  19. package/lib/esm/overrides/overrides.js +10 -5
  20. package/lib/esm/overrides/overrides.js.map +1 -1
  21. package/lib/esm/persistence/Sequence.d.ts +7 -0
  22. package/lib/esm/persistence/Sequence.js +54 -0
  23. package/lib/esm/persistence/Sequence.js.map +1 -1
  24. package/lib/esm/persistence/constants.d.ts +3 -0
  25. package/lib/esm/persistence/constants.js +3 -0
  26. package/lib/esm/persistence/constants.js.map +1 -1
  27. package/lib/esm/tasks/TaskContext.d.ts +3 -1
  28. package/lib/esm/tasks/TaskContext.js +8 -1
  29. package/lib/esm/tasks/TaskContext.js.map +1 -1
  30. package/lib/esm/tasks/TaskEngine.d.ts +1 -0
  31. package/lib/esm/tasks/TaskEngine.js +71 -11
  32. package/lib/esm/tasks/TaskEngine.js.map +1 -1
  33. package/lib/esm/tasks/builder.d.ts +10 -0
  34. package/lib/esm/tasks/builder.js +5 -1
  35. package/lib/esm/tasks/builder.js.map +1 -1
  36. package/lib/esm/tasks/logging.js +3 -6
  37. package/lib/esm/tasks/logging.js.map +1 -1
  38. package/lib/esm/tasks/models/TaskLogEntryModel.d.ts +1 -0
  39. package/lib/esm/tasks/models/TaskLogEntryModel.js +5 -1
  40. package/lib/esm/tasks/models/TaskLogEntryModel.js.map +1 -1
  41. package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +1 -0
  42. package/lib/esm/tasks/models/TaskStepSpecModel.js +6 -2
  43. package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
  44. package/lib/esm/tasks/types.d.ts +5 -1
  45. package/lib/esm/workers/TaskEngine.js +15 -3
  46. package/lib/esm/workers/TaskEngine.js.map +1 -1
  47. package/lib/esm/workers/workerThread.js +35 -7
  48. package/lib/esm/workers/workerThread.js.map +1 -1
  49. package/lib/fs/FilesystemAdapter.cjs +2 -1
  50. package/lib/fs/FilesystemAdapter.d.ts +1 -0
  51. package/lib/fs/FilesystemAdapter.js.map +1 -1
  52. package/lib/fs/types.d.ts +6 -0
  53. package/lib/identity/decorators.cjs +141 -44
  54. package/lib/identity/decorators.d.ts +8 -0
  55. package/lib/identity/decorators.js.map +1 -1
  56. package/lib/index.cjs +1 -1
  57. package/lib/index.d.ts +1 -1
  58. package/lib/interfaces/SequenceOptions.d.ts +3 -3
  59. package/lib/model/decorators.cjs +70 -0
  60. package/lib/model/decorators.d.ts +2 -0
  61. package/lib/model/decorators.js.map +1 -1
  62. package/lib/overrides/overrides.cjs +10 -5
  63. package/lib/overrides/overrides.js.map +1 -1
  64. package/lib/persistence/Sequence.cjs +54 -0
  65. package/lib/persistence/Sequence.d.ts +7 -0
  66. package/lib/persistence/Sequence.js.map +1 -1
  67. package/lib/persistence/constants.cjs +3 -0
  68. package/lib/persistence/constants.d.ts +3 -0
  69. package/lib/persistence/constants.js.map +1 -1
  70. package/lib/tasks/TaskContext.cjs +8 -1
  71. package/lib/tasks/TaskContext.d.ts +3 -1
  72. package/lib/tasks/TaskContext.js.map +1 -1
  73. package/lib/tasks/TaskEngine.cjs +71 -11
  74. package/lib/tasks/TaskEngine.d.ts +1 -0
  75. package/lib/tasks/TaskEngine.js.map +1 -1
  76. package/lib/tasks/builder.cjs +5 -1
  77. package/lib/tasks/builder.d.ts +10 -0
  78. package/lib/tasks/builder.js.map +1 -1
  79. package/lib/tasks/logging.cjs +3 -6
  80. package/lib/tasks/logging.js.map +1 -1
  81. package/lib/tasks/models/TaskLogEntryModel.cjs +4 -0
  82. package/lib/tasks/models/TaskLogEntryModel.d.ts +1 -0
  83. package/lib/tasks/models/TaskLogEntryModel.js.map +1 -1
  84. package/lib/tasks/models/TaskStepSpecModel.cjs +5 -1
  85. package/lib/tasks/models/TaskStepSpecModel.d.ts +1 -0
  86. package/lib/tasks/models/TaskStepSpecModel.js.map +1 -1
  87. package/lib/tasks/types.d.ts +5 -1
  88. package/lib/workers/TaskEngine.cjs +15 -3
  89. package/lib/workers/TaskEngine.js.map +1 -1
  90. package/lib/workers/workerThread.cjs +34 -6
  91. package/lib/workers/workerThread.js.map +1 -1
  92. package/package.json +1 -1
@@ -1,15 +1,83 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pkOnCreate = pkOnCreate;
4
+ exports.sequenceOnCreateUpdate = sequenceOnCreateUpdate;
4
5
  exports.pkDec = pkDec;
6
+ exports.sequenceDec = sequenceDec;
5
7
  exports.pk = pk;
8
+ exports.sequence = sequence;
9
+ require("./../overrides/index.cjs");
6
10
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
7
11
  const SequenceOptions_1 = require("./../interfaces/SequenceOptions.cjs");
8
12
  const db_decorators_1 = require("@decaf-ts/db-decorators");
9
- const constants_1 = require("./../repository/constants.cjs");
13
+ const constants_1 = require("./../persistence/constants.cjs");
14
+ const constants_2 = require("./../repository/constants.cjs");
10
15
  const decoration_1 = require("@decaf-ts/decoration");
11
16
  const indexing_1 = require("./../model/indexing.cjs");
12
17
  const defaultPkPriority = 60; // Default priority for primary key to run latter than other properties
18
+ function isSequenceNameFn(fn) {
19
+ return typeof fn === "function";
20
+ }
21
+ function resolveSequenceName(model, suffix) {
22
+ if (isSequenceNameFn(decorator_validation_1.Model.sequenceName)) {
23
+ return decorator_validation_1.Model.sequenceName(model, suffix);
24
+ }
25
+ const tableName = isSequenceNameFn(decorator_validation_1.Model.tableName)
26
+ ? decorator_validation_1.Model.tableName(model)
27
+ : (model?.name ?? "");
28
+ const anchor = suffix || "pk";
29
+ return [tableName, anchor].filter(Boolean).join("_");
30
+ }
31
+ function normalizePropertyKey(attr) {
32
+ if (typeof attr === "string")
33
+ return attr;
34
+ if (typeof attr === "symbol")
35
+ return attr.description || attr.toString();
36
+ return String(attr);
37
+ }
38
+ function ensureSequenceOptions(obj, attr, options) {
39
+ if (!options.type) {
40
+ const metaType = decoration_1.Metadata.type(obj.constructor, attr);
41
+ if (![Number.name, String.name, BigInt.name].includes(metaType?.name || metaType))
42
+ throw new Error("Incorrrect option type");
43
+ options.type = metaType;
44
+ }
45
+ switch (options.type) {
46
+ case String.name || String.name.toLowerCase():
47
+ console.warn(`Deprecated "${options.type}" type in options`);
48
+ // eslint-disable-next-line no-fallthrough
49
+ case String:
50
+ options.generated =
51
+ typeof options.generated === "undefined" ? false : options.generated;
52
+ options.type = String;
53
+ break;
54
+ case Number.name || String.name.toLowerCase():
55
+ console.warn(`Deprecated "${options.type}" type in options`);
56
+ // eslint-disable-next-line no-fallthrough
57
+ case Number:
58
+ options.generated =
59
+ typeof options.generated === "undefined" ? true : options.generated;
60
+ options.type = Number;
61
+ break;
62
+ case BigInt.name || BigInt.name.toLowerCase():
63
+ console.warn(`Deprecated "${options.type}" type in options`);
64
+ // eslint-disable-next-line no-fallthrough
65
+ case BigInt:
66
+ options.type = BigInt;
67
+ options.generated =
68
+ typeof options.generated === "undefined" ? true : options.generated;
69
+ break;
70
+ case "uuid":
71
+ case "serial":
72
+ options.generated = true;
73
+ break;
74
+ default:
75
+ throw new Error("Unsupported type");
76
+ }
77
+ if (typeof options.generated === "undefined") {
78
+ options.generated = true;
79
+ }
80
+ }
13
81
  /**
14
82
  * @description Callback function for primary key creation
15
83
  * @summary Handles the creation of primary key values for models using sequences
@@ -65,56 +133,50 @@ async function pkOnCreate(context, data, key, model) {
65
133
  const next = await sequence.next(context);
66
134
  setPrimaryKeyValue(model, key, next);
67
135
  }
136
+ async function sequenceOnCreateUpdate(context, data, key, model, oldModel) {
137
+ if (!data.type || !data.generated)
138
+ return;
139
+ if (!data.name)
140
+ data.name = decorator_validation_1.Model.sequenceName(model, String(key));
141
+ let sequence;
142
+ try {
143
+ sequence = await this.adapter.Sequence(data, this._overrides);
144
+ }
145
+ catch (e) {
146
+ throw new db_decorators_1.InternalError(`Failed to instantiate Sequence ${data.name}: ${e}`);
147
+ }
148
+ const isUpdate = typeof oldModel !== "undefined" && oldModel !== null;
149
+ const hasValue = typeof model[key] !== "undefined" && model[key] !== null;
150
+ const allowGenerationOverride = !!context.get("allowGenerationOverride") && hasValue;
151
+ // Always ensure the backing sequence exists. If a user-provided value exists
152
+ // and no sequence exists, use that value as the starting point.
153
+ if (hasValue) {
154
+ await sequence.ensureAtLeast(model[key], context);
155
+ }
156
+ // On update, only run if explicitly enabled; but if we did run, we still already
157
+ // ensured the sequence exists/seeded above.
158
+ if (isUpdate && !data.update)
159
+ return;
160
+ // When generation override is enabled, keep the model's value but still ensure
161
+ // the backing sequence exists/has been seeded.
162
+ if (allowGenerationOverride)
163
+ return;
164
+ const next = await sequence.next(context);
165
+ Reflect.set(model, key, next);
166
+ }
68
167
  function pkDec(options, groupsort) {
69
168
  return function pkDec(obj, attr) {
70
169
  (0, decoration_1.prop)()(obj, attr);
71
- if (!options.type) {
72
- const metaType = decoration_1.Metadata.type(obj.constructor, attr);
73
- if (![Number.name, String.name, BigInt.name].includes(metaType?.name || metaType))
74
- throw new Error("Incorrrect option type");
75
- options.type = metaType;
76
- }
77
- switch (options.type) {
78
- case String.name || String.name.toLowerCase():
79
- console.warn(`Deprecated "${options.type}" type in options`);
80
- // eslint-disable-next-line no-fallthrough
81
- case String:
82
- options.generated =
83
- typeof options.generated === "undefined" ? false : options.generated;
84
- options.type = String;
85
- break;
86
- case Number.name || String.name.toLowerCase():
87
- console.warn(`Deprecated "${options.type}" type in options`);
88
- // eslint-disable-next-line no-fallthrough
89
- case Number:
90
- options.generated =
91
- typeof options.generated === "undefined" ? true : options.generated;
92
- options.type = Number;
93
- break;
94
- case BigInt.name || BigInt.name.toLowerCase():
95
- console.warn(`Deprecated "${options.type}" type in options`);
96
- // eslint-disable-next-line no-fallthrough
97
- case BigInt:
98
- options.type = BigInt;
99
- options.generated =
100
- typeof options.generated === "undefined" ? true : options.generated;
101
- break;
102
- case "uuid":
103
- case "serial":
104
- options.generated = true;
105
- break;
106
- default:
107
- throw new Error("Unsupported type");
108
- }
109
- if (typeof options.generated === "undefined") {
110
- options.generated = true;
170
+ ensureSequenceOptions(obj, attr, options);
171
+ if (!options.name) {
172
+ options.name = resolveSequenceName(obj.constructor, "pk");
111
173
  }
112
174
  const decs = [
113
- (0, decoration_1.prop)(),
114
- (0, indexing_1.index)([constants_1.OrderDirection.ASC, constants_1.OrderDirection.DSC]),
175
+ (0, decoration_1.propMetadata)(decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, attr), options),
176
+ (0, decoration_1.propMetadata)(decoration_1.Metadata.key(constants_1.PersistenceKeys.SEQUENCE, attr), options),
177
+ (0, indexing_1.index)([constants_2.OrderDirection.ASC, constants_2.OrderDirection.DSC]),
115
178
  (0, decorator_validation_1.required)(),
116
179
  (0, db_decorators_1.readonly)(),
117
- (0, decoration_1.propMetadata)(decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, attr), options),
118
180
  (0, db_decorators_1.onCreate)(pkOnCreate, options, groupsort),
119
181
  ];
120
182
  if (options.generated)
@@ -122,6 +184,27 @@ function pkDec(options, groupsort) {
122
184
  return (0, decoration_1.apply)(...decs)(obj, attr);
123
185
  };
124
186
  }
187
+ function sequenceDec(options, params = {}, groupsort) {
188
+ return function sequenceDec(obj, attr) {
189
+ (0, decoration_1.prop)()(obj, attr);
190
+ ensureSequenceOptions(obj, attr, options);
191
+ if (!options.name) {
192
+ const suffix = normalizePropertyKey(attr);
193
+ options.name = resolveSequenceName(obj.constructor, suffix);
194
+ }
195
+ const decs = [
196
+ (0, decorator_validation_1.required)(),
197
+ (0, decoration_1.propMetadata)(decoration_1.Metadata.key(constants_1.PersistenceKeys.SEQUENCE, attr), options),
198
+ (0, db_decorators_1.onCreate)(sequenceOnCreateUpdate, { ...options, ...params }, groupsort),
199
+ ];
200
+ if (params.update) {
201
+ decs.push((0, db_decorators_1.onUpdate)(sequenceOnCreateUpdate, { ...options, ...params }, groupsort));
202
+ }
203
+ if (options.generated)
204
+ decs.push((0, db_decorators_1.generated)());
205
+ return (0, decoration_1.apply)(...decs)(obj, attr);
206
+ };
207
+ }
125
208
  /**
126
209
  * @description Primary Key Decorator
127
210
  * @summary Marks a property as the model's primary key with automatic sequence generation
@@ -154,4 +237,18 @@ function pk(opts) {
154
237
  })
155
238
  .apply();
156
239
  }
240
+ function sequence(opts, updateOrParams) {
241
+ const DefaultSequenceOptionsMin = Object.assign({}, SequenceOptions_1.DefaultSequenceOptions);
242
+ delete DefaultSequenceOptionsMin.generated;
243
+ opts = Object.assign({}, DefaultSequenceOptionsMin, opts);
244
+ const params = typeof updateOrParams === "boolean"
245
+ ? { update: updateOrParams }
246
+ : updateOrParams || {};
247
+ return decoration_1.Decoration.for(constants_1.PersistenceKeys.SEQUENCE)
248
+ .define({
249
+ decorator: sequenceDec,
250
+ args: [opts, params, { priority: defaultPkPriority }],
251
+ })
252
+ .apply();
253
+ }
157
254
  //# sourceMappingURL=decorators.js.map
@@ -1,8 +1,13 @@
1
+ import "../overrides";
1
2
  import { Model } from "@decaf-ts/decorator-validation";
2
3
  import { SequenceOptions } from "../interfaces/SequenceOptions";
3
4
  import { GroupSort } from "@decaf-ts/db-decorators";
4
5
  import { Repository } from "../repository/Repository";
5
6
  import { ContextOf } from "../persistence/types";
7
+ export type SequenceDecoratorParams = {
8
+ /** when true, handler also runs on update (generates the next value) */
9
+ update?: boolean;
10
+ };
6
11
  /**
7
12
  * @description Callback function for primary key creation
8
13
  * @summary Handles the creation of primary key values for models using sequences
@@ -40,7 +45,9 @@ import { ContextOf } from "../persistence/types";
40
45
  * end
41
46
  */
42
47
  export declare function pkOnCreate<M extends Model, R extends Repository<M, any>, V extends SequenceOptions>(this: R, context: ContextOf<R>, data: V, key: keyof M, model: M): Promise<void>;
48
+ export declare function sequenceOnCreateUpdate<M extends Model, R extends Repository<M, any>, V extends SequenceOptions & SequenceDecoratorParams>(this: R, context: ContextOf<R>, data: V, key: keyof M, model: M, oldModel?: M): Promise<void>;
43
49
  export declare function pkDec(options: SequenceOptions, groupsort?: GroupSort): (obj: any, attr: any) => void;
50
+ export declare function sequenceDec(options: SequenceOptions, params?: SequenceDecoratorParams, groupsort?: GroupSort): (obj: any, attr: any) => void;
44
51
  /**
45
52
  * @description Primary Key Decorator
46
53
  * @summary Marks a property as the model's primary key with automatic sequence generation
@@ -62,3 +69,4 @@ export declare function pkDec(options: SequenceOptions, groupsort?: GroupSort):
62
69
  * ```
63
70
  */
64
71
  export declare function pk(opts?: Partial<Omit<SequenceOptions, "cycle" | "startWith" | "incrementBy">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
72
+ export declare function sequence(opts?: Partial<Omit<SequenceOptions, "cycle" | "startWith" | "incrementBy">>, updateOrParams?: SequenceDecoratorParams | boolean): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -49,7 +49,7 @@ __exportStar(require("./persistence/index.cjs"), exports);
49
49
  * @const VERSION
50
50
  * @memberOf module:core
51
51
  */
52
- exports.VERSION = "0.9.18";
52
+ exports.VERSION = "0.10.0";
53
53
  /**
54
54
  * @description Stores the current package version
55
55
  * @summary A constant representing the version of the core package
package/lib/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export * from "./persistence";
22
22
  * @const VERSION
23
23
  * @memberOf module:core
24
24
  */
25
- export declare const VERSION = "0.9.18";
25
+ export declare const VERSION = "0.10.0";
26
26
  /**
27
27
  * @description Stores the current package version
28
28
  * @summary A constant representing the version of the core package
@@ -29,9 +29,9 @@ export interface SequenceOptions<TYPE = SequenceOptionsType> {
29
29
  */
30
30
  startWith: number;
31
31
  /**
32
- * @description The increment value for each step in the sequence
33
- * @summary The amount by which the sequence increases with each call
34
- */
32
+ * @description The increment value for each step in the sequence
33
+ * @summary The amount by which the sequence increases with each call
34
+ */
35
35
  incrementBy: number;
36
36
  /**
37
37
  * @description Optional minimum value for the sequence
@@ -9,6 +9,8 @@ exports.createdBy = createdBy;
9
9
  exports.updatedBy = updatedBy;
10
10
  exports.createdAt = createdAt;
11
11
  exports.updatedAt = updatedAt;
12
+ exports.persistentVersion = persistentVersion;
13
+ exports.version = version;
12
14
  exports.getPkTypes = getPkTypes;
13
15
  exports.oneToOne = oneToOne;
14
16
  exports.oneToMany = oneToMany;
@@ -203,6 +205,74 @@ function createdAt() {
203
205
  function updatedAt() {
204
206
  return (0, db_decorators_1.timestamp)();
205
207
  }
208
+ async function persistentVersionOnCreate(context, data, key, model) {
209
+ const id = decorator_validation_1.Model.pk(model, true);
210
+ if (typeof id === "undefined" || id === null) {
211
+ throw new db_decorators_1.InternalError(`Cannot generate persistent version without an id for ${model.constructor.name}`);
212
+ }
213
+ const options = {
214
+ name: decorator_validation_1.Model.sequenceName(model, String(id), String(key)),
215
+ type: Number,
216
+ generated: true,
217
+ startWith: 0,
218
+ incrementBy: 1,
219
+ cycle: false,
220
+ };
221
+ const sequence = await this.adapter.Sequence(options, this._overrides);
222
+ const hasValue = typeof model[key] !== "undefined" && model[key] !== null;
223
+ const allowGenerationOverride = !!context.get("allowGenerationOverride") && hasValue;
224
+ // Always ensure the sequence exists; if a value exists and no sequence exists,
225
+ // seed it from the current model value.
226
+ if (hasValue) {
227
+ await sequence.ensureAtLeast(model[key], context);
228
+ if (allowGenerationOverride)
229
+ return;
230
+ }
231
+ const next = await sequence.next(context);
232
+ model[key] = next;
233
+ }
234
+ async function persistentVersionOnUpdate(context, data, key, model, oldModel) {
235
+ if (context.get("applyUpdateValidation") &&
236
+ oldModel &&
237
+ model[key] !== oldModel[key]) {
238
+ throw new db_decorators_1.ValidationError(`Version mismatch: ${model[key]} !== ${oldModel[key]}`);
239
+ }
240
+ const id = decorator_validation_1.Model.pk(model, true);
241
+ if (typeof id === "undefined" || id === null) {
242
+ throw new db_decorators_1.InternalError(`Cannot generate persistent version without an id for ${model.constructor.name}`);
243
+ }
244
+ const options = {
245
+ name: decorator_validation_1.Model.sequenceName(model, String(id), String(key)),
246
+ type: Number,
247
+ generated: true,
248
+ startWith: 0,
249
+ incrementBy: 1,
250
+ cycle: false,
251
+ };
252
+ const sequence = await this.adapter.Sequence(options, this._overrides);
253
+ const hasValue = typeof model[key] !== "undefined" && model[key] !== null;
254
+ const allowGenerationOverride = !!context.get("allowGenerationOverride") && hasValue;
255
+ if (hasValue) {
256
+ await sequence.ensureAtLeast(model[key], context);
257
+ if (allowGenerationOverride)
258
+ return;
259
+ }
260
+ const next = await sequence.next(context);
261
+ model[key] = next;
262
+ }
263
+ function persistentVersion() {
264
+ const key = constants_1.PersistenceKeys.PERSISTENT_VERSION;
265
+ return function version(target, propertyKey) {
266
+ return decoration_1.Decoration.for(key)
267
+ .define((0, decoration_1.propMetadata)(decoration_1.Metadata.key(key, propertyKey), true), (0, db_decorators_1.generated)(key), (0, decorator_validation_1.type)(Number), (0, db_decorators_1.onCreate)(persistentVersionOnCreate, {}, { priority: 70 }), (0, db_decorators_1.onUpdate)(persistentVersionOnUpdate, {}, { priority: 70 }))
268
+ .apply()(target, propertyKey);
269
+ };
270
+ }
271
+ function version(persistent = false) {
272
+ if (!persistent)
273
+ return (0, db_decorators_1.version)();
274
+ return persistentVersion();
275
+ }
206
276
  function getPkTypes(model) {
207
277
  return [
208
278
  // this needs to return a function to keep cross references possible even if currently we only have access to first defined type
@@ -107,6 +107,8 @@ export declare function createdBy(): (target: any, propertyKey?: any, descriptor
107
107
  export declare function updatedBy(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
108
108
  export declare function createdAt(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
109
109
  export declare function updatedAt(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
110
+ export declare function persistentVersion(): (target: any, propertyKey?: any) => any;
111
+ export declare function version(persistent?: boolean): (target: any, propertyKey?: any) => any;
110
112
  export declare function getPkTypes(model: Constructor | (() => Constructor)): (() => any)[];
111
113
  /**
112
114
  * @description Defines a one-to-one relationship between models
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
5
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
6
6
  const Adapter_1 = require("./../persistence/Adapter.cjs");
7
7
  const constants_1 = require("./../persistence/constants.cjs");
8
- const errors_1 = require("./../persistence/errors.cjs");
9
8
  const injectable_decorators_1 = require("@decaf-ts/injectable-decorators");
10
9
  const constants_2 = require("./../tasks/constants.cjs");
11
10
  decoration_1.Metadata.tasks = function tasks() {
@@ -116,11 +115,17 @@ decorator_validation_1.Model.sequenceName = function (model, ...args) {
116
115
  return [decorator_validation_1.Model.tableName(model), ...args].join("_");
117
116
  };
118
117
  decorator_validation_1.Model.sequenceFor = function sequenceFor(model, property) {
119
- if (property)
120
- throw new errors_1.UnsupportedError("not currently supported");
121
- const metadata = decorator_validation_1.Model.pkProps(model instanceof decorator_validation_1.Model ? model.constructor : model);
118
+ const target = typeof model !== "function" ? model.constructor : model;
119
+ let key = constants_1.PersistenceKeys.SEQUENCE;
120
+ const pk = decorator_validation_1.Model.pk(target);
121
+ if (!property || String(property) === String(pk)) {
122
+ property = pk;
123
+ key = db_decorators_1.DBKeys.ID;
124
+ }
125
+ key = decoration_1.Metadata.key(key, property);
126
+ const metadata = decoration_1.Metadata.get(target, key);
122
127
  if (!metadata)
123
- throw new db_decorators_1.InternalError("No sequence options defined for model. did you use the @pk decorator?");
128
+ throw new db_decorators_1.InternalError(`No sequence options defined for property ${String(property)}. did you use @sequence() or @pk()?`);
124
129
  return metadata;
125
130
  };
126
131
  decorator_validation_1.Model.indexes = function indexes(model) {
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
@@ -203,6 +203,60 @@ class Sequence extends ContextualLoggedClass_1.ContextualLoggedClass {
203
203
  log.debug(`Calculated range: ${range.join(", ")}`);
204
204
  return range;
205
205
  }
206
+ /**
207
+ * @description Ensures the sequence exists and is at least a given value
208
+ * @summary Upserts the sequence record to the provided value when missing, and optionally only when the
209
+ * provided value is greater than the persisted one. This is used by decorators that want to "seed" a
210
+ * sequence based on an existing model value (for example when overriding/bootstrapping sequences).
211
+ */
212
+ async ensureAtLeast(value, ...argz) {
213
+ const { ctx } = (await this.logCtx(argz, db_decorators_1.OperationKeys.UPDATE, true)).for(this.ensureAtLeast);
214
+ const { name } = this.options;
215
+ if (!name)
216
+ throw new db_decorators_1.InternalError("Sequence name is required");
217
+ const desired = this.parse(value);
218
+ const greaterThan = (a, b) => {
219
+ if (typeof a === "bigint" || typeof b === "bigint") {
220
+ return BigInt(a) > BigInt(b);
221
+ }
222
+ if (typeof a === "number" || typeof b === "number") {
223
+ return Number(a) > Number(b);
224
+ }
225
+ return String(a) > String(b);
226
+ };
227
+ return Sequence.lock.execute(async () => {
228
+ const readExisting = async () => {
229
+ try {
230
+ return await this.repo.read(name, ctx);
231
+ }
232
+ catch (e) {
233
+ if (e instanceof db_decorators_1.NotFoundError)
234
+ return undefined;
235
+ throw e;
236
+ }
237
+ };
238
+ while (true) {
239
+ try {
240
+ const existing = await readExisting();
241
+ if (!existing) {
242
+ // Always create the sequence when missing, even if desired <= startWith.
243
+ await this.repo.create(new SequenceModel_1.SequenceModel({ id: name, current: desired }), ctx);
244
+ return desired;
245
+ }
246
+ const current = this.parse(existing.current);
247
+ if (!greaterThan(desired, current))
248
+ return current;
249
+ await this.repo.update(new SequenceModel_1.SequenceModel({ id: name, current: desired }), ctx);
250
+ return desired;
251
+ }
252
+ catch (e) {
253
+ if (e instanceof db_decorators_1.ConflictError)
254
+ continue;
255
+ throw e;
256
+ }
257
+ }
258
+ }, name);
259
+ }
206
260
  parse(value) {
207
261
  return Sequence.parseValue(this.options.type, value);
208
262
  }
@@ -96,6 +96,13 @@ export declare class Sequence<A extends Adapter<any, any, any, any> = Adapter<an
96
96
  * @return A promise that resolves to an array of sequential values
97
97
  */
98
98
  range(count: number, ...argz: MaybeContextualArg<any>): Promise<(number | string | bigint)[]>;
99
+ /**
100
+ * @description Ensures the sequence exists and is at least a given value
101
+ * @summary Upserts the sequence record to the provided value when missing, and optionally only when the
102
+ * provided value is greater than the persisted one. This is used by decorators that want to "seed" a
103
+ * sequence based on an existing model value (for example when overriding/bootstrapping sequences).
104
+ */
105
+ ensureAtLeast(value: string | number | bigint, ...argz: MaybeContextualArg<any>): Promise<string | number | bigint>;
99
106
  protected parse(value: string | number | bigint): string | number | bigint;
100
107
  protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<typeof this.adapter>, ARGS>, operation: METHOD): ContextualizedArgs<ContextOf<typeof this.adapter>, ARGS, METHOD extends string ? true : false>;
101
108
  protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<ContextOf<typeof this.adapter>, ARGS>, operation: METHOD, allowCreate: false): ContextualizedArgs<ContextOf<typeof this.adapter>, ARGS, METHOD extends string ? true : false>;