@decaf-ts/core 0.8.45 → 0.8.47
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/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/model/construction.d.ts +2 -2
- package/lib/esm/model/construction.js +31 -16
- package/lib/esm/model/construction.js.map +1 -1
- package/lib/esm/model/decorators.js +2 -2
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/model/construction.cjs +32 -17
- package/lib/model/construction.d.ts +2 -2
- package/lib/model/construction.js.map +1 -1
- package/lib/model/decorators.cjs +1 -1
- package/lib/model/decorators.js.map +1 -1
- package/package.json +1 -1
package/lib/esm/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.8.
|
|
25
|
+
export declare const VERSION = "0.8.46";
|
|
26
26
|
/**
|
|
27
27
|
* @description Stores the current package version
|
|
28
28
|
* @summary A constant representing the version of the core package
|
package/lib/esm/index.js
CHANGED
|
@@ -32,7 +32,7 @@ export * from "./persistence/index.js";
|
|
|
32
32
|
* @const VERSION
|
|
33
33
|
* @memberOf module:core
|
|
34
34
|
*/
|
|
35
|
-
export const VERSION = "0.8.
|
|
35
|
+
export const VERSION = "0.8.46";
|
|
36
36
|
/**
|
|
37
37
|
* @description Stores the current package version
|
|
38
38
|
* @summary A constant representing the version of the core package
|
|
@@ -241,7 +241,7 @@ export declare function oneToOneOnDelete<M extends Model, R extends Repo<M>>(thi
|
|
|
241
241
|
*
|
|
242
242
|
* oneToManyOnCreate-->>Caller: void
|
|
243
243
|
*/
|
|
244
|
-
export declare function
|
|
244
|
+
export declare function oneToManyOnCreateUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M, oldModel?: M): Promise<void>;
|
|
245
245
|
/**
|
|
246
246
|
* @description Handles one-to-many relationship updates
|
|
247
247
|
* @summary Processes a one-to-many relationship when updating a model, delegating to oneToManyOnCreate if cascade update is enabled
|
|
@@ -274,7 +274,7 @@ export declare function oneToManyOnCreate<M extends Model, R extends Repo<M>>(th
|
|
|
274
274
|
*
|
|
275
275
|
* oneToManyOnUpdate-->>Caller: void
|
|
276
276
|
*/
|
|
277
|
-
export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
277
|
+
export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M, oldModel?: M): Promise<void>;
|
|
278
278
|
/**
|
|
279
279
|
* @description Handles one-to-many relationship deletion
|
|
280
280
|
* @summary Processes a one-to-many relationship when deleting a model, deleting all related models if cascade delete is enabled
|
|
@@ -392,7 +392,9 @@ export async function oneToOneOnDelete(context, data, key, model) {
|
|
|
392
392
|
*
|
|
393
393
|
* oneToManyOnCreate-->>Caller: void
|
|
394
394
|
*/
|
|
395
|
-
export async function
|
|
395
|
+
export async function oneToManyOnCreateUpdate(context, data, key, model,
|
|
396
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
397
|
+
oldModel) {
|
|
396
398
|
const propertyValues = model[key];
|
|
397
399
|
if (!propertyValues || !propertyValues.length)
|
|
398
400
|
return;
|
|
@@ -401,11 +403,13 @@ export async function oneToManyOnCreate(context, data, key, model) {
|
|
|
401
403
|
const arrayType = typeof propertyValues[0];
|
|
402
404
|
if (!propertyValues.every((item) => typeof item === arrayType))
|
|
403
405
|
throw new InternalError(`Invalid operation. All elements of property ${key} must match the same type.`);
|
|
404
|
-
const log = context.logger.for(
|
|
406
|
+
const log = context.logger.for(oneToManyOnCreateUpdate);
|
|
405
407
|
const uniqueValues = new Set([...propertyValues]);
|
|
406
408
|
if (arrayType !== "object") {
|
|
407
409
|
const repo = repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
408
|
-
const read = await repo
|
|
410
|
+
const read = await repo
|
|
411
|
+
.override(this._overrides)
|
|
412
|
+
.readAll([...uniqueValues.values()], context);
|
|
409
413
|
for (let i = 0; i < read.length; i++) {
|
|
410
414
|
const model = read[i];
|
|
411
415
|
log.info(`FOUND ONE TO MANY VALUE: ${JSON.stringify(model)}`);
|
|
@@ -463,15 +467,16 @@ export async function oneToManyOnCreate(context, data, key, model) {
|
|
|
463
467
|
*
|
|
464
468
|
* oneToManyOnUpdate-->>Caller: void
|
|
465
469
|
*/
|
|
466
|
-
export async function oneToManyOnUpdate(context, data, key, model) {
|
|
470
|
+
export async function oneToManyOnUpdate(context, data, key, model, oldModel) {
|
|
467
471
|
const { cascade } = data;
|
|
468
472
|
if (cascade.update !== Cascade.CASCADE)
|
|
469
473
|
return;
|
|
470
|
-
return
|
|
474
|
+
return oneToManyOnCreateUpdate.apply(this, [
|
|
471
475
|
context,
|
|
472
476
|
data,
|
|
473
477
|
key,
|
|
474
478
|
model,
|
|
479
|
+
oldModel,
|
|
475
480
|
]);
|
|
476
481
|
}
|
|
477
482
|
/**
|
|
@@ -547,7 +552,7 @@ export async function oneToManyOnDelete(context, data, key, model) {
|
|
|
547
552
|
const ids = [...uniqueValues.values()];
|
|
548
553
|
let deleted;
|
|
549
554
|
try {
|
|
550
|
-
deleted = await repo.deleteAll(ids, context);
|
|
555
|
+
deleted = await repo.override(this._overrides).deleteAll(ids, context);
|
|
551
556
|
}
|
|
552
557
|
catch (e) {
|
|
553
558
|
context.logger.error(`Failed to delete all records`, e);
|
|
@@ -576,7 +581,7 @@ export async function manyToOneOnCreate(context, data, key, model) {
|
|
|
576
581
|
// If it's a primitive value (ID), read the existing record
|
|
577
582
|
if (typeof propertyValue !== "object") {
|
|
578
583
|
const innerRepo = repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
579
|
-
const read = await innerRepo.read(propertyValue);
|
|
584
|
+
const read = await innerRepo.override(this._overrides).read(propertyValue);
|
|
580
585
|
await cacheModelForPopulate(context, model, key, propertyValue, read);
|
|
581
586
|
model[key] = propertyValue;
|
|
582
587
|
return;
|
|
@@ -585,7 +590,7 @@ export async function manyToOneOnCreate(context, data, key, model) {
|
|
|
585
590
|
if (!constructor)
|
|
586
591
|
throw new InternalError(`Could not find model ${data.class}`);
|
|
587
592
|
log.info(`Creating or updating many-to-one model: ${JSON.stringify(propertyValue)}`);
|
|
588
|
-
const record = await createOrUpdate(propertyValue, context, this.adapter.alias);
|
|
593
|
+
const record = await createOrUpdate(propertyValue, context, this.adapter.alias, undefined, this._overrides);
|
|
589
594
|
const pk = Model.pk(record);
|
|
590
595
|
log.info(`caching: ${JSON.stringify(record)} under ${record[pk]}`);
|
|
591
596
|
await cacheModelForPopulate(context, model, key, record[pk], record);
|
|
@@ -633,7 +638,7 @@ export async function manyToOneOnDelete(context, data, key, model) {
|
|
|
633
638
|
? Repository.forModel(value, this.adapter.alias)
|
|
634
639
|
: repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
635
640
|
const repoId = isInstantiated ? value[repo["pk"]] : value;
|
|
636
|
-
const deleted = await repo.delete(repoId);
|
|
641
|
+
const deleted = await repo.override(this._overrides).delete(repoId);
|
|
637
642
|
await cacheModelForPopulate(context, model, key, repoId, deleted);
|
|
638
643
|
model[key] = repoId;
|
|
639
644
|
}
|
|
@@ -652,7 +657,9 @@ export async function manyToManyOnCreate(context, data, key, modelA) {
|
|
|
652
657
|
// If it's a primitive value (ID), read the existing record
|
|
653
658
|
if (arrayType !== "object") {
|
|
654
659
|
const repo = repositoryFromTypeMetadata(modelA, key, this.adapter.alias);
|
|
655
|
-
const read = await repo
|
|
660
|
+
const read = await repo
|
|
661
|
+
.override(this._overrides)
|
|
662
|
+
.readAll([...uniqueValues.values()], context);
|
|
656
663
|
for (let i = 0; i < read.length; i++) {
|
|
657
664
|
const model = read[i];
|
|
658
665
|
log.info(`FOUND MANY TO MANY VALUE: ${JSON.stringify(model)}`);
|
|
@@ -674,7 +681,7 @@ export async function manyToManyOnCreate(context, data, key, modelA) {
|
|
|
674
681
|
const result = new Set();
|
|
675
682
|
for (const propertyValue of propertyValues) {
|
|
676
683
|
log.info(`Creating or updating many-to-many model: ${JSON.stringify(propertyValue)}`);
|
|
677
|
-
const record = await createOrUpdate(propertyValue, context, this.adapter.alias);
|
|
684
|
+
const record = await createOrUpdate(propertyValue, context, this.adapter.alias, undefined, this._overrides);
|
|
678
685
|
log.info(`caching: ${JSON.stringify(record)} under ${record[pkName]}`);
|
|
679
686
|
await cacheModelForPopulate(context, modelA, key, record[pkName], record);
|
|
680
687
|
log.info(`Creating or updating many-to-many model: ${JSON.stringify(propertyValue)}`);
|
|
@@ -728,14 +735,16 @@ async function getOrCreateJunctionModel(modelA, modelsB, log, context, metadata)
|
|
|
728
735
|
? modelB[Model.pk(modelB.constructor)]
|
|
729
736
|
: modelB,
|
|
730
737
|
};
|
|
731
|
-
const record = await createOrUpdate(new JunctionModel(junctionRegister), context, this.adapter.alias);
|
|
738
|
+
const record = await createOrUpdate(new JunctionModel(junctionRegister), context, this.adapter.alias, undefined, this._overrides);
|
|
732
739
|
if (record?.id)
|
|
733
740
|
recordIds.push(record.id);
|
|
734
741
|
}
|
|
735
742
|
if (recordIds.length === modelsB?.length) {
|
|
736
743
|
console.log(`All junction records created successfully for table ${JunctionModel?.name}`);
|
|
737
744
|
const repository = Repository.forModel(JunctionModel);
|
|
738
|
-
const results = await repository
|
|
745
|
+
const results = await repository
|
|
746
|
+
?.override(this._overrides)
|
|
747
|
+
.readAll(recordIds);
|
|
739
748
|
console.log("results:", results);
|
|
740
749
|
}
|
|
741
750
|
else
|
|
@@ -827,7 +836,7 @@ export async function manyToManyOnDelete(context, data, key, model) {
|
|
|
827
836
|
const ids = [...uniqueValues.values()];
|
|
828
837
|
let deleted;
|
|
829
838
|
try {
|
|
830
|
-
deleted = await repo.deleteAll(ids, context);
|
|
839
|
+
deleted = await repo.override(this._overrides).deleteAll(ids, context);
|
|
831
840
|
}
|
|
832
841
|
catch (e) {
|
|
833
842
|
context.logger.error(`Failed to delete all records`, e);
|
|
@@ -943,6 +952,8 @@ export async function populate(context, data, key, model) {
|
|
|
943
952
|
const isArr = Array.isArray(nested);
|
|
944
953
|
if (typeof nested === "undefined" || (isArr && nested.length === 0))
|
|
945
954
|
return;
|
|
955
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
956
|
+
const self = this;
|
|
946
957
|
async function fetchPopulateValues(c, model, propName, propKeyValues) {
|
|
947
958
|
let cacheKey;
|
|
948
959
|
let val;
|
|
@@ -960,7 +971,9 @@ export async function populate(context, data, key, model) {
|
|
|
960
971
|
const repo = repositoryFromTypeMetadata(model, propName);
|
|
961
972
|
if (!repo)
|
|
962
973
|
throw new InternalError("Could not find repo");
|
|
963
|
-
val = await repo
|
|
974
|
+
val = await repo
|
|
975
|
+
.override(self._overrides)
|
|
976
|
+
.read(proKeyValue, context);
|
|
964
977
|
}
|
|
965
978
|
results.push(val);
|
|
966
979
|
}
|
|
@@ -998,7 +1011,9 @@ export async function cascadeDelete(context, data, key, model, oldModel) {
|
|
|
998
1011
|
throw new InternalError("Could not find repo");
|
|
999
1012
|
console.log("herehere");
|
|
1000
1013
|
try {
|
|
1001
|
-
const deleted = await repo
|
|
1014
|
+
const deleted = await repo
|
|
1015
|
+
.override(this._overrides)
|
|
1016
|
+
.deleteAll(toDelete, context);
|
|
1002
1017
|
context.logger.debug(`Deleted ${deleted.length} entries from table ${Model.tableName(repo.class)} due to cascade rules with `);
|
|
1003
1018
|
}
|
|
1004
1019
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction.js","sourceRoot":"","sources":["../../../src/model/construction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"construction.js","sourceRoot":"","sources":["../../../src/model/construction.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { PersistenceKeys } from "./../persistence/constants.js";
|
|
|
4
4
|
import { DefaultCascade } from "./../repository/constants.js";
|
|
5
5
|
import { async, list, Model, type } from "@decaf-ts/decorator-validation";
|
|
6
6
|
import { Condition } from "./../query/Condition.js";
|
|
7
|
-
import { manyToManyOnCreate, manyToOneOnCreate, manyToOneOnDelete, manyToOneOnUpdate, cascadeDelete,
|
|
7
|
+
import { manyToManyOnCreate, manyToOneOnCreate, manyToOneOnDelete, manyToOneOnUpdate, cascadeDelete, oneToManyOnCreateUpdate, oneToManyOnDelete, oneToManyOnUpdate, oneToOneOnCreate, oneToOneOnDelete, oneToOneOnUpdate, populate as pop, } from "./construction.js";
|
|
8
8
|
import { AuthorizationError } from "./../utils/errors.js";
|
|
9
9
|
/**
|
|
10
10
|
* @description Specifies the database table name for a model
|
|
@@ -296,7 +296,7 @@ export function oneToMany(clazz, cascadeOptions = DefaultCascade, populate = tru
|
|
|
296
296
|
prop(),
|
|
297
297
|
relation(key, metadata),
|
|
298
298
|
list([clazz, ...pkTypes]),
|
|
299
|
-
onCreate(
|
|
299
|
+
onCreate(oneToManyOnCreateUpdate, metadata, { priority: 70 }),
|
|
300
300
|
onUpdate(oneToManyOnUpdate, metadata, { priority: 70 }),
|
|
301
301
|
onDelete(oneToManyOnDelete, metadata, { priority: 70 }),
|
|
302
302
|
afterUpdate(cascadeDelete, metadata, { priority: 70 }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,IAAI,QAAQ,EACjB,QAAQ,EACR,QAAQ,IAAI,WAAW,EACvB,UAAU,EACV,YAAY,EAEZ,IAAI,EACJ,QAAQ,EACR,KAAK,GACN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,sCAAiC;AAE3D,OAAO,EAAE,cAAc,EAAE,qCAAgC;AACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,gCAA2B;AAO/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/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.8.
|
|
52
|
+
exports.VERSION = "0.8.46";
|
|
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.8.
|
|
25
|
+
export declare const VERSION = "0.8.46";
|
|
26
26
|
/**
|
|
27
27
|
* @description Stores the current package version
|
|
28
28
|
* @summary A constant representing the version of the core package
|
|
@@ -4,7 +4,7 @@ exports.createOrUpdate = createOrUpdate;
|
|
|
4
4
|
exports.oneToOneOnCreate = oneToOneOnCreate;
|
|
5
5
|
exports.oneToOneOnUpdate = oneToOneOnUpdate;
|
|
6
6
|
exports.oneToOneOnDelete = oneToOneOnDelete;
|
|
7
|
-
exports.
|
|
7
|
+
exports.oneToManyOnCreateUpdate = oneToManyOnCreateUpdate;
|
|
8
8
|
exports.oneToManyOnUpdate = oneToManyOnUpdate;
|
|
9
9
|
exports.oneToManyOnDelete = oneToManyOnDelete;
|
|
10
10
|
exports.manyToOneOnCreate = manyToOneOnCreate;
|
|
@@ -415,7 +415,9 @@ async function oneToOneOnDelete(context, data, key, model) {
|
|
|
415
415
|
*
|
|
416
416
|
* oneToManyOnCreate-->>Caller: void
|
|
417
417
|
*/
|
|
418
|
-
async function
|
|
418
|
+
async function oneToManyOnCreateUpdate(context, data, key, model,
|
|
419
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
420
|
+
oldModel) {
|
|
419
421
|
const propertyValues = model[key];
|
|
420
422
|
if (!propertyValues || !propertyValues.length)
|
|
421
423
|
return;
|
|
@@ -424,11 +426,13 @@ async function oneToManyOnCreate(context, data, key, model) {
|
|
|
424
426
|
const arrayType = typeof propertyValues[0];
|
|
425
427
|
if (!propertyValues.every((item) => typeof item === arrayType))
|
|
426
428
|
throw new db_decorators_1.InternalError(`Invalid operation. All elements of property ${key} must match the same type.`);
|
|
427
|
-
const log = context.logger.for(
|
|
429
|
+
const log = context.logger.for(oneToManyOnCreateUpdate);
|
|
428
430
|
const uniqueValues = new Set([...propertyValues]);
|
|
429
431
|
if (arrayType !== "object") {
|
|
430
432
|
const repo = repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
431
|
-
const read = await repo
|
|
433
|
+
const read = await repo
|
|
434
|
+
.override(this._overrides)
|
|
435
|
+
.readAll([...uniqueValues.values()], context);
|
|
432
436
|
for (let i = 0; i < read.length; i++) {
|
|
433
437
|
const model = read[i];
|
|
434
438
|
log.info(`FOUND ONE TO MANY VALUE: ${JSON.stringify(model)}`);
|
|
@@ -486,15 +490,16 @@ async function oneToManyOnCreate(context, data, key, model) {
|
|
|
486
490
|
*
|
|
487
491
|
* oneToManyOnUpdate-->>Caller: void
|
|
488
492
|
*/
|
|
489
|
-
async function oneToManyOnUpdate(context, data, key, model) {
|
|
493
|
+
async function oneToManyOnUpdate(context, data, key, model, oldModel) {
|
|
490
494
|
const { cascade } = data;
|
|
491
495
|
if (cascade.update !== constants_2.Cascade.CASCADE)
|
|
492
496
|
return;
|
|
493
|
-
return
|
|
497
|
+
return oneToManyOnCreateUpdate.apply(this, [
|
|
494
498
|
context,
|
|
495
499
|
data,
|
|
496
500
|
key,
|
|
497
501
|
model,
|
|
502
|
+
oldModel,
|
|
498
503
|
]);
|
|
499
504
|
}
|
|
500
505
|
/**
|
|
@@ -570,7 +575,7 @@ async function oneToManyOnDelete(context, data, key, model) {
|
|
|
570
575
|
const ids = [...uniqueValues.values()];
|
|
571
576
|
let deleted;
|
|
572
577
|
try {
|
|
573
|
-
deleted = await repo.deleteAll(ids, context);
|
|
578
|
+
deleted = await repo.override(this._overrides).deleteAll(ids, context);
|
|
574
579
|
}
|
|
575
580
|
catch (e) {
|
|
576
581
|
context.logger.error(`Failed to delete all records`, e);
|
|
@@ -599,7 +604,7 @@ async function manyToOneOnCreate(context, data, key, model) {
|
|
|
599
604
|
// If it's a primitive value (ID), read the existing record
|
|
600
605
|
if (typeof propertyValue !== "object") {
|
|
601
606
|
const innerRepo = repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
602
|
-
const read = await innerRepo.read(propertyValue);
|
|
607
|
+
const read = await innerRepo.override(this._overrides).read(propertyValue);
|
|
603
608
|
await cacheModelForPopulate(context, model, key, propertyValue, read);
|
|
604
609
|
model[key] = propertyValue;
|
|
605
610
|
return;
|
|
@@ -608,7 +613,7 @@ async function manyToOneOnCreate(context, data, key, model) {
|
|
|
608
613
|
if (!constructor)
|
|
609
614
|
throw new db_decorators_1.InternalError(`Could not find model ${data.class}`);
|
|
610
615
|
log.info(`Creating or updating many-to-one model: ${JSON.stringify(propertyValue)}`);
|
|
611
|
-
const record = await createOrUpdate(propertyValue, context, this.adapter.alias);
|
|
616
|
+
const record = await createOrUpdate(propertyValue, context, this.adapter.alias, undefined, this._overrides);
|
|
612
617
|
const pk = decorator_validation_1.Model.pk(record);
|
|
613
618
|
log.info(`caching: ${JSON.stringify(record)} under ${record[pk]}`);
|
|
614
619
|
await cacheModelForPopulate(context, model, key, record[pk], record);
|
|
@@ -656,7 +661,7 @@ async function manyToOneOnDelete(context, data, key, model) {
|
|
|
656
661
|
? Repository_1.Repository.forModel(value, this.adapter.alias)
|
|
657
662
|
: repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
658
663
|
const repoId = isInstantiated ? value[repo["pk"]] : value;
|
|
659
|
-
const deleted = await repo.delete(repoId);
|
|
664
|
+
const deleted = await repo.override(this._overrides).delete(repoId);
|
|
660
665
|
await cacheModelForPopulate(context, model, key, repoId, deleted);
|
|
661
666
|
model[key] = repoId;
|
|
662
667
|
}
|
|
@@ -675,7 +680,9 @@ async function manyToManyOnCreate(context, data, key, modelA) {
|
|
|
675
680
|
// If it's a primitive value (ID), read the existing record
|
|
676
681
|
if (arrayType !== "object") {
|
|
677
682
|
const repo = repositoryFromTypeMetadata(modelA, key, this.adapter.alias);
|
|
678
|
-
const read = await repo
|
|
683
|
+
const read = await repo
|
|
684
|
+
.override(this._overrides)
|
|
685
|
+
.readAll([...uniqueValues.values()], context);
|
|
679
686
|
for (let i = 0; i < read.length; i++) {
|
|
680
687
|
const model = read[i];
|
|
681
688
|
log.info(`FOUND MANY TO MANY VALUE: ${JSON.stringify(model)}`);
|
|
@@ -697,7 +704,7 @@ async function manyToManyOnCreate(context, data, key, modelA) {
|
|
|
697
704
|
const result = new Set();
|
|
698
705
|
for (const propertyValue of propertyValues) {
|
|
699
706
|
log.info(`Creating or updating many-to-many model: ${JSON.stringify(propertyValue)}`);
|
|
700
|
-
const record = await createOrUpdate(propertyValue, context, this.adapter.alias);
|
|
707
|
+
const record = await createOrUpdate(propertyValue, context, this.adapter.alias, undefined, this._overrides);
|
|
701
708
|
log.info(`caching: ${JSON.stringify(record)} under ${record[pkName]}`);
|
|
702
709
|
await cacheModelForPopulate(context, modelA, key, record[pkName], record);
|
|
703
710
|
log.info(`Creating or updating many-to-many model: ${JSON.stringify(propertyValue)}`);
|
|
@@ -751,14 +758,16 @@ async function getOrCreateJunctionModel(modelA, modelsB, log, context, metadata)
|
|
|
751
758
|
? modelB[decorator_validation_1.Model.pk(modelB.constructor)]
|
|
752
759
|
: modelB,
|
|
753
760
|
};
|
|
754
|
-
const record = await createOrUpdate(new JunctionModel(junctionRegister), context, this.adapter.alias);
|
|
761
|
+
const record = await createOrUpdate(new JunctionModel(junctionRegister), context, this.adapter.alias, undefined, this._overrides);
|
|
755
762
|
if (record?.id)
|
|
756
763
|
recordIds.push(record.id);
|
|
757
764
|
}
|
|
758
765
|
if (recordIds.length === modelsB?.length) {
|
|
759
766
|
console.log(`All junction records created successfully for table ${JunctionModel?.name}`);
|
|
760
767
|
const repository = Repository_1.Repository.forModel(JunctionModel);
|
|
761
|
-
const results = await repository
|
|
768
|
+
const results = await repository
|
|
769
|
+
?.override(this._overrides)
|
|
770
|
+
.readAll(recordIds);
|
|
762
771
|
console.log("results:", results);
|
|
763
772
|
}
|
|
764
773
|
else
|
|
@@ -850,7 +859,7 @@ async function manyToManyOnDelete(context, data, key, model) {
|
|
|
850
859
|
const ids = [...uniqueValues.values()];
|
|
851
860
|
let deleted;
|
|
852
861
|
try {
|
|
853
|
-
deleted = await repo.deleteAll(ids, context);
|
|
862
|
+
deleted = await repo.override(this._overrides).deleteAll(ids, context);
|
|
854
863
|
}
|
|
855
864
|
catch (e) {
|
|
856
865
|
context.logger.error(`Failed to delete all records`, e);
|
|
@@ -966,6 +975,8 @@ async function populate(context, data, key, model) {
|
|
|
966
975
|
const isArr = Array.isArray(nested);
|
|
967
976
|
if (typeof nested === "undefined" || (isArr && nested.length === 0))
|
|
968
977
|
return;
|
|
978
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
979
|
+
const self = this;
|
|
969
980
|
async function fetchPopulateValues(c, model, propName, propKeyValues) {
|
|
970
981
|
let cacheKey;
|
|
971
982
|
let val;
|
|
@@ -983,7 +994,9 @@ async function populate(context, data, key, model) {
|
|
|
983
994
|
const repo = repositoryFromTypeMetadata(model, propName);
|
|
984
995
|
if (!repo)
|
|
985
996
|
throw new db_decorators_1.InternalError("Could not find repo");
|
|
986
|
-
val = await repo
|
|
997
|
+
val = await repo
|
|
998
|
+
.override(self._overrides)
|
|
999
|
+
.read(proKeyValue, context);
|
|
987
1000
|
}
|
|
988
1001
|
results.push(val);
|
|
989
1002
|
}
|
|
@@ -1021,7 +1034,9 @@ async function cascadeDelete(context, data, key, model, oldModel) {
|
|
|
1021
1034
|
throw new db_decorators_1.InternalError("Could not find repo");
|
|
1022
1035
|
console.log("herehere");
|
|
1023
1036
|
try {
|
|
1024
|
-
const deleted = await repo
|
|
1037
|
+
const deleted = await repo
|
|
1038
|
+
.override(this._overrides)
|
|
1039
|
+
.deleteAll(toDelete, context);
|
|
1025
1040
|
context.logger.debug(`Deleted ${deleted.length} entries from table ${decorator_validation_1.Model.tableName(repo.class)} due to cascade rules with `);
|
|
1026
1041
|
}
|
|
1027
1042
|
catch (e) {
|
|
@@ -241,7 +241,7 @@ export declare function oneToOneOnDelete<M extends Model, R extends Repo<M>>(thi
|
|
|
241
241
|
*
|
|
242
242
|
* oneToManyOnCreate-->>Caller: void
|
|
243
243
|
*/
|
|
244
|
-
export declare function
|
|
244
|
+
export declare function oneToManyOnCreateUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M, oldModel?: M): Promise<void>;
|
|
245
245
|
/**
|
|
246
246
|
* @description Handles one-to-many relationship updates
|
|
247
247
|
* @summary Processes a one-to-many relationship when updating a model, delegating to oneToManyOnCreate if cascade update is enabled
|
|
@@ -274,7 +274,7 @@ export declare function oneToManyOnCreate<M extends Model, R extends Repo<M>>(th
|
|
|
274
274
|
*
|
|
275
275
|
* oneToManyOnUpdate-->>Caller: void
|
|
276
276
|
*/
|
|
277
|
-
export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
277
|
+
export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M, oldModel?: M): Promise<void>;
|
|
278
278
|
/**
|
|
279
279
|
* @description Handles one-to-many relationship deletion
|
|
280
280
|
* @summary Processes a one-to-many relationship when deleting a model, deleting all related models if cascade delete is enabled
|