@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.
@@ -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.44";
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.44";
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 oneToManyOnCreate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
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 oneToManyOnCreate(context, data, key, model) {
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(oneToManyOnCreate);
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.readAll([...uniqueValues.values()], context);
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 oneToManyOnCreate.apply(this, [
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.readAll([...uniqueValues.values()], context);
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?.readAll(recordIds);
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.read(proKeyValue, context);
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.deleteAll(toDelete, context);
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, oneToManyOnCreate, oneToManyOnDelete, oneToManyOnUpdate, oneToOneOnCreate, oneToOneOnDelete, oneToOneOnUpdate, populate as pop, } from "./construction.js";
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(oneToManyOnCreate, metadata, { priority: 70 }),
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":"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"}
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.44";
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.44";
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.oneToManyOnCreate = oneToManyOnCreate;
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 oneToManyOnCreate(context, data, key, model) {
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(oneToManyOnCreate);
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.readAll([...uniqueValues.values()], context);
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 oneToManyOnCreate.apply(this, [
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.readAll([...uniqueValues.values()], context);
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?.readAll(recordIds);
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.read(proKeyValue, context);
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.deleteAll(toDelete, context);
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 oneToManyOnCreate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
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