@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.
- 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/fs/FilesystemAdapter.d.ts +1 -0
- package/lib/esm/fs/FilesystemAdapter.js +2 -1
- package/lib/esm/fs/FilesystemAdapter.js.map +1 -1
- package/lib/esm/fs/types.d.ts +6 -0
- package/lib/esm/identity/decorators.d.ts +8 -0
- package/lib/esm/identity/decorators.js +137 -43
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/interfaces/SequenceOptions.d.ts +3 -3
- package/lib/esm/model/decorators.d.ts +2 -0
- package/lib/esm/model/decorators.js +69 -1
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/overrides/overrides.js +10 -5
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Sequence.d.ts +7 -0
- package/lib/esm/persistence/Sequence.js +54 -0
- package/lib/esm/persistence/Sequence.js.map +1 -1
- package/lib/esm/persistence/constants.d.ts +3 -0
- package/lib/esm/persistence/constants.js +3 -0
- package/lib/esm/persistence/constants.js.map +1 -1
- package/lib/esm/tasks/TaskContext.d.ts +3 -1
- package/lib/esm/tasks/TaskContext.js +8 -1
- package/lib/esm/tasks/TaskContext.js.map +1 -1
- package/lib/esm/tasks/TaskEngine.d.ts +1 -0
- package/lib/esm/tasks/TaskEngine.js +71 -11
- package/lib/esm/tasks/TaskEngine.js.map +1 -1
- package/lib/esm/tasks/builder.d.ts +10 -0
- package/lib/esm/tasks/builder.js +5 -1
- package/lib/esm/tasks/builder.js.map +1 -1
- package/lib/esm/tasks/logging.js +3 -6
- package/lib/esm/tasks/logging.js.map +1 -1
- package/lib/esm/tasks/models/TaskLogEntryModel.d.ts +1 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.js +5 -1
- package/lib/esm/tasks/models/TaskLogEntryModel.js.map +1 -1
- package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +1 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js +6 -2
- package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
- package/lib/esm/tasks/types.d.ts +5 -1
- package/lib/esm/workers/TaskEngine.js +15 -3
- package/lib/esm/workers/TaskEngine.js.map +1 -1
- package/lib/esm/workers/workerThread.js +35 -7
- package/lib/esm/workers/workerThread.js.map +1 -1
- package/lib/fs/FilesystemAdapter.cjs +2 -1
- package/lib/fs/FilesystemAdapter.d.ts +1 -0
- package/lib/fs/FilesystemAdapter.js.map +1 -1
- package/lib/fs/types.d.ts +6 -0
- package/lib/identity/decorators.cjs +141 -44
- package/lib/identity/decorators.d.ts +8 -0
- package/lib/identity/decorators.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/interfaces/SequenceOptions.d.ts +3 -3
- package/lib/model/decorators.cjs +70 -0
- package/lib/model/decorators.d.ts +2 -0
- package/lib/model/decorators.js.map +1 -1
- package/lib/overrides/overrides.cjs +10 -5
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Sequence.cjs +54 -0
- package/lib/persistence/Sequence.d.ts +7 -0
- package/lib/persistence/Sequence.js.map +1 -1
- package/lib/persistence/constants.cjs +3 -0
- package/lib/persistence/constants.d.ts +3 -0
- package/lib/persistence/constants.js.map +1 -1
- package/lib/tasks/TaskContext.cjs +8 -1
- package/lib/tasks/TaskContext.d.ts +3 -1
- package/lib/tasks/TaskContext.js.map +1 -1
- package/lib/tasks/TaskEngine.cjs +71 -11
- package/lib/tasks/TaskEngine.d.ts +1 -0
- package/lib/tasks/TaskEngine.js.map +1 -1
- package/lib/tasks/builder.cjs +5 -1
- package/lib/tasks/builder.d.ts +10 -0
- package/lib/tasks/builder.js.map +1 -1
- package/lib/tasks/logging.cjs +3 -6
- package/lib/tasks/logging.js.map +1 -1
- package/lib/tasks/models/TaskLogEntryModel.cjs +4 -0
- package/lib/tasks/models/TaskLogEntryModel.d.ts +1 -0
- package/lib/tasks/models/TaskLogEntryModel.js.map +1 -1
- package/lib/tasks/models/TaskStepSpecModel.cjs +5 -1
- package/lib/tasks/models/TaskStepSpecModel.d.ts +1 -0
- package/lib/tasks/models/TaskStepSpecModel.js.map +1 -1
- package/lib/tasks/types.d.ts +5 -1
- package/lib/workers/TaskEngine.cjs +15 -3
- package/lib/workers/TaskEngine.js.map +1 -1
- package/lib/workers/workerThread.cjs +34 -6
- package/lib/workers/workerThread.js.map +1 -1
- 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("./../
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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.
|
|
114
|
-
(0,
|
|
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":";;
|
|
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.
|
|
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.
|
|
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
|
-
|
|
33
|
-
|
|
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
|
package/lib/model/decorators.cjs
CHANGED
|
@@ -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
|
-
|
|
120
|
-
|
|
121
|
-
const
|
|
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(
|
|
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":";;AAAA,qDAA6D;AAC7D,yEAAuD;AACvD,2DAA+E;AAC/E,0DAAiD;AAEjD,8DAA2D;
|
|
1
|
+
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":";;AAAA,qDAA6D;AAC7D,yEAAuD;AACvD,2DAA+E;AAC/E,0DAAiD;AAEjD,8DAA2D;AAK3D,2EAA8D;AAG9D,wDAA8C;AAG7C,qBAAgB,CAAC,KAAK,GAAG,SAAS,KAAK;IAGtC,OAAO,qBAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAQ,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,qBAAgB,CAAC,OAAO,GAAG,SAAS,OAAO,CAC1C,IAAY;IAEZ,MAAM,IAAI,GAAG,qBAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,qBAAgB,CAAC,oBAAoB,GAAG,SAAS,oBAAoB,CAEpD,KAAqB,EAAE,EAAiB;IACxD,MAAM,YAAY,GAChB,qBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,2BAAe,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACzD,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SACrD,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IAAI,EAAE,KAAK,6BAAa,CAAC,MAAM,IAAI,EAAE,KAAK,6BAAa,CAAC,MAAM;QAC5D,UAAU,GAAG,4BAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,qBAAgB,CAAC,aAAa,GAAG,UAEhC,OAAW;IACX,OAAO,GAAG,OAAO,IAAK,iBAAO,CAAC,OAAa,CAAC;IAC5C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,6BAAa,CAAC,sCAAsC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,qBAAQ,CAAC,UAAU,CAAC,CACrC,MAAM,CAAC,GAAG,CAAC,2BAAe,CAAC,SAAS,CAAC,EACrC,OAAO,CAAC,KAAK,CACd,CAAC;IACF,OAAO,UAAU,CAAC,GAAG,CACnB,CAAC,CAA4C,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAC1D,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,qBAAgB,CAAC,UAAU,GAAG,SAAS,UAAU;IAIhD,MAAM,UAAU,GAGZ,qBAAQ,CAAC,UAAU,CAAC,CACtB,MAAM,CAAC,GAAG,CAAC,CAAC,2BAAe,CAAC,SAAS,EAAE,2BAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC1E,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;SAC7B,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,qBAAgB,CAAC,SAAS,GAAG,UAC5B,CAAiB,EACjB,IAAc;IAEd,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,2BAAe,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,IAAc,CAAC;QACvB,MAAM,IAAI,6BAAa,CACrB,4CAA4C,IAAc,EAAE,CAC7D,CAAC;IACJ,OAAO,IAAI,CAAC,IAAc,CAAC,CAAC;AAC9B,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,4BAAa,CAAC,SAAS,GAAG,UACzB,CAAqB,EACrB,IAAc;IAEd,OAAO,CACL,qBAAQ,CAAC,SAAS,CAChB,CAAC,YAAY,4BAAK,CAAC,CAAC,CAAE,CAAC,CAAC,WAA8B,CAAC,CAAC,CAAC,CAAC,EAC1D,IAAI,CACL,IAAI,EAAE,CACR,CAAC;AACJ,CAAC,CAAC;AAED,4BAAa,CAAC,eAAe,GAAG,UAC/B,KAAyB,EACzB,oBAA8B,EAAE;IAEhC,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CAAC,KAAuB,EAAE,2BAAe,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QACpC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAQ,CAAC;QACvC,IAAI,YAAY,EAAE,KAAK,IAAI,4BAAK,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,cAAc,GAAG,4BAAK,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAa,CAAC;YACvE,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,iBAAiB,CAAC,CAAC;YACjE,KAAK,GAAG,4BAAK,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,IAAI,CAAC,4BAAK,CAAC,CAAC;AAEb,4BAAa,CAAC,mBAAmB,GAAG,SAAS,mBAAmB,CAG/D,KAAyB,EAAE,IAAc;IACzC,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,MAAM,GAAG,GAAG,4BAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;AACzB,CAAC,CAAC,IAAI,CAAC,4BAAK,CAAC,CAAC;AAEb,4BAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,SAAiB;IAEjB,MAAM,IAAI,GAAG,qBAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,2BAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4BAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,IAAI,6BAAa,CACrB,0DAA0D,CAC3D,CAAC;IACJ,OAAO,4BAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAmB,CAAC;AAC3D,CAAC,CAAC,IAAI,CAAC,4BAAK,CAAC,CAAC;AAEb,qBAAgB,CAAC,SAAS,GAAG,SAAS,SAAS,CAC9C,KAAyB;IAEzB,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CACvB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,2BAAe,CAAC,UAAU,CAC3B,CAAC;IACF,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,6BAAa,CACrB,kEAAkE,CACnE,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,qBAAgB,CAAC,SAAS,GAAG,SAAS,SAAS,CAC9C,KAAyB;IAEzB,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CACvB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,2BAAe,CAAC,UAAU,CAC3B,CAAC;IACF,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,6BAAa,CACrB,kEAAkE,CACnE,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,IAAI,CAAC,qBAAQ,CAAC,CAAC;AAEhB,4BAAa,CAAC,SAAS,GAAG,UACzB,KAAyB;IAEzB,MAAM,GAAG,GACP,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,4BAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,6BAAa,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CACvB,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,EAC3D,2BAAe,CAAC,KAAK,CACtB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,YAAY,4BAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC,CAAC;AAED,4BAAa,CAAC,UAAU,GAAG,UAC1B,KAAyB,EACzB,SAAkB;IAElB,MAAM,QAAQ,GAAG,qBAAQ,CAAC,GAAG,CAC3B,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,EAC3D,qBAAQ,CAAC,GAAG,CAAC,2BAAe,CAAC,MAAM,EAAE,SAAmB,CAAC,CAC1D,CAAC;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE,SAAoB,CAAC;AACrD,CAAC,CAAC;AAED,4BAAa,CAAC,sBAAsB,GAAG,SAAS,sBAAsB,CAErE,CAAqB,EAAE,UAAU,GAAG,KAAK;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3D,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CACvB,MAAa,EACb,qBAAQ,CAAC,GAAG,CAAC,2BAAe,CAAC,kBAAkB,CAAC,CACjD,CAAC;IACF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,4BAAK,CAAC,EAAE,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC,CAAC;AAED,4BAAa,CAAC,YAAY,GAAG,UAC5B,KAAyB,EACzB,GAAG,IAAc;IAEjB,OAAO,CAAC,4BAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC;AAED,4BAAa,CAAC,WAAW,GAAG,SAAS,WAAW,CAC/C,KAAyB,EACzB,QAAkB;IAElB,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnE,IAAI,GAAG,GAAW,2BAAe,CAAC,QAAQ,CAAC;IAE3C,MAAM,EAAE,GAAG,4BAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAE5B,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACjD,QAAQ,GAAG,EAAS,CAAC;QACrB,GAAG,GAAG,sBAAM,CAAC,EAAE,CAAC;IAClB,CAAC;IACD,GAAG,GAAG,qBAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,QAAkB,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,qBAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,6BAAa,CACrB,4CAA4C,MAAM,CAAC,QAAQ,CAAC,qCAAqC,CAClG,CAAC;IACJ,OAAO,QAA2B,CAAC;AACrC,CAAC,CAAC;AAED,4BAAa,CAAC,OAAO,GAAG,SAAS,OAAO,CACvC,KAAyB;IAEzB,MAAM,eAAe,GAAG,qBAAQ,CAAC,GAAG,CAClC,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,EAC3D,2BAAe,CAAC,KAAK,CACtB,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,IAAmD,EAAE,CAAM,EAAE,EAAE;QAC9D,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,2BAAe,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC;AAED,mCAAmB,CAAC,QAAQ,GAAG;IAI9B,OAAO,qBAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,2BAAe,CAAC,OAAO,CAAC,CAG9D,CAAC;AACJ,CAAC,CAAC;AAED,mCAAmB,CAAC,YAAY,GAAG;IAGlC,OAAO,qBAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAM,CAAC,UAAU,CAAC,CAGxD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACF,4BAAa,CAAC,KAAK,GAAG,SAAS,KAAK,CACnC,QAAW,EACX,QAAW,EACX,WAA4B;IAE5B,WAAW,GAAG,WAAW,IAAK,QAAQ,CAAC,WAA8B,CAAC;IAEtE,MAAM,OAAO,GAAG,CAAC,KAAQ,EAAE,EAAE,CAC3B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAA0B,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QACtE,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,4BAAK,CAAC,SAAS,CAAC,WAAW,EAAE,GAAc,CAAC,CAAC;YAC/D,IAAI,SAAS,CAAC,GAAG,KAAK,qBAAqB;gBAAE,mBAAmB,GAAG,IAAI,CAAC;YACxE,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,mBAAmB,GAAG,KAAK,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,mBAAmB;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,OAAO,IAAI,WAAW,CACpB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,4BAAK,CAAC,CAAC"}
|
|
@@ -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>;
|