@decaf-ts/core 0.10.0 → 0.10.2
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.d.ts +7 -2
- package/lib/esm/identity/decorators.js +49 -18
- 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/model/decorators.d.ts +2 -0
- package/lib/esm/model/decorators.js +81 -1
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/overrides/overrides.js +28 -4
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Adapter.js +20 -3
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/Context.d.ts +5 -1
- package/lib/esm/persistence/Context.js +19 -1
- package/lib/esm/persistence/Context.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 +1 -0
- package/lib/esm/persistence/constants.js +1 -0
- package/lib/esm/persistence/constants.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/utils/ContextualLoggedClass.js +13 -1
- package/lib/esm/utils/ContextualLoggedClass.js.map +1 -1
- package/lib/identity/decorators.cjs +49 -17
- package/lib/identity/decorators.d.ts +7 -2
- package/lib/identity/decorators.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/model/decorators.cjs +82 -0
- package/lib/model/decorators.d.ts +2 -0
- package/lib/model/decorators.js.map +1 -1
- package/lib/overrides/overrides.cjs +28 -4
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Adapter.cjs +20 -3
- package/lib/persistence/Adapter.js.map +1 -1
- package/lib/persistence/Context.cjs +18 -0
- package/lib/persistence/Context.d.ts +5 -1
- package/lib/persistence/Context.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 +1 -0
- package/lib/persistence/constants.d.ts +1 -0
- package/lib/persistence/constants.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/utils/ContextualLoggedClass.cjs +13 -1
- package/lib/utils/ContextualLoggedClass.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,26 @@
|
|
|
1
|
-
import { Context as Ctx, InternalError } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { Context as Ctx, InternalError, } from "@decaf-ts/db-decorators";
|
|
2
|
+
import { Logging } from "@decaf-ts/logging";
|
|
2
3
|
export class Context extends Ctx {
|
|
3
4
|
constructor(ctx) {
|
|
4
5
|
super(ctx);
|
|
5
6
|
}
|
|
7
|
+
// Ensure `Context.from(...)` returns a core Context instance (not the base db-decorators one).
|
|
8
|
+
static { this.factory = (arg) => {
|
|
9
|
+
const ctx = new Context();
|
|
10
|
+
return ctx.accumulate(Object.assign({}, arg, {
|
|
11
|
+
timestamp: new Date(),
|
|
12
|
+
logger: arg.logger || Logging.get(),
|
|
13
|
+
}));
|
|
14
|
+
}; }
|
|
15
|
+
static async from(operation, overrides, model, ...args) {
|
|
16
|
+
return this.factory(Object.assign({}, overrides || {}, {
|
|
17
|
+
operation,
|
|
18
|
+
model,
|
|
19
|
+
affectedTables: model,
|
|
20
|
+
args,
|
|
21
|
+
logger: overrides?.logger || Logging.get(),
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
6
24
|
pushPending(key, id) {
|
|
7
25
|
const pending = this.pending() || {};
|
|
8
26
|
pending[key] = pending[key] || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/persistence/Context.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/persistence/Context.ts"],"names":[],"mappings":"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"}
|
|
@@ -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>;
|
|
@@ -200,6 +200,60 @@ export class Sequence extends ContextualLoggedClass {
|
|
|
200
200
|
log.debug(`Calculated range: ${range.join(", ")}`);
|
|
201
201
|
return range;
|
|
202
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* @description Ensures the sequence exists and is at least a given value
|
|
205
|
+
* @summary Upserts the sequence record to the provided value when missing, and optionally only when the
|
|
206
|
+
* provided value is greater than the persisted one. This is used by decorators that want to "seed" a
|
|
207
|
+
* sequence based on an existing model value (for example when overriding/bootstrapping sequences).
|
|
208
|
+
*/
|
|
209
|
+
async ensureAtLeast(value, ...argz) {
|
|
210
|
+
const { ctx } = (await this.logCtx(argz, OperationKeys.UPDATE, true)).for(this.ensureAtLeast);
|
|
211
|
+
const { name } = this.options;
|
|
212
|
+
if (!name)
|
|
213
|
+
throw new InternalError("Sequence name is required");
|
|
214
|
+
const desired = this.parse(value);
|
|
215
|
+
const greaterThan = (a, b) => {
|
|
216
|
+
if (typeof a === "bigint" || typeof b === "bigint") {
|
|
217
|
+
return BigInt(a) > BigInt(b);
|
|
218
|
+
}
|
|
219
|
+
if (typeof a === "number" || typeof b === "number") {
|
|
220
|
+
return Number(a) > Number(b);
|
|
221
|
+
}
|
|
222
|
+
return String(a) > String(b);
|
|
223
|
+
};
|
|
224
|
+
return Sequence.lock.execute(async () => {
|
|
225
|
+
const readExisting = async () => {
|
|
226
|
+
try {
|
|
227
|
+
return await this.repo.read(name, ctx);
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
if (e instanceof NotFoundError)
|
|
231
|
+
return undefined;
|
|
232
|
+
throw e;
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
while (true) {
|
|
236
|
+
try {
|
|
237
|
+
const existing = await readExisting();
|
|
238
|
+
if (!existing) {
|
|
239
|
+
// Always create the sequence when missing, even if desired <= startWith.
|
|
240
|
+
await this.repo.create(new SequenceModel({ id: name, current: desired }), ctx);
|
|
241
|
+
return desired;
|
|
242
|
+
}
|
|
243
|
+
const current = this.parse(existing.current);
|
|
244
|
+
if (!greaterThan(desired, current))
|
|
245
|
+
return current;
|
|
246
|
+
await this.repo.update(new SequenceModel({ id: name, current: desired }), ctx);
|
|
247
|
+
return desired;
|
|
248
|
+
}
|
|
249
|
+
catch (e) {
|
|
250
|
+
if (e instanceof ConflictError)
|
|
251
|
+
continue;
|
|
252
|
+
throw e;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}, name);
|
|
256
|
+
}
|
|
203
257
|
parse(value) {
|
|
204
258
|
return Sequence.parseValue(this.options.type, value);
|
|
205
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../../src/persistence/Sequence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../../src/persistence/Sequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,7 @@ export declare enum PersistenceKeys {
|
|
|
62
62
|
AUTH_ROLE = "auth-role",
|
|
63
63
|
DECAF_ROUTE = "DecafRoute",
|
|
64
64
|
THROTTLE = "throttle",
|
|
65
|
+
PERSISTENT_VERSION = "persistent-version",
|
|
65
66
|
DEFAULT_QUERY_ATTR = "default-query-attr"
|
|
66
67
|
}
|
|
67
68
|
export declare const DefaultContextFlags: ContextFlags<any>;
|
|
@@ -64,6 +64,7 @@ export var PersistenceKeys;
|
|
|
64
64
|
PersistenceKeys["AUTH_ROLE"] = "auth-role";
|
|
65
65
|
PersistenceKeys["DECAF_ROUTE"] = "DecafRoute";
|
|
66
66
|
PersistenceKeys["THROTTLE"] = "throttle";
|
|
67
|
+
PersistenceKeys["PERSISTENT_VERSION"] = "persistent-version";
|
|
67
68
|
PersistenceKeys["DEFAULT_QUERY_ATTR"] = "default-query-attr";
|
|
68
69
|
})(PersistenceKeys || (PersistenceKeys = {}));
|
|
69
70
|
export const DefaultContextFlags = Object.assign({}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/persistence/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,qBAAqB,EAAE,gCAA2B;AAE3D;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/persistence/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,5 +38,15 @@ export declare class CompositeTaskBuilder extends TaskBuilder {
|
|
|
38
38
|
constructor(arg?: ModelArg<CompositeTaskBuilder>);
|
|
39
39
|
setAtomicity(value: TaskType): this;
|
|
40
40
|
setSteps(value: TaskStepSpecModel[]): this;
|
|
41
|
+
/**
|
|
42
|
+
* Backwards compatible:
|
|
43
|
+
* - addStep(classification, input?)
|
|
44
|
+
* - addStep(classification, name, input?)
|
|
45
|
+
*
|
|
46
|
+
* Note: `name` is only treated as such when provided as the 2nd argument AND
|
|
47
|
+
* a 3rd argument is present. This avoids breaking existing calls where input
|
|
48
|
+
* is a string.
|
|
49
|
+
*/
|
|
41
50
|
addStep(classification: string, input?: any): this;
|
|
51
|
+
addStep(classification: string, name: string, input?: any): this;
|
|
42
52
|
}
|
package/lib/esm/tasks/builder.js
CHANGED
|
@@ -163,11 +163,15 @@ export class CompositeTaskBuilder extends TaskBuilder {
|
|
|
163
163
|
this.steps = (value ?? []).map((step) => step instanceof TaskStepSpecModel ? step : new TaskStepSpecModel(step));
|
|
164
164
|
return this;
|
|
165
165
|
}
|
|
166
|
-
addStep(classification,
|
|
166
|
+
addStep(classification, nameOrInput, inputMaybe) {
|
|
167
167
|
this.steps = this.steps || [];
|
|
168
168
|
const now = new Date();
|
|
169
|
+
const hasThirdArg = arguments.length >= 3;
|
|
170
|
+
const name = hasThirdArg && typeof nameOrInput === "string" ? nameOrInput : undefined;
|
|
171
|
+
const input = hasThirdArg ? inputMaybe : nameOrInput;
|
|
169
172
|
this.steps.push(new TaskStepSpecModel({
|
|
170
173
|
classification,
|
|
174
|
+
name,
|
|
171
175
|
input,
|
|
172
176
|
createdAt: now,
|
|
173
177
|
updatedAt: now,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/tasks/builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/tasks/builder.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,8BAA2B;AAC/C,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,QAAQ,GACT,uBAAoB;AACrB,OAAO,EAAE,gBAAgB,EAAE,0BAAuB;AAClD,OAAO,EAAE,iBAAiB,EAAE,sCAAmC;AAC/D,OAAO,EACL,EAAE,EACF,IAAI,EACJ,GAAG,EACH,KAAK,EAEL,MAAM,EACN,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,MAAM,OAAO,kBAAmD,SAAQ,KAAK;IAe3E,YAAY,GAAkC;QAC5C,KAAK,CAAC,GAAG,CAAC,CAAC;QAbb,WAAM,GAAW,IAAI,CAAC;QAGtB,WAAM,GAAmB,cAAc,CAAC,IAAI,CAAC;QAI7C,UAAK,GAAW,MAAM,CAAC;QAGvB,aAAQ,GAAoB,eAAe,CAAC,WAAW,CAAC;QAItD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAQ,CAAC;IAC3C,CAAC;CACF;AA1CC;IAFC,QAAQ,EAAE;IACV,GAAG,CAAC,IAAI,CAAC;;kDACY;AAGtB;IAFC,QAAQ,EAAE;IACV,MAAM,CAAC,cAAc,CAAC;;kDACsB;AAI7C;IAHC,EAAE,CAAC,QAAQ,CAAC;IACZ,GAAG,CAAC,IAAI,CAAC;IACT,QAAQ,EAAE;;iDACY;AAGvB;IAFC,QAAQ,EAAE;IACV,MAAM,CAAC,eAAe,CAAC;;oDACgC;AAkC1D,MAAM,OAAO,WAAY,SAAQ,KAAK;IAiBpC,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,KAAe;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CACR,KAAwB;QAExB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,OAAO,IAAW,CAAC;QACrB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzC,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;YACvC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI;gBACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACpD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;QACH,OAAO,OAAc,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,KAAU;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,GAA2B;QACrC,KAAK,CAAC,GAAG,CAAC,CAAC;QAxDH,WAAM,GAAe,UAAU,CAAC,OAAO,CAAC;QAExC,cAAS,GAAa,QAAQ,CAAC,MAAM,CAAC;QAEtC,YAAO,GAAqB,IAAI,gBAAgB,EAAE,CAAC;QAKnD,gBAAW,GAAW,CAAC,CAAC;QAgDhC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AArEW;IADT,QAAQ,EAAE;;mDACuB;AAExB;IADT,IAAI,EAAE;;yCACiB;AAEd;IADT,QAAQ,EAAE;;2CACuC;AAExC;IADT,QAAQ,EAAE;;8CACqC;AAEtC;IADT,QAAQ,EAAE;8BACQ,gBAAgB;4CAA0B;AAEnD;IADT,IAAI,EAAE;;0CACe;AAGZ;IAFT,GAAG,CAAC,CAAC,CAAC;IACN,QAAQ,EAAE;;gDACuB;AA0DpC,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAMnD,YAAY,GAAoC;QAC9C,KAAK,CAAC,GAAG,CAAC,CAAC;QAHH,gBAAW,GAAyB,EAAE,CAAC;QAI/C,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACtC,CAAC;IAED,6DAA6D;IACpD,YAAY,CAAC,KAAe;QACnC,MAAM,IAAI,aAAa,CAAC,uBAAuB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,QAAQ,CAAC,KAA0B;QACjC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtC,IAAI,YAAY,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAaD,OAAO,CAAC,cAAsB,EAAE,WAAiB,EAAE,UAAgB;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,GACR,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,IAAI,iBAAiB,CAAC;YACpB,cAAc;YACd,IAAI;YACJ,KAAK;YACL,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnDW;IADT,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;;mDACQ"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { LoggedClass, Logging } from "@decaf-ts/logging";
|
|
2
2
|
import { InternalError, } from "@decaf-ts/db-decorators";
|
|
3
3
|
import { Context } from "./../persistence/Context.js";
|
|
4
|
+
function isContextLike(value) {
|
|
5
|
+
if (!value || typeof value !== "object")
|
|
6
|
+
return false;
|
|
7
|
+
const v = value;
|
|
8
|
+
// Avoid `instanceof` here because multiple linked builds of `@decaf-ts/core`
|
|
9
|
+
// can lead to duplicate Context constructors and failing realm checks.
|
|
10
|
+
return (typeof v.get === "function" &&
|
|
11
|
+
typeof v.accumulate === "function" &&
|
|
12
|
+
typeof v.override === "function" &&
|
|
13
|
+
typeof v.toOverrides === "function" &&
|
|
14
|
+
v.cache !== undefined);
|
|
15
|
+
}
|
|
4
16
|
export class ContextualLoggedClass extends LoggedClass {
|
|
5
17
|
logCtx(args, operation, allowCreate = false, overrides) {
|
|
6
18
|
return ContextualLoggedClass.logCtx.call(this, operation, overrides || {}, allowCreate, ...args.filter((e) => typeof e !== "undefined"));
|
|
@@ -41,7 +53,7 @@ export class ContextualLoggedClass extends LoggedClass {
|
|
|
41
53
|
return resp;
|
|
42
54
|
};
|
|
43
55
|
let ctx = args.pop();
|
|
44
|
-
const hasContext = ctx instanceof Context;
|
|
56
|
+
const hasContext = ctx instanceof Context || isContextLike(ctx);
|
|
45
57
|
if (ctx && !hasContext) {
|
|
46
58
|
args.push(ctx);
|
|
47
59
|
ctx = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextualLoggedClass.js","sourceRoot":"","sources":["../../../src/utils/ContextualLoggedClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAU,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAGL,aAAa,GAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,oCAA+B;
|
|
1
|
+
{"version":3,"file":"ContextualLoggedClass.js","sourceRoot":"","sources":["../../../src/utils/ContextualLoggedClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
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;
|
|
5
6
|
exports.sequenceDec = sequenceDec;
|
|
6
7
|
exports.pk = pk;
|
|
@@ -27,13 +28,6 @@ function resolveSequenceName(model, suffix) {
|
|
|
27
28
|
const anchor = suffix || "pk";
|
|
28
29
|
return [tableName, anchor].filter(Boolean).join("_");
|
|
29
30
|
}
|
|
30
|
-
function normalizePropertyKey(attr) {
|
|
31
|
-
if (typeof attr === "string")
|
|
32
|
-
return attr;
|
|
33
|
-
if (typeof attr === "symbol")
|
|
34
|
-
return attr.description || attr.toString();
|
|
35
|
-
return String(attr);
|
|
36
|
-
}
|
|
37
31
|
function ensureSequenceOptions(obj, attr, options) {
|
|
38
32
|
if (!options.type) {
|
|
39
33
|
const metaType = decoration_1.Metadata.type(obj.constructor, attr);
|
|
@@ -121,7 +115,7 @@ async function pkOnCreate(context, data, key, model) {
|
|
|
121
115
|
Reflect.set(target, propertyKey, value);
|
|
122
116
|
};
|
|
123
117
|
if (!data.name)
|
|
124
|
-
data.name = decorator_validation_1.Model.sequenceName(model,
|
|
118
|
+
data.name = decorator_validation_1.Model.sequenceName(model, "pk");
|
|
125
119
|
let sequence;
|
|
126
120
|
try {
|
|
127
121
|
sequence = await this.adapter.Sequence(data, this._overrides);
|
|
@@ -132,6 +126,42 @@ async function pkOnCreate(context, data, key, model) {
|
|
|
132
126
|
const next = await sequence.next(context);
|
|
133
127
|
setPrimaryKeyValue(model, key, next);
|
|
134
128
|
}
|
|
129
|
+
async function sequenceOnCreateUpdate(context, data, key, model, oldModel) {
|
|
130
|
+
if (!data.type || !data.generated)
|
|
131
|
+
return;
|
|
132
|
+
if (!data.name) {
|
|
133
|
+
const id = decorator_validation_1.Model.pk(model, true);
|
|
134
|
+
if (typeof id === "undefined" || id === null) {
|
|
135
|
+
throw new db_decorators_1.InternalError(`Cannot generate sequence without an id for ${model.constructor.name}`);
|
|
136
|
+
}
|
|
137
|
+
data.name = decorator_validation_1.Model.sequenceName(model, String(id), String(key));
|
|
138
|
+
}
|
|
139
|
+
let sequence;
|
|
140
|
+
try {
|
|
141
|
+
sequence = await this.adapter.Sequence(data, this._overrides);
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
throw new db_decorators_1.InternalError(`Failed to instantiate Sequence ${data.name}: ${e}`);
|
|
145
|
+
}
|
|
146
|
+
const isUpdate = typeof oldModel !== "undefined" && oldModel !== null;
|
|
147
|
+
const hasValue = typeof model[key] !== "undefined" && model[key] !== null;
|
|
148
|
+
const allowGenerationOverride = !!context.get("allowGenerationOverride") && hasValue;
|
|
149
|
+
// Always ensure the backing sequence exists. If a user-provided value exists
|
|
150
|
+
// and no sequence exists, use that value as the starting point.
|
|
151
|
+
if (hasValue) {
|
|
152
|
+
await sequence.ensureAtLeast(model[key], context);
|
|
153
|
+
}
|
|
154
|
+
// On update, only run if explicitly enabled; but if we did run, we still already
|
|
155
|
+
// ensured the sequence exists/seeded above.
|
|
156
|
+
if (isUpdate && !data.update)
|
|
157
|
+
return;
|
|
158
|
+
// When generation override is enabled, keep the model's value but still ensure
|
|
159
|
+
// the backing sequence exists/has been seeded.
|
|
160
|
+
if (allowGenerationOverride)
|
|
161
|
+
return;
|
|
162
|
+
const next = await sequence.next(context);
|
|
163
|
+
Reflect.set(model, key, next);
|
|
164
|
+
}
|
|
135
165
|
function pkDec(options, groupsort) {
|
|
136
166
|
return function pkDec(obj, attr) {
|
|
137
167
|
(0, decoration_1.prop)()(obj, attr);
|
|
@@ -152,20 +182,18 @@ function pkDec(options, groupsort) {
|
|
|
152
182
|
return (0, decoration_1.apply)(...decs)(obj, attr);
|
|
153
183
|
};
|
|
154
184
|
}
|
|
155
|
-
function sequenceDec(options, groupsort) {
|
|
185
|
+
function sequenceDec(options, params = {}, groupsort) {
|
|
156
186
|
return function sequenceDec(obj, attr) {
|
|
157
187
|
(0, decoration_1.prop)()(obj, attr);
|
|
158
188
|
ensureSequenceOptions(obj, attr, options);
|
|
159
|
-
if (!options.name) {
|
|
160
|
-
const suffix = normalizePropertyKey(attr);
|
|
161
|
-
options.name = resolveSequenceName(obj.constructor, suffix);
|
|
162
|
-
}
|
|
163
189
|
const decs = [
|
|
164
190
|
(0, decorator_validation_1.required)(),
|
|
165
|
-
(0, db_decorators_1.readonly)(),
|
|
166
191
|
(0, decoration_1.propMetadata)(decoration_1.Metadata.key(constants_1.PersistenceKeys.SEQUENCE, attr), options),
|
|
167
|
-
(0, db_decorators_1.onCreate)(
|
|
192
|
+
(0, db_decorators_1.onCreate)(sequenceOnCreateUpdate, { ...options, ...params }, groupsort),
|
|
168
193
|
];
|
|
194
|
+
if (params.update) {
|
|
195
|
+
decs.push((0, db_decorators_1.onUpdate)(sequenceOnCreateUpdate, { ...options, ...params }, groupsort));
|
|
196
|
+
}
|
|
169
197
|
if (options.generated)
|
|
170
198
|
decs.push((0, db_decorators_1.generated)());
|
|
171
199
|
return (0, decoration_1.apply)(...decs)(obj, attr);
|
|
@@ -203,14 +231,18 @@ function pk(opts) {
|
|
|
203
231
|
})
|
|
204
232
|
.apply();
|
|
205
233
|
}
|
|
206
|
-
function sequence(opts) {
|
|
234
|
+
function sequence(opts, updateOrParams) {
|
|
207
235
|
const DefaultSequenceOptionsMin = Object.assign({}, SequenceOptions_1.DefaultSequenceOptions);
|
|
208
236
|
delete DefaultSequenceOptionsMin.generated;
|
|
209
237
|
opts = Object.assign({}, DefaultSequenceOptionsMin, opts);
|
|
238
|
+
const params = typeof updateOrParams === "boolean"
|
|
239
|
+
? { update: updateOrParams }
|
|
240
|
+
: updateOrParams || {};
|
|
210
241
|
return decoration_1.Decoration.for(constants_1.PersistenceKeys.SEQUENCE)
|
|
211
242
|
.define({
|
|
212
243
|
decorator: sequenceDec,
|
|
213
|
-
|
|
244
|
+
// Run after pk generation so the model id exists for per-instance sequences.
|
|
245
|
+
args: [opts, params, { priority: defaultPkPriority + 10 }],
|
|
214
246
|
})
|
|
215
247
|
.apply();
|
|
216
248
|
}
|
|
@@ -4,6 +4,10 @@ import { SequenceOptions } from "../interfaces/SequenceOptions";
|
|
|
4
4
|
import { GroupSort } from "@decaf-ts/db-decorators";
|
|
5
5
|
import { Repository } from "../repository/Repository";
|
|
6
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
|
+
};
|
|
7
11
|
/**
|
|
8
12
|
* @description Callback function for primary key creation
|
|
9
13
|
* @summary Handles the creation of primary key values for models using sequences
|
|
@@ -41,8 +45,9 @@ import { ContextOf } from "../persistence/types";
|
|
|
41
45
|
* end
|
|
42
46
|
*/
|
|
43
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>;
|
|
44
49
|
export declare function pkDec(options: SequenceOptions, groupsort?: GroupSort): (obj: any, attr: any) => void;
|
|
45
|
-
export declare function sequenceDec(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;
|
|
46
51
|
/**
|
|
47
52
|
* @description Primary Key Decorator
|
|
48
53
|
* @summary Marks a property as the model's primary key with automatic sequence generation
|
|
@@ -64,4 +69,4 @@ export declare function sequenceDec(options: SequenceOptions, groupsort?: GroupS
|
|
|
64
69
|
* ```
|
|
65
70
|
*/
|
|
66
71
|
export declare function pk(opts?: Partial<Omit<SequenceOptions, "cycle" | "startWith" | "incrementBy">>): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
67
|
-
export declare function sequence(opts?: Partial<Omit<SequenceOptions, "cycle" | "startWith" | "incrementBy"
|
|
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":";;AA4IA,gCAmCC;AAED,sBAkBC;AAED,
|
|
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.1";
|
|
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.1";
|
|
26
26
|
/**
|
|
27
27
|
* @description Stores the current package version
|
|
28
28
|
* @summary A constant representing the version of the core package
|
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,86 @@ 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
|
+
// Sequences are meta-records that can be updated during other lifecycle hooks
|
|
210
|
+
// (for example while computing persistent versions). Persisting a persistent
|
|
211
|
+
// version for the sequence records themselves causes name recursion like:
|
|
212
|
+
// `owner_<id>_version -> ??sequence_owner_<id>_version_version -> ...`.
|
|
213
|
+
// Sequence versions do not need to be persistent.
|
|
214
|
+
if (decorator_validation_1.Model.tableName(model) === "??sequence")
|
|
215
|
+
return;
|
|
216
|
+
const id = decorator_validation_1.Model.pk(model, true);
|
|
217
|
+
if (typeof id === "undefined" || id === null) {
|
|
218
|
+
throw new db_decorators_1.InternalError(`Cannot generate persistent version without an id for ${model.constructor.name}`);
|
|
219
|
+
}
|
|
220
|
+
const options = {
|
|
221
|
+
name: decorator_validation_1.Model.sequenceName(model, String(id), String(key)),
|
|
222
|
+
type: Number,
|
|
223
|
+
generated: true,
|
|
224
|
+
startWith: 0,
|
|
225
|
+
incrementBy: 1,
|
|
226
|
+
cycle: false,
|
|
227
|
+
};
|
|
228
|
+
const sequence = await this.adapter.Sequence(options, this._overrides);
|
|
229
|
+
const hasValue = typeof model[key] !== "undefined" && model[key] !== null;
|
|
230
|
+
const allowGenerationOverride = !!context.get("allowGenerationOverride") && hasValue;
|
|
231
|
+
// Always ensure the sequence exists; if a value exists and no sequence exists,
|
|
232
|
+
// seed it from the current model value.
|
|
233
|
+
if (hasValue) {
|
|
234
|
+
await sequence.ensureAtLeast(model[key], context);
|
|
235
|
+
if (allowGenerationOverride)
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const next = await sequence.next(context);
|
|
239
|
+
model[key] = next;
|
|
240
|
+
}
|
|
241
|
+
async function persistentVersionOnUpdate(context, data, key, model, oldModel) {
|
|
242
|
+
// See persistentVersionOnCreate comment above.
|
|
243
|
+
if (decorator_validation_1.Model.tableName(model) === "??sequence")
|
|
244
|
+
return;
|
|
245
|
+
if (context.get("applyUpdateValidation") &&
|
|
246
|
+
oldModel &&
|
|
247
|
+
model[key] !== oldModel[key]) {
|
|
248
|
+
throw new db_decorators_1.ValidationError(`Version mismatch: ${model[key]} !== ${oldModel[key]}`);
|
|
249
|
+
}
|
|
250
|
+
const id = decorator_validation_1.Model.pk(model, true);
|
|
251
|
+
if (typeof id === "undefined" || id === null) {
|
|
252
|
+
throw new db_decorators_1.InternalError(`Cannot generate persistent version without an id for ${model.constructor.name}`);
|
|
253
|
+
}
|
|
254
|
+
const options = {
|
|
255
|
+
name: decorator_validation_1.Model.sequenceName(model, String(id), String(key)),
|
|
256
|
+
type: Number,
|
|
257
|
+
generated: true,
|
|
258
|
+
startWith: 0,
|
|
259
|
+
incrementBy: 1,
|
|
260
|
+
cycle: false,
|
|
261
|
+
};
|
|
262
|
+
const sequence = await this.adapter.Sequence(options, this._overrides);
|
|
263
|
+
const hasValue = typeof model[key] !== "undefined" && model[key] !== null;
|
|
264
|
+
const allowGenerationOverride = !!context.get("allowGenerationOverride") && hasValue;
|
|
265
|
+
if (hasValue) {
|
|
266
|
+
await sequence.ensureAtLeast(model[key], context);
|
|
267
|
+
if (allowGenerationOverride)
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
const next = await sequence.next(context);
|
|
271
|
+
model[key] = next;
|
|
272
|
+
}
|
|
273
|
+
function persistentVersion() {
|
|
274
|
+
const key = constants_1.PersistenceKeys.PERSISTENT_VERSION;
|
|
275
|
+
return function version(target, propertyKey) {
|
|
276
|
+
return decoration_1.Decoration.for(key)
|
|
277
|
+
.define(
|
|
278
|
+
// Ensure class-level decorators (for example Fabric shared/private data) can "see" this attribute.
|
|
279
|
+
(0, decoration_1.prop)(), (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 }))
|
|
280
|
+
.apply()(target, propertyKey);
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
function version(persistent = false) {
|
|
284
|
+
if (!persistent)
|
|
285
|
+
return (0, db_decorators_1.version)();
|
|
286
|
+
return persistentVersion();
|
|
287
|
+
}
|
|
206
288
|
function getPkTypes(model) {
|
|
207
289
|
return [
|
|
208
290
|
// 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
|