@spinajs/orm 2.0.184 → 2.0.186

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/lib/cjs/bootstrap.d.ts +5 -0
  2. package/lib/cjs/bootstrap.d.ts.map +1 -0
  3. package/lib/cjs/bootstrap.js +32 -0
  4. package/lib/cjs/bootstrap.js.map +1 -0
  5. package/lib/cjs/builders.d.ts +6 -2
  6. package/lib/cjs/builders.d.ts.map +1 -1
  7. package/lib/cjs/builders.js +33 -7
  8. package/lib/cjs/builders.js.map +1 -1
  9. package/lib/cjs/converters.d.ts.map +1 -1
  10. package/lib/cjs/converters.js +2 -1
  11. package/lib/cjs/converters.js.map +1 -1
  12. package/lib/cjs/decorators.d.ts +25 -9
  13. package/lib/cjs/decorators.d.ts.map +1 -1
  14. package/lib/cjs/decorators.js +12 -12
  15. package/lib/cjs/decorators.js.map +1 -1
  16. package/lib/cjs/dehydrators.d.ts.map +1 -1
  17. package/lib/cjs/dehydrators.js +7 -1
  18. package/lib/cjs/dehydrators.js.map +1 -1
  19. package/lib/cjs/fp.d.ts +23 -0
  20. package/lib/cjs/fp.d.ts.map +1 -0
  21. package/lib/cjs/fp.js +55 -0
  22. package/lib/cjs/fp.js.map +1 -0
  23. package/lib/cjs/hydrators.d.ts.map +1 -1
  24. package/lib/cjs/hydrators.js +4 -2
  25. package/lib/cjs/hydrators.js.map +1 -1
  26. package/lib/cjs/index.d.ts +3 -0
  27. package/lib/cjs/index.d.ts.map +1 -1
  28. package/lib/cjs/index.js +3 -0
  29. package/lib/cjs/index.js.map +1 -1
  30. package/lib/cjs/interfaces.d.ts +26 -16
  31. package/lib/cjs/interfaces.d.ts.map +1 -1
  32. package/lib/cjs/interfaces.js +16 -1
  33. package/lib/cjs/interfaces.js.map +1 -1
  34. package/lib/cjs/metadata.d.ts +34 -0
  35. package/lib/cjs/metadata.d.ts.map +1 -0
  36. package/lib/cjs/metadata.js +114 -0
  37. package/lib/cjs/metadata.js.map +1 -0
  38. package/lib/cjs/middlewares.d.ts.map +1 -1
  39. package/lib/cjs/middlewares.js +25 -6
  40. package/lib/cjs/middlewares.js.map +1 -1
  41. package/lib/cjs/model.d.ts +11 -8
  42. package/lib/cjs/model.d.ts.map +1 -1
  43. package/lib/cjs/model.js +67 -43
  44. package/lib/cjs/model.js.map +1 -1
  45. package/lib/cjs/orm.d.ts +1 -1
  46. package/lib/cjs/orm.d.ts.map +1 -1
  47. package/lib/cjs/orm.js +38 -9
  48. package/lib/cjs/orm.js.map +1 -1
  49. package/lib/cjs/relation-objects.d.ts +34 -8
  50. package/lib/cjs/relation-objects.d.ts.map +1 -1
  51. package/lib/cjs/relation-objects.js +39 -18
  52. package/lib/cjs/relation-objects.js.map +1 -1
  53. package/lib/mjs/bootstrap.d.ts +5 -0
  54. package/lib/mjs/bootstrap.d.ts.map +1 -0
  55. package/lib/mjs/bootstrap.js +29 -0
  56. package/lib/mjs/bootstrap.js.map +1 -0
  57. package/lib/mjs/builders.d.ts +6 -2
  58. package/lib/mjs/builders.d.ts.map +1 -1
  59. package/lib/mjs/builders.js +33 -7
  60. package/lib/mjs/builders.js.map +1 -1
  61. package/lib/mjs/converters.d.ts.map +1 -1
  62. package/lib/mjs/converters.js +2 -1
  63. package/lib/mjs/converters.js.map +1 -1
  64. package/lib/mjs/decorators.d.ts +25 -9
  65. package/lib/mjs/decorators.d.ts.map +1 -1
  66. package/lib/mjs/decorators.js +12 -12
  67. package/lib/mjs/decorators.js.map +1 -1
  68. package/lib/mjs/dehydrators.d.ts.map +1 -1
  69. package/lib/mjs/dehydrators.js +7 -1
  70. package/lib/mjs/dehydrators.js.map +1 -1
  71. package/lib/mjs/fp.d.ts +23 -0
  72. package/lib/mjs/fp.d.ts.map +1 -0
  73. package/lib/mjs/fp.js +49 -0
  74. package/lib/mjs/fp.js.map +1 -0
  75. package/lib/mjs/hydrators.d.ts.map +1 -1
  76. package/lib/mjs/hydrators.js +4 -2
  77. package/lib/mjs/hydrators.js.map +1 -1
  78. package/lib/mjs/index.d.ts +3 -0
  79. package/lib/mjs/index.d.ts.map +1 -1
  80. package/lib/mjs/index.js +3 -0
  81. package/lib/mjs/index.js.map +1 -1
  82. package/lib/mjs/interfaces.d.ts +26 -16
  83. package/lib/mjs/interfaces.d.ts.map +1 -1
  84. package/lib/mjs/interfaces.js +14 -0
  85. package/lib/mjs/interfaces.js.map +1 -1
  86. package/lib/mjs/metadata.d.ts +34 -0
  87. package/lib/mjs/metadata.d.ts.map +1 -0
  88. package/lib/mjs/metadata.js +106 -0
  89. package/lib/mjs/metadata.js.map +1 -0
  90. package/lib/mjs/middlewares.d.ts.map +1 -1
  91. package/lib/mjs/middlewares.js +22 -6
  92. package/lib/mjs/middlewares.js.map +1 -1
  93. package/lib/mjs/model.d.ts +11 -8
  94. package/lib/mjs/model.d.ts.map +1 -1
  95. package/lib/mjs/model.js +69 -45
  96. package/lib/mjs/model.js.map +1 -1
  97. package/lib/mjs/orm.d.ts +1 -1
  98. package/lib/mjs/orm.d.ts.map +1 -1
  99. package/lib/mjs/orm.js +39 -10
  100. package/lib/mjs/orm.js.map +1 -1
  101. package/lib/mjs/relation-objects.d.ts +34 -8
  102. package/lib/mjs/relation-objects.d.ts.map +1 -1
  103. package/lib/mjs/relation-objects.js +39 -18
  104. package/lib/mjs/relation-objects.js.map +1 -1
  105. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  106. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  107. package/package.json +10 -12
package/lib/cjs/model.js CHANGED
@@ -4,26 +4,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports._modelProxyFactory = exports.MODEL_STATIC_MIXINS = exports.createQuery = exports.HistoricalModel = exports.ModelBase = exports.extractModelDescriptor = void 0;
7
- /* eslint-disable prettier/prettier */
8
7
  const enums_js_1 = require("./enums.js");
9
8
  const decorators_js_1 = require("./decorators.js");
10
9
  const interfaces_js_1 = require("./interfaces.js");
11
10
  const builders_js_1 = require("./builders.js");
12
- const di_1 = require("@spinajs/di");
13
11
  const orm_js_1 = require("./orm.js");
14
12
  const hydrators_js_1 = require("./hydrators.js");
15
- const lodash_1 = __importDefault(require("lodash"));
16
- const uuid_1 = require("uuid");
17
13
  const exceptions_js_1 = require("./exceptions.js");
18
14
  const dehydrators_js_1 = require("./dehydrators.js");
19
- const luxon_1 = require("luxon");
20
15
  const relation_objects_js_1 = require("./relation-objects.js");
21
16
  const middlewares_js_1 = require("./middlewares.js");
17
+ const di_1 = require("@spinajs/di");
18
+ const luxon_1 = require("luxon");
19
+ const lodash_1 = __importDefault(require("lodash"));
20
+ const uuid_1 = require("uuid");
22
21
  const MODEL_PROXY_HANDLER = {
23
22
  set: (target, p, value) => {
24
23
  if (target[p] !== value) {
25
24
  target[p] = value;
26
- if (p !== 'IsDirty') {
25
+ if (p !== 'IsDirty' && target.ModelDescriptor.Columns.find((x) => x.Name === p)) {
27
26
  target.IsDirty = true;
28
27
  }
29
28
  }
@@ -49,7 +48,7 @@ function extractModelDescriptor(targetOrForward) {
49
48
  return b;
50
49
  }
51
50
  if (Array.isArray(a)) {
52
- return a.concat(b);
51
+ return lodash_1.default.uniq(a.concat(b));
53
52
  }
54
53
  return a;
55
54
  });
@@ -72,8 +71,7 @@ class ModelBase {
72
71
  */
73
72
  get Container() {
74
73
  if (!this._container) {
75
- const orm = di_1.DI.get(orm_js_1.Orm);
76
- const driver = orm.Connections.get(this.ModelDescriptor.Connection);
74
+ const driver = di_1.DI.resolve('OrmConnection', [this.ModelDescriptor.Connection]);
77
75
  if (!driver) {
78
76
  throw new Error(`model ${this.constructor.name} have invalid connection ${this.ModelDescriptor.Connection}, please check your db config file or model connection name`);
79
77
  }
@@ -303,18 +301,24 @@ class ModelBase {
303
301
  if (v.TargetModel.name === data.constructor.name) {
304
302
  // TODO: refactor this, so we dont update foreign key
305
303
  // instead we must use belongsTo relation on data model to update
306
- data[v.ForeignKey] = this.PrimaryKeyValue;
304
+ //(data as any)[v.ForeignKey] = this.PrimaryKeyValue;
307
305
  switch (v.Type) {
308
306
  case interfaces_js_1.RelationType.One:
309
307
  this[v.Name].attach(data);
310
308
  break;
311
309
  case interfaces_js_1.RelationType.Many:
310
+ // attach to related model too
311
+ const rel = [...data.ModelDescriptor.Relations.entries()].find((e) => e[1].ForeignKey === v.ForeignKey);
312
+ if (rel) {
313
+ data[rel[0]].Value = this;
314
+ }
312
315
  case interfaces_js_1.RelationType.ManyToMany:
313
316
  this[v.Name].push(data);
314
317
  break;
315
318
  }
316
319
  }
317
320
  }
321
+ this.IsDirty = true;
318
322
  }
319
323
  /**
320
324
  * Extracts all data from model. It takes only properties that exists in DB
@@ -341,8 +345,9 @@ class ModelBase {
341
345
  if (!this.PrimaryKeyValue) {
342
346
  return;
343
347
  }
344
- await this.constructor.destroy(this.PrimaryKeyValue);
348
+ const result = await this.constructor.destroy(this.PrimaryKeyValue);
345
349
  this.IsDirty = false;
350
+ return result;
346
351
  }
347
352
  /**
348
353
  * If model can be in achived state - sets archived at date and saves it to db
@@ -355,15 +360,27 @@ class ModelBase {
355
360
  throw new exceptions_js_1.OrmException('archived at column not exists in model');
356
361
  }
357
362
  const { query } = this.createUpdateQuery();
358
- await query.update(this.toSql()).where(this.PrimaryKeyName, this.PrimaryKeyValue);
363
+ return await query.update(this.toSql()).where(this.PrimaryKeyName, this.PrimaryKeyValue);
359
364
  }
360
- async update() {
365
+ async update(data) {
361
366
  const { query } = this.createUpdateQuery();
367
+ let result = {
368
+ RowsAffected: 0,
369
+ LastInsertId: 0,
370
+ };
371
+ if (data) {
372
+ this.hydrate(data);
373
+ }
374
+ // if no changes, return without update
375
+ if (this.IsDirty === false) {
376
+ return result;
377
+ }
362
378
  if (this.ModelDescriptor.Timestamps.UpdatedAt) {
363
379
  this[this.ModelDescriptor.Timestamps.UpdatedAt] = luxon_1.DateTime.now();
364
380
  }
365
- await query.update(this.toSql()).where(this.PrimaryKeyName, this.PrimaryKeyValue);
381
+ result = await query.update(this.toSql()).where(this.PrimaryKeyName, this.PrimaryKeyValue);
366
382
  this.IsDirty = false;
383
+ return result;
367
384
  }
368
385
  /**
369
386
  * Save all changes to db. It creates new entry id db or updates existing one if
@@ -382,19 +399,26 @@ class ModelBase {
382
399
  query.orReplace();
383
400
  break;
384
401
  }
385
- const iMidleware = {
386
- afterQuery: (data) => {
387
- this.PrimaryKeyValue = this.PrimaryKeyValue ?? data.LastInsertId;
388
- return data;
389
- },
390
- modelCreation: () => null,
391
- afterHydration: () => null,
392
- };
393
- query.middleware(iMidleware);
394
- return query.values(this.toSql()).then((res) => {
395
- this.IsDirty = false;
396
- return res;
397
- });
402
+ query.QueryContext === interfaces_js_1.QueryContext.Upsert
403
+ // when upsert, we take affecter row ID from primary key returned ( returning statement)
404
+ ? query.middleware({
405
+ afterQuery: (data) => {
406
+ this.PrimaryKeyValue = this.PrimaryKeyValue ?? data[0][this.PrimaryKeyName];
407
+ },
408
+ modelCreation: () => null,
409
+ afterHydration: () => null,
410
+ })
411
+ : query.middleware({
412
+ afterQuery: (data) => {
413
+ this.PrimaryKeyValue = this.PrimaryKeyValue ?? data.LastInsertId;
414
+ return data;
415
+ },
416
+ modelCreation: () => null,
417
+ afterHydration: () => null,
418
+ });
419
+ const result = query.values(this.toSql());
420
+ this.IsDirty = false;
421
+ return result;
398
422
  }
399
423
  /**
400
424
  *
@@ -403,13 +427,11 @@ class ModelBase {
403
427
  *
404
428
  * @param insertBehaviour - insert mode
405
429
  */
406
- async insertOrUpdate(insertBehaviour = interfaces_js_1.InsertBehaviour.None) {
430
+ async insertOrUpdate() {
407
431
  if (this.PrimaryKeyValue) {
408
- await this.update();
409
- }
410
- else {
411
- await this.insert(insertBehaviour);
432
+ return await this.update();
412
433
  }
434
+ return await this.insert();
413
435
  }
414
436
  /**
415
437
  * Gets model data from database and returns as fresh instance.
@@ -458,16 +480,15 @@ class ModelBase {
458
480
  }
459
481
  for (const [, rel] of this.ModelDescriptor.Relations) {
460
482
  if (rel.Factory) {
461
- this[rel.Name] = rel.Factory(this, rel, this.Container);
483
+ this[rel.Name] = rel.Factory(this, rel, this.Container, []);
462
484
  }
463
485
  else if (rel.RelationClass) {
464
- this[rel.Name] = this.Container.resolve(rel.RelationClass, [this, rel.TargetModel, rel, []]);
465
- }
466
- else if (rel.Type === interfaces_js_1.RelationType.Many) {
467
- this[rel.Name] = new relation_objects_js_1.OneToManyRelationList(this, rel.TargetModel, rel, []);
468
- }
469
- else if (rel.Type === interfaces_js_1.RelationType.ManyToMany) {
470
- this[rel.Name] = new relation_objects_js_1.ManyToManyRelationList(this, rel.TargetModel, rel, []);
486
+ if (lodash_1.default.isFunction(rel.RelationClass)) {
487
+ this[rel.Name] = this.Container.resolve(rel.RelationClass(), [this, rel, []]);
488
+ }
489
+ else {
490
+ this[rel.Name] = this.Container.resolve(rel.RelationClass, [this, rel, []]);
491
+ }
471
492
  }
472
493
  else {
473
494
  this[rel.Name] = new relation_objects_js_1.SingleRelation(this, rel.TargetModel, rel, null);
@@ -538,13 +559,13 @@ function createQuery(model, query, injectModel = true) {
538
559
  if (!dsc) {
539
560
  throw new Error(`model ${model.name} does not have model descriptor. Use @model decorator on class`);
540
561
  }
541
- const orm = di_1.DI.get(orm_js_1.Orm);
542
- const driver = orm.Connections.get(dsc.Connection);
562
+ const driver = di_1.DI.resolve('OrmConnection', [dsc.Connection]);
543
563
  if (!driver) {
544
564
  throw new Error(`model ${model.name} have invalid connection ${dsc.Connection}, please check your db config file or model connection name`);
545
565
  }
546
566
  const cnt = driver.Container;
547
- const qr = cnt.resolve(query, [driver, injectModel ? orm.Models.find((x) => x.name === model.name).type : null]);
567
+ const models = di_1.DI.getRegisteredTypes('__models__');
568
+ const qr = cnt.resolve(query, [driver, injectModel ? models.find((x) => x.name === model.name) : null]);
548
569
  if (qr instanceof builders_js_1.SelectQueryBuilder) {
549
570
  const scope = model._queryScopes;
550
571
  if (scope) {
@@ -615,6 +636,9 @@ exports.MODEL_STATIC_MIXINS = {
615
636
  return query.where(column, operator, value);
616
637
  },
617
638
  update(data) {
639
+ if (data instanceof ModelBase) {
640
+ throw new exceptions_js_1.OrmException(`use model::update() function to update model`);
641
+ }
618
642
  const { query } = createQuery(this, builders_js_1.UpdateQueryBuilder);
619
643
  return query.update(data);
620
644
  },
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
package/lib/cjs/orm.d.ts CHANGED
@@ -17,7 +17,7 @@ export declare class Orm extends AsyncService {
17
17
  *
18
18
  * @param name - migration file name
19
19
  */
20
- migrateUp(name?: string, force?: boolean): Promise<void>;
20
+ migrateUp(name?: string, force?: boolean): Promise<OrmMigration[]>;
21
21
  /**
22
22
  *
23
23
  * Migrates schema up ( fill function is not executed )
@@ -1 +1 @@
1
- {"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../../src/orm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAc,SAAS,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAwC,YAAY,EAA8C,MAAM,iBAAiB,CAAC;AACjI,OAAO,EAAE,SAAS,EAA+C,MAAM,YAAY,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,qBAAa,GAAI,SAAQ,YAAY;IAC5B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAM;IAEzC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAM;IAEhD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAgC;IAGnE,SAAS,EAAE,SAAS,CAAC;IAG5B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvC;;;;;OAKG;IACU,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC3E;;;;;OAKG;IACU,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7E;;;OAGG;IACU,eAAe;IA8Bf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBrC,SAAS,CAAC,yBAAyB;IAKnC,SAAS,CAAC,aAAa;IAoBvB;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAQ5D;;;;;;;;OAQG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAczD,iBAAiB;IAsD/B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;YAeV,wBAAwB;IAqEzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
1
+ {"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../../src/orm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAc,SAAS,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAwC,YAAY,EAA8C,MAAM,iBAAiB,CAAC;AACjI,OAAO,EAAE,SAAS,EAA+C,MAAM,YAAY,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,qBAAa,GAAI,SAAQ,YAAY;IAC5B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAM;IAEzC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAM;IAEhD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAgC;IAGnE,SAAS,EAAE,SAAS,CAAC;IAG5B,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvC;;;;;OAKG;IACU,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAuCrF;;;;;OAKG;IACU,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7E;;;OAGG;IACU,eAAe;IAsDf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCrC,SAAS,CAAC,yBAAyB;IAOnC,SAAS,CAAC,aAAa;IAoBvB;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAQ5D;;;;;;;;OAQG;IACH,SAAS,CAAC,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAczD,iBAAiB;IAkD/B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;YAeV,wBAAwB;IAqEzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
package/lib/cjs/orm.js CHANGED
@@ -45,6 +45,7 @@ class Orm extends di_1.AsyncService {
45
45
  */
46
46
  async migrateUp(name, force = true) {
47
47
  this.Log.info('DB migration UP started ...');
48
+ const executedMigrations = [];
48
49
  await this.executeAvaibleMigrations(name, async (migration, driver) => {
49
50
  const trFunction = async (driver) => {
50
51
  await migration.up(driver);
@@ -55,6 +56,7 @@ class Orm extends di_1.AsyncService {
55
56
  Migration: migration.constructor.name,
56
57
  CreatedAt: new Date(),
57
58
  });
59
+ executedMigrations.push(migration);
58
60
  this.Log.info(`Migration ${migration.constructor.name}:up() success !`);
59
61
  };
60
62
  if (driver.Options.Migration?.Transaction?.Mode === interfaces_js_2.MigrationTransactionMode.PerMigration) {
@@ -65,6 +67,7 @@ class Orm extends di_1.AsyncService {
65
67
  }
66
68
  }, false, force);
67
69
  this.Log.info('DB migration ended ...');
70
+ return executedMigrations;
68
71
  }
69
72
  /**
70
73
  *
@@ -103,6 +106,11 @@ class Orm extends di_1.AsyncService {
103
106
  const descriptor = (0, model_js_1.extractModelDescriptor)(m.type);
104
107
  if (descriptor) {
105
108
  const connection = this.Connections.get(descriptor.Connection);
109
+ if (!connection) {
110
+ this.Log.warn(`Cannot find connection ${descriptor.Connection} in connection list (model ${descriptor.Name})`);
111
+ continue;
112
+ }
113
+ const converters = connection.Container.get('__orm_db_value_converters__');
106
114
  if (connection) {
107
115
  m.type[decorators_js_1.MODEL_DESCTRIPTION_SYMBOL].Driver = connection;
108
116
  const columns = await connection.tableInfo(descriptor.TableName, connection.Options.Database);
@@ -111,12 +119,27 @@ class Orm extends di_1.AsyncService {
111
119
  return lodash_1.default.assign(c, lodash_1.default.find(descriptor.Columns, { Name: c.Name }));
112
120
  }), 'Name');
113
121
  // m.type[MODEL_DESCTRIPTION_SYMBOL].Schema = buildJsonSchema(columns);
114
- }
115
- for (const [key, val] of descriptor.Converters) {
116
- const column = m.type[decorators_js_1.MODEL_DESCTRIPTION_SYMBOL].Columns.find((c) => c.Name === key);
117
- if (column) {
118
- column.Converter = connection.Container.hasRegistered(val.Class) ? connection.Container.resolve(val.Class) : null;
122
+ /**
123
+ * Add coverters to columns set by decorators
124
+ * eg. @CreatedAt decorator etc.
125
+ */
126
+ for (const [key, val] of descriptor.Converters) {
127
+ const column = m.type[decorators_js_1.MODEL_DESCTRIPTION_SYMBOL].Columns.find((c) => c.Name === key);
128
+ if (column) {
129
+ column.Converter = connection.Container.hasRegistered(val.Class) ? connection.Container.resolve(val.Class) : null;
130
+ }
119
131
  }
132
+ /**
133
+ * Add any other converted that is not set by decorators, but is set in container
134
+ * for given column type eg. default boolean converter
135
+ */
136
+ columns.forEach((c) => {
137
+ if (!c.Converter) {
138
+ if (converters && converters.has(c.NativeType.toLocaleLowerCase())) {
139
+ c.Converter = connection.Container.resolve(converters.get(c.NativeType.toLocaleLowerCase()));
140
+ }
141
+ }
142
+ });
120
143
  }
121
144
  }
122
145
  }
@@ -137,15 +160,21 @@ class Orm extends di_1.AsyncService {
137
160
  this.registerModel(m);
138
161
  });
139
162
  }
140
- await this.migrateUp(undefined, false);
163
+ const executedMigrations = await this.migrateUp(undefined, false);
164
+ this.registerDefaultConverters();
141
165
  await this.reloadTableInfo();
142
166
  this.wireRelations();
143
167
  this.applyModelMixins();
144
- this.registerDefaultConverters();
168
+ for (const m of executedMigrations) {
169
+ this.Log.trace(`Migrating data function for migration ${m.constructor.name} ...`);
170
+ await m.data();
171
+ }
145
172
  }
146
173
  registerDefaultConverters() {
147
174
  this.Container.register(interfaces_js_1.DatetimeValueConverter).asMapValue('__orm_db_value_converters__', Date.name);
148
175
  this.Container.register(interfaces_js_1.DatetimeValueConverter).asMapValue('__orm_db_value_converters__', luxon_1.DateTime.name);
176
+ this.Container.register(interfaces_js_1.BooleanValueConverter).asMapValue('__orm_db_value_converters__', Boolean.name.toLowerCase());
177
+ this.Container.register(interfaces_js_1.BooleanValueConverter).asMapValue('__orm_db_value_converters__', 'bool');
149
178
  }
150
179
  wireRelations() {
151
180
  this.Models.forEach((x) => {
@@ -230,14 +259,14 @@ class Orm extends di_1.AsyncService {
230
259
  }
231
260
  this.Connections.set(a, this.Connections.get(conn));
232
261
  }
233
- // register in continaer factory func for retrieving db connections
262
+ // register in container factory func for retrieving db connections
234
263
  // it will allow for easy access to it in modules
235
264
  di_1.DI.register((_container, connectionName) => {
236
265
  if (this.Connections.has(connectionName)) {
237
266
  return this.Connections.get(connectionName);
238
267
  }
239
268
  return null;
240
- }).as("OrmConnection");
269
+ }).as('OrmConnection');
241
270
  }
242
271
  applyModelMixins() {
243
272
  this.Models.forEach((m) => {
@@ -1 +1 @@
1
- {"version":3,"file":"orm.js","sourceRoot":"","sources":["../../src/orm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orm.js","sourceRoot":"","sources":["../../src/orm.ts"],"names":[],"mappings":"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"}
@@ -29,15 +29,14 @@ export declare class Dataset {
29
29
  * It allows to add / remove objects to relation
30
30
  */
31
31
  export declare abstract class Relation<R extends ModelBase<R>, O extends ModelBase<O>> extends Array<R> implements IRelation<R, O> {
32
- protected owner: O;
33
- protected Model: Constructor<R> | ForwardRefFunction;
32
+ protected Owner: O;
34
33
  protected Relation: IRelationDescriptor;
35
34
  TargetModelDescriptor: IModelDescriptor;
36
- protected Orm: Orm;
37
35
  Populated: boolean;
38
36
  protected Driver: OrmDriver;
39
37
  protected IsModelAForwardRef: boolean;
40
- constructor(owner: O, Model: Constructor<R> | ForwardRefFunction, Relation: IRelationDescriptor, objects?: R[]);
38
+ protected Model: Constructor<R> | ForwardRefFunction;
39
+ constructor(Owner: O, Relation: IRelationDescriptor, objects?: R[]);
41
40
  /**
42
41
  * Removes all objects from relation by comparison functions
43
42
  *
@@ -72,6 +71,12 @@ export declare abstract class Relation<R extends ModelBase<R>, O extends ModelBa
72
71
  * @param mode - insert mode
73
72
  */
74
73
  abstract sync(): Promise<void>;
74
+ /**
75
+ * Updates or ads data to relation
76
+ * It will not delete data from db that are not in relation. It will only update or insert new data.
77
+ * Only dirty models are updated.
78
+ */
79
+ abstract update(): Promise<void>;
75
80
  /**
76
81
  *
77
82
  * Calculates intersection between data in this relation and provided dataset
@@ -130,6 +135,7 @@ export declare class ManyToManyRelationList<T extends ModelBase, O extends Model
130
135
  set(_obj: T[], _callback?: (a: T, b: T) => boolean): void;
131
136
  remove(_obj: T | T[] | ((a: T) => boolean)): T[];
132
137
  sync(): Promise<void>;
138
+ update(): Promise<void>;
133
139
  populate(): Promise<void>;
134
140
  }
135
141
  export declare class OneToManyRelationList<T extends ModelBase, O extends ModelBase> extends Relation<T, O> {
@@ -152,6 +158,12 @@ export declare class OneToManyRelationList<T extends ModelBase, O extends ModelB
152
158
  * Inserts or updates models that are dirty only.
153
159
  */
154
160
  sync(): Promise<void>;
161
+ /**
162
+ * Updates or ads data to relation
163
+ * It will not delete data from db that are not in relation. It will only update or insert new data.
164
+ * Only dirty models are updated.
165
+ */
166
+ update(): Promise<void>;
155
167
  /**
156
168
  * Calculates difference between this relation and dataset ( items from this relation that are not in dataset and items from dataset that are not in this relation)
157
169
  *
@@ -165,7 +177,7 @@ export declare class OneToManyRelationList<T extends ModelBase, O extends ModelB
165
177
  *
166
178
  * @param obj
167
179
  */
168
- set(obj: T[] | ((data: T[], pKey: string) => T[])): void;
180
+ set(obj: T[] | ((data: T[], pKeyName: string) => T[])): void;
169
181
  /**
170
182
  * Calculates intersection between data in this relation and provided dataset
171
183
  *
@@ -180,17 +192,31 @@ export declare class OneToManyRelationList<T extends ModelBase, O extends ModelB
180
192
  * @param obj
181
193
  */
182
194
  union(obj: T[]): void;
195
+ /**
196
+ * Returns the elements of an array that meet the condition specified in a callback function.
197
+ * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.
198
+ */
199
+ filter(predicate: (value: T, index?: number, array?: T[]) => boolean): T[];
183
200
  /**
184
201
  * Removes from relation & deletes from db
185
202
  *
186
203
  * @param obj - data to remove
187
204
  */
188
205
  remove(func: (a: T) => boolean): T[];
206
+ /**
207
+ * Removes all objects that met condition
208
+ * @param obj - predicate
209
+ */
210
+ remove(obj: (a: T) => boolean): T[];
189
211
  /**
190
212
  * Removes all objects by primary key
191
- *
192
- * @param obj - data to remove
213
+ * @param obj data array to remove
193
214
  */
194
- remove(obj: T | T[]): T[];
215
+ remove(obj: T[]): T[];
216
+ /**
217
+ * Removes object by primary key
218
+ * @param obj data to remove
219
+ * */
220
+ remove(obj: T): T[];
195
221
  }
196
222
  //# sourceMappingURL=relation-objects.d.ts.map