@spinajs/orm 1.0.60 → 1.2.32

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 (91) hide show
  1. package/README.md +11 -2
  2. package/lib/builders.d.ts +30 -23
  3. package/lib/builders.js +74 -195
  4. package/lib/builders.js.map +1 -1
  5. package/lib/decorators.d.ts +18 -19
  6. package/lib/decorators.js +30 -30
  7. package/lib/decorators.js.map +1 -1
  8. package/lib/driver.d.ts +10 -9
  9. package/lib/driver.js +10 -20
  10. package/lib/driver.js.map +1 -1
  11. package/lib/exceptions.d.ts +6 -0
  12. package/lib/exceptions.js +11 -0
  13. package/lib/exceptions.js.map +1 -0
  14. package/lib/helpers.js +2 -2
  15. package/lib/helpers.js.map +1 -1
  16. package/lib/hydrators.d.ts +4 -4
  17. package/lib/hydrators.js +6 -6
  18. package/lib/hydrators.js.map +1 -1
  19. package/lib/index.d.ts +0 -1
  20. package/lib/index.js +1 -2
  21. package/lib/index.js.map +1 -1
  22. package/lib/interfaces.d.ts +19 -27
  23. package/lib/interfaces.js +14 -14
  24. package/lib/interfaces.js.map +1 -1
  25. package/lib/log-common/src/index.d.ts +180 -0
  26. package/lib/log-common/src/index.js +49 -0
  27. package/lib/log-common/src/index.js.map +1 -0
  28. package/lib/model.d.ts +55 -53
  29. package/lib/model.js +132 -149
  30. package/lib/model.js.map +1 -1
  31. package/lib/orm/src/builders.d.ts +429 -0
  32. package/lib/orm/src/builders.js +1082 -0
  33. package/lib/orm/src/builders.js.map +1 -0
  34. package/lib/orm/src/cli.d.ts +1 -0
  35. package/lib/orm/src/cli.js +2 -0
  36. package/lib/orm/src/cli.js.map +1 -0
  37. package/lib/orm/src/converters.d.ts +9 -0
  38. package/lib/orm/src/converters.js +22 -0
  39. package/lib/orm/src/converters.js.map +1 -0
  40. package/lib/orm/src/decorators.d.ts +122 -0
  41. package/lib/orm/src/decorators.js +380 -0
  42. package/lib/orm/src/decorators.js.map +1 -0
  43. package/lib/orm/src/driver.d.ts +77 -0
  44. package/lib/orm/src/driver.js +84 -0
  45. package/lib/orm/src/driver.js.map +1 -0
  46. package/lib/orm/src/enums.d.ts +111 -0
  47. package/lib/orm/src/enums.js +122 -0
  48. package/lib/orm/src/enums.js.map +1 -0
  49. package/lib/orm/src/exceptions.d.ts +6 -0
  50. package/lib/orm/src/exceptions.js +11 -0
  51. package/lib/orm/src/exceptions.js.map +1 -0
  52. package/lib/orm/src/hydrators.d.ts +16 -0
  53. package/lib/orm/src/hydrators.js +70 -0
  54. package/lib/orm/src/hydrators.js.map +1 -0
  55. package/lib/orm/src/index.d.ts +12 -0
  56. package/lib/orm/src/index.js +25 -0
  57. package/lib/orm/src/index.js.map +1 -0
  58. package/lib/orm/src/interfaces.d.ts +615 -0
  59. package/lib/orm/src/interfaces.js +186 -0
  60. package/lib/orm/src/interfaces.js.map +1 -0
  61. package/lib/orm/src/model.d.ts +135 -0
  62. package/lib/orm/src/model.js +449 -0
  63. package/lib/orm/src/model.js.map +1 -0
  64. package/lib/orm/src/orm.d.ts +59 -0
  65. package/lib/orm/src/orm.js +278 -0
  66. package/lib/orm/src/orm.js.map +1 -0
  67. package/lib/orm/src/relations.d.ts +96 -0
  68. package/lib/orm/src/relations.js +503 -0
  69. package/lib/orm/src/relations.js.map +1 -0
  70. package/lib/orm/src/statements.d.ts +132 -0
  71. package/lib/orm/src/statements.js +257 -0
  72. package/lib/orm/src/statements.js.map +1 -0
  73. package/lib/orm/src/types.d.ts +2 -0
  74. package/lib/orm/src/types.js +3 -0
  75. package/lib/orm/src/types.js.map +1 -0
  76. package/lib/orm/src/wrappers.d.ts +5 -0
  77. package/lib/orm/src/wrappers.js +13 -0
  78. package/lib/orm/src/wrappers.js.map +1 -0
  79. package/lib/orm.d.ts +9 -9
  80. package/lib/orm.js +69 -47
  81. package/lib/orm.js.map +1 -1
  82. package/lib/relations.d.ts +14 -13
  83. package/lib/relations.js +60 -81
  84. package/lib/relations.js.map +1 -1
  85. package/lib/statements.d.ts +1 -1
  86. package/lib/statements.js +19 -21
  87. package/lib/statements.js.map +1 -1
  88. package/lib/wrappers.d.ts +1 -1
  89. package/lib/wrappers.js.map +1 -1
  90. package/package.json +37 -61
  91. package/LICENSE +0 -674
@@ -1,4 +1,5 @@
1
1
  import { IRelationDescriptor, IModelDescrtiptor, IBuilderMiddleware, InsertBehaviour, ForwardRefFunction } from './interfaces';
2
+ import { Constructor } from '@spinajs/di';
2
3
  import { SelectQueryBuilder } from './builders';
3
4
  import { ModelBase } from './model';
4
5
  import { Orm } from './orm';
@@ -10,7 +11,7 @@ export declare abstract class OrmRelation implements IOrmRelation {
10
11
  protected _query: SelectQueryBuilder<any>;
11
12
  _description: IRelationDescriptor;
12
13
  parentRelation?: OrmRelation;
13
- protected _targetModel: Constructor<ModelBase<any>> | ForwardRefFunction;
14
+ protected _targetModel: Constructor<ModelBase> | ForwardRefFunction;
14
15
  protected _targetModelDescriptor: IModelDescrtiptor;
15
16
  protected _relationQuery: SelectQueryBuilder;
16
17
  get Alias(): string;
@@ -21,18 +22,18 @@ export declare class DiscriminationMapMiddleware implements IBuilderMiddleware {
21
22
  protected _description: IModelDescrtiptor;
22
23
  constructor(_description: IModelDescrtiptor);
23
24
  afterData(data: any[]): any[];
24
- modelCreation(data: any): ModelBase<any>;
25
- afterHydration(_data: Array<ModelBase<any>>): Promise<void>;
25
+ modelCreation(data: any): ModelBase;
26
+ afterHydration(_data: ModelBase[]): Promise<void>;
26
27
  }
27
28
  export declare class BelongsToRelation extends OrmRelation {
28
- protected _targetModel: Constructor<ModelBase<any>>;
29
+ protected _targetModel: Constructor<ModelBase>;
29
30
  protected _targetModelDescriptor: IModelDescrtiptor;
30
31
  protected _relationQuery: SelectQueryBuilder;
31
32
  constructor(_orm: Orm, _query: SelectQueryBuilder<any>, _description: IRelationDescriptor, _parentRelation?: OrmRelation);
32
33
  execute(callback: (this: SelectQueryBuilder, relation: OrmRelation) => void): void;
33
34
  }
34
35
  export declare class BelongsToRecursiveRelation extends OrmRelation {
35
- protected _targetModel: Constructor<ModelBase<any>>;
36
+ protected _targetModel: Constructor<ModelBase>;
36
37
  protected _targetModelDescriptor: IModelDescrtiptor;
37
38
  protected _relationQuery: SelectQueryBuilder;
38
39
  constructor(_orm: Orm, _query: SelectQueryBuilder<any>, _description: IRelationDescriptor, _parentRelation?: OrmRelation);
@@ -43,7 +44,7 @@ export declare class OneToManyRelation extends OrmRelation {
43
44
  execute(callback?: (this: SelectQueryBuilder<any>, relation: OrmRelation) => void): void;
44
45
  }
45
46
  export declare class ManyToManyRelation extends OrmRelation {
46
- protected _joinModel: Constructor<ModelBase<any>>;
47
+ protected _joinModel: Constructor<ModelBase>;
47
48
  protected _joinModelDescriptor: IModelDescrtiptor;
48
49
  protected _joinQuery: SelectQueryBuilder;
49
50
  get TableJoinQuery(): SelectQueryBuilder<any>;
@@ -56,24 +57,24 @@ export declare class ManyToManyRelation extends OrmRelation {
56
57
  *
57
58
  * It allows to add / remove objects to relation
58
59
  */
59
- export declare abstract class Relation<R extends ModelBase<any>> extends Array<R> {
60
- protected owner: ModelBase<any>;
60
+ export declare abstract class Relation<R extends ModelBase> extends Array<R> {
61
+ protected owner: ModelBase;
61
62
  protected model: Constructor<R> | ForwardRefFunction;
62
63
  protected Relation: IRelationDescriptor;
63
64
  protected TargetModelDescriptor: IModelDescrtiptor;
64
65
  protected Orm: Orm;
65
- constructor(owner: ModelBase<any>, model: Constructor<R> | ForwardRefFunction, Relation: IRelationDescriptor, objects?: R[]);
66
+ constructor(owner: ModelBase, model: Constructor<R> | ForwardRefFunction, Relation: IRelationDescriptor, objects?: R[]);
66
67
  /**
67
68
  * Removes from relation & deletes from db
68
69
  *
69
- * @param obj data to remove
70
+ * @param obj - data to remove
70
71
  */
71
72
  abstract remove(obj: R | R[]): Promise<void>;
72
73
  /**
73
74
  *
74
75
  * Add to relation & saves to db
75
76
  *
76
- * @param obj data to add
77
+ * @param obj - data to add
77
78
  */
78
79
  abstract add(obj: R | R[], mode?: InsertBehaviour): Promise<void>;
79
80
  /**
@@ -85,11 +86,11 @@ export declare abstract class Relation<R extends ModelBase<any>> extends Array<R
85
86
  */
86
87
  populate(callback?: (this: SelectQueryBuilder<this>, relation: OrmRelation) => void): Promise<void>;
87
88
  }
88
- export declare class ManyToManyRelationList<T extends ModelBase<any>> extends Relation<T> {
89
+ export declare class ManyToManyRelationList<T extends ModelBase> extends Relation<T> {
89
90
  remove(obj: T | T[]): Promise<void>;
90
91
  add(obj: T | T[], mode?: InsertBehaviour): Promise<void>;
91
92
  }
92
- export declare class OneToManyRelationList<T extends ModelBase<any>> extends Relation<T> {
93
+ export declare class OneToManyRelationList<T extends ModelBase> extends Relation<T> {
93
94
  remove(obj: T | T[]): Promise<void>;
94
95
  add(obj: T | T[], mode?: InsertBehaviour): Promise<void>;
95
96
  }
package/lib/relations.js CHANGED
@@ -8,19 +8,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  var OneToManyRelation_1;
15
12
  Object.defineProperty(exports, "__esModule", { value: true });
16
13
  exports.OneToManyRelationList = exports.ManyToManyRelationList = exports.Relation = exports.ManyToManyRelation = exports.OneToManyRelation = exports.BelongsToRecursiveRelation = exports.BelongsToRelation = exports.DiscriminationMapMiddleware = exports.OrmRelation = void 0;
14
+ /* eslint-disable prettier/prettier */
17
15
  const exceptions_1 = require("@spinajs/exceptions");
18
16
  const interfaces_1 = require("./interfaces");
19
17
  const di_1 = require("@spinajs/di");
20
18
  const builders_1 = require("./builders");
21
19
  const model_1 = require("./model");
22
20
  const orm_1 = require("./orm");
23
- const lodash_1 = __importDefault(require("lodash"));
21
+ const _ = require("lodash");
24
22
  class OrmRelation {
25
23
  constructor(_orm, _query, _description, parentRelation) {
26
24
  var _a;
@@ -29,7 +27,7 @@ class OrmRelation {
29
27
  this._description = _description;
30
28
  this.parentRelation = parentRelation;
31
29
  this._targetModel = (_a = this._description.TargetModel) !== null && _a !== void 0 ? _a : undefined;
32
- this._targetModelDescriptor = model_1.extractModelDescriptor(this._targetModel);
30
+ this._targetModelDescriptor = (0, model_1.extractModelDescriptor)(this._targetModel);
33
31
  const driver = this._orm.Connections.get(this._targetModelDescriptor.Connection);
34
32
  const cnt = driver.Container;
35
33
  this._relationQuery = cnt.resolve(builders_1.SelectQueryBuilder, [driver, this._targetModel, this]);
@@ -38,9 +36,7 @@ class OrmRelation {
38
36
  }
39
37
  }
40
38
  get Alias() {
41
- return this.parentRelation
42
- ? `${this.parentRelation.Alias}.$${this._description.Name}$`
43
- : `$${this._description.Name}$`;
39
+ return this.parentRelation ? `${this.parentRelation.Alias}.$${this._description.Name}$` : `$${this._description.Name}$`;
44
40
  }
45
41
  }
46
42
  exports.OrmRelation = OrmRelation;
@@ -58,9 +54,9 @@ class HasManyRelationMiddleware {
58
54
  }
59
55
  async afterHydration(data) {
60
56
  const self = this;
61
- const pks = data.map(d => {
57
+ const pks = data.map((d) => {
62
58
  if (this._path) {
63
- return lodash_1.default.get(d, this._path)[this._description.PrimaryKey];
59
+ return _.get(d, this._path)[this._description.PrimaryKey];
64
60
  }
65
61
  else {
66
62
  return d[this._description.PrimaryKey];
@@ -70,21 +66,21 @@ class HasManyRelationMiddleware {
70
66
  afterData(data) {
71
67
  return data;
72
68
  },
73
- modelCreation(_) {
69
+ modelCreation() {
74
70
  return null;
75
71
  },
76
72
  async afterHydration(relationData) {
77
- data.forEach(d => {
78
- const relData = relationData.filter(rd => {
73
+ data.forEach((d) => {
74
+ const relData = relationData.filter((rd) => {
79
75
  if (self._path) {
80
- return lodash_1.default.get(d, self._path)[self._description.PrimaryKey] === rd[self._description.ForeignKey];
76
+ return _.get(d, self._path)[self._description.PrimaryKey] === rd[self._description.ForeignKey];
81
77
  }
82
78
  else {
83
79
  return rd[self._description.ForeignKey] === d[self._description.PrimaryKey];
84
80
  }
85
81
  });
86
82
  if (self._path) {
87
- lodash_1.default.get(d, self._path)[self._description.Name] = new OneToManyRelationList(d, self._description.TargetModel, self._description, relData);
83
+ _.get(d, self._path)[self._description.Name] = new OneToManyRelationList(d, self._description.TargetModel, self._description, relData);
88
84
  }
89
85
  else {
90
86
  d[self._description.Name] = new OneToManyRelationList(d, self._description.TargetModel, self._description, relData);
@@ -114,7 +110,7 @@ class BelongsToRelationRecursiveMiddleware {
114
110
  }
115
111
  async afterHydration(data) {
116
112
  const self = this;
117
- const pks = data.map(d => d[this._description.PrimaryKey]);
113
+ const pks = data.map((d) => d[this._description.PrimaryKey]);
118
114
  const hydrateMiddleware = {
119
115
  afterData(data) {
120
116
  return data;
@@ -123,11 +119,11 @@ class BelongsToRelationRecursiveMiddleware {
123
119
  return null;
124
120
  },
125
121
  async afterHydration(relationData) {
126
- const roots = relationData.filter(rd => rd[self._description.ForeignKey] === 0 || rd[self._description.ForeignKey] === null);
127
- const leafs = roots.map(r => {
122
+ const roots = relationData.filter((rd) => rd[self._description.ForeignKey] === 0 || rd[self._description.ForeignKey] === null);
123
+ const leafs = roots.map((r) => {
128
124
  return fillRecursive(r);
129
125
  function fillRecursive(parent) {
130
- const child = relationData.find(rd => rd[self._description.ForeignKey] === parent[self._description.PrimaryKey]);
126
+ const child = relationData.find((rd) => rd[self._description.ForeignKey] === parent[self._description.PrimaryKey]);
131
127
  if (!child) {
132
128
  return parent;
133
129
  }
@@ -135,8 +131,8 @@ class BelongsToRelationRecursiveMiddleware {
135
131
  return fillRecursive(child);
136
132
  }
137
133
  });
138
- data.forEach(d => {
139
- d[self._description.Name] = leafs.find(l => l[self._description.PrimaryKey] === d[self._description.PrimaryKey])[self._description.Name];
134
+ data.forEach((d) => {
135
+ d[self._description.Name] = leafs.find((l) => l[self._description.PrimaryKey] === d[self._description.PrimaryKey])[self._description.Name];
140
136
  });
141
137
  },
142
138
  };
@@ -160,20 +156,20 @@ class HasManyToManyRelationMiddleware {
160
156
  }
161
157
  async afterHydration(data) {
162
158
  const self = this;
163
- const pks = data.map(d => d[this._description.PrimaryKey]);
159
+ const pks = data.map((d) => d[this._description.PrimaryKey]);
164
160
  const hydrateMiddleware = {
165
161
  afterData(data) {
166
- return data.map(d => Object.assign({}, d[self._description.Name], { JunctionModel: self.pickProps(d, [self._description.Name]) }));
162
+ return data.map((d) => Object.assign({}, d[self._description.Name], { JunctionModel: self.pickProps(d, [self._description.Name]) }));
167
163
  },
168
164
  modelCreation(_) {
169
165
  return null;
170
166
  },
171
167
  async afterHydration(relationData) {
172
- data.forEach(d => {
173
- const relData = relationData.filter(rd => rd.JunctionModel[self._description.ForeignKey] === d[self._description.PrimaryKey]);
168
+ data.forEach((d) => {
169
+ const relData = relationData.filter((rd) => rd.JunctionModel[self._description.ForeignKey] === d[self._description.PrimaryKey]);
174
170
  d[self._description.Name] = new OneToManyRelationList(d, self._description.TargetModel, self._description, relData);
175
171
  });
176
- relationData.forEach(d => delete d.JunctionModel);
172
+ relationData.forEach((d) => delete d.JunctionModel);
177
173
  },
178
174
  };
179
175
  if (pks.length !== 0) {
@@ -197,7 +193,7 @@ class HasManyToManyRelationMiddleware {
197
193
  }
198
194
  class BelongsToRelationResultTransformMiddleware {
199
195
  afterData(data) {
200
- return data.map(d => {
196
+ return data.map((d) => {
201
197
  const transformedData = Object.assign(d);
202
198
  for (const key in transformedData) {
203
199
  if (key.startsWith('$')) {
@@ -216,11 +212,11 @@ class BelongsToRelationResultTransformMiddleware {
216
212
  /**
217
213
  * Dynamically sets a deeply nested value in an object.
218
214
  * Optionally "bores" a path to it if its undefined.
219
- * @function
220
- * @param {!object} obj - The object which contains the value you want to change/set.
221
- * @param {!array} path - The array representation of path to the value you want to change/set.
222
- * @param {!mixed} value - The value you want to set it to.
223
- * @param {boolean} setrecursively - If true, will set value of non-existing path as well.
215
+ *
216
+ * @param obj - The object which contains the value you want to change/set.
217
+ * @param path - The array representation of path to the value you want to change/set.
218
+ * @param value - The value you want to set it to.
219
+ * @param setrecursively - If true, will set value of non-existing path as well.
224
220
  */
225
221
  setDeep(obj, path, value, setrecursively = true) {
226
222
  path.reduce((a, b, level) => {
@@ -241,9 +237,7 @@ class BelongsToRelationResultTransformMiddleware {
241
237
  }
242
238
  class BelongsToRelationResultTransformOneToManyMiddleware extends BelongsToRelationResultTransformMiddleware {
243
239
  keyTransform(key) {
244
- const path = key.replace(/\$+/g, '').split('.');
245
- path.shift();
246
- return path;
240
+ return key.replace(/\$+/g, '').split('.');
247
241
  }
248
242
  }
249
243
  class DiscriminationMapMiddleware {
@@ -272,7 +266,7 @@ let BelongsToRelation = class BelongsToRelation extends OrmRelation {
272
266
  constructor(_orm, _query, _description, _parentRelation) {
273
267
  super(_orm, _query, _description, _parentRelation);
274
268
  this._relationQuery.from(this._targetModelDescriptor.TableName, this.Alias);
275
- this._targetModelDescriptor.Columns.forEach(c => {
269
+ this._targetModelDescriptor.Columns.forEach((c) => {
276
270
  this._relationQuery.select(c.Name, `${this.Alias}.${c.Name}`);
277
271
  });
278
272
  }
@@ -286,7 +280,7 @@ let BelongsToRelation = class BelongsToRelation extends OrmRelation {
286
280
  }
287
281
  this._query.mergeStatements(this._relationQuery);
288
282
  if (!this.parentRelation) {
289
- // if we are on top of the belongsTo relation stack
283
+ // if we are on top of the belongsTo relation stack
290
284
  // add transform middleware
291
285
  // we do this becouse belongsTo modifies query (not creating new like oneToMany and manyToMany)
292
286
  // and we only need to run transform once
@@ -301,18 +295,15 @@ let BelongsToRelation = class BelongsToRelation extends OrmRelation {
301
295
  }
302
296
  };
303
297
  BelongsToRelation = __decorate([
304
- di_1.NewInstance(),
305
- __metadata("design:paramtypes", [orm_1.Orm,
306
- builders_1.SelectQueryBuilder, Object, OrmRelation])
298
+ (0, di_1.NewInstance)(),
299
+ __metadata("design:paramtypes", [orm_1.Orm, builders_1.SelectQueryBuilder, Object, OrmRelation])
307
300
  ], BelongsToRelation);
308
301
  exports.BelongsToRelation = BelongsToRelation;
309
302
  let BelongsToRecursiveRelation = class BelongsToRecursiveRelation extends OrmRelation {
310
303
  constructor(_orm, _query, _description, _parentRelation) {
311
304
  super(_orm, _query, _description, _parentRelation);
312
- this._relationQuery
313
- .withRecursive(this._description.ForeignKey, this._description.PrimaryKey)
314
- .from(this._targetModelDescriptor.TableName, this.Alias);
315
- this._targetModelDescriptor.Columns.forEach(c => {
305
+ this._relationQuery.withRecursive(this._description.ForeignKey, this._description.PrimaryKey).from(this._targetModelDescriptor.TableName, this.Alias);
306
+ this._targetModelDescriptor.Columns.forEach((c) => {
316
307
  this._relationQuery.select(c.Name, `${this.Alias}.${c.Name}`);
317
308
  });
318
309
  }
@@ -324,16 +315,15 @@ let BelongsToRecursiveRelation = class BelongsToRecursiveRelation extends OrmRel
324
315
  }
325
316
  };
326
317
  BelongsToRecursiveRelation = __decorate([
327
- di_1.NewInstance(),
328
- __metadata("design:paramtypes", [orm_1.Orm,
329
- builders_1.SelectQueryBuilder, Object, OrmRelation])
318
+ (0, di_1.NewInstance)(),
319
+ __metadata("design:paramtypes", [orm_1.Orm, builders_1.SelectQueryBuilder, Object, OrmRelation])
330
320
  ], BelongsToRecursiveRelation);
331
321
  exports.BelongsToRecursiveRelation = BelongsToRecursiveRelation;
332
322
  let OneToManyRelation = OneToManyRelation_1 = class OneToManyRelation extends OrmRelation {
333
323
  constructor(_orm, _query, _description, _parentRelation) {
334
324
  super(_orm, _query, _description, _parentRelation);
335
325
  this._relationQuery.from(this._targetModelDescriptor.TableName, this.Alias);
336
- this._relationQuery.columns(this._targetModelDescriptor.Columns.map(c => {
326
+ this._relationQuery.columns(this._targetModelDescriptor.Columns.map((c) => {
337
327
  return c.Name;
338
328
  }));
339
329
  }
@@ -351,24 +341,23 @@ let OneToManyRelation = OneToManyRelation_1 = class OneToManyRelation extends Or
351
341
  callback.call(this._relationQuery, [this]);
352
342
  }
353
343
  this._query.middleware(new DiscriminationMapMiddleware(this._targetModelDescriptor));
354
- this._query.middleware(new HasManyRelationMiddleware(this._relationQuery, this._description, path.join(".")));
344
+ this._query.middleware(new HasManyRelationMiddleware(this._relationQuery, this._description, path.join('.')));
355
345
  }
356
346
  };
357
347
  OneToManyRelation = OneToManyRelation_1 = __decorate([
358
- di_1.NewInstance(),
359
- __metadata("design:paramtypes", [orm_1.Orm,
360
- builders_1.SelectQueryBuilder, Object, OrmRelation])
348
+ (0, di_1.NewInstance)(),
349
+ __metadata("design:paramtypes", [orm_1.Orm, builders_1.SelectQueryBuilder, Object, OrmRelation])
361
350
  ], OneToManyRelation);
362
351
  exports.OneToManyRelation = OneToManyRelation;
363
352
  let ManyToManyRelation = class ManyToManyRelation extends OrmRelation {
364
353
  constructor(_orm, _query, _description, _parentRelation) {
365
354
  var _a, _b;
366
355
  super(_orm, _query, _description, _parentRelation);
367
- this._joinModel = (_b = (_a = this._orm.Models.find(m => { var _a; return m.name === ((_a = this._description.JunctionModel) === null || _a === void 0 ? void 0 : _a.name); })) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : undefined;
356
+ this._joinModel = (_b = (_a = this._orm.Models.find((m) => { var _a; return m.name === ((_a = this._description.JunctionModel) === null || _a === void 0 ? void 0 : _a.name); })) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : undefined;
368
357
  if (this._joinModel === undefined) {
369
358
  throw new exceptions_1.InvalidOperation(`model ${this._description.JunctionModel} not exists in orm module`);
370
359
  }
371
- this._joinModelDescriptor = model_1.extractModelDescriptor(this._joinModel);
360
+ this._joinModelDescriptor = (0, model_1.extractModelDescriptor)(this._joinModel);
372
361
  const orm = di_1.DI.get(orm_1.Orm);
373
362
  const driver = orm.Connections.get(this._targetModelDescriptor.Connection);
374
363
  const cnt = driver.Container;
@@ -377,11 +366,11 @@ let ManyToManyRelation = class ManyToManyRelation extends OrmRelation {
377
366
  this._joinQuery.schema(driver.Options.Database);
378
367
  }
379
368
  this._joinQuery.from(this._joinModelDescriptor.TableName, `$${this._joinModelDescriptor.TableName}$`);
380
- this._joinQuery.columns(this._joinModelDescriptor.Columns.map(c => {
369
+ this._joinQuery.columns(this._joinModelDescriptor.Columns.map((c) => {
381
370
  return c.Name;
382
371
  }));
383
372
  this._relationQuery.from(this._targetModelDescriptor.TableName, this.Alias);
384
- this._targetModelDescriptor.Columns.forEach(c => {
373
+ this._targetModelDescriptor.Columns.forEach((c) => {
385
374
  this._relationQuery.select(c.Name, `${this.Alias}.${c.Name}`);
386
375
  });
387
376
  }
@@ -410,9 +399,8 @@ let ManyToManyRelation = class ManyToManyRelation extends OrmRelation {
410
399
  }
411
400
  };
412
401
  ManyToManyRelation = __decorate([
413
- di_1.NewInstance(),
414
- __metadata("design:paramtypes", [orm_1.Orm,
415
- builders_1.SelectQueryBuilder, Object, OrmRelation])
402
+ (0, di_1.NewInstance)(),
403
+ __metadata("design:paramtypes", [orm_1.Orm, builders_1.SelectQueryBuilder, Object, OrmRelation])
416
404
  ], ManyToManyRelation);
417
405
  exports.ManyToManyRelation = ManyToManyRelation;
418
406
  /**
@@ -429,7 +417,7 @@ class Relation extends Array {
429
417
  if (objects) {
430
418
  this.push(...objects);
431
419
  }
432
- this.TargetModelDescriptor = model_1.extractModelDescriptor(model);
420
+ this.TargetModelDescriptor = (0, model_1.extractModelDescriptor)(model);
433
421
  this.Orm = di_1.DI.get(orm_1.Orm);
434
422
  }
435
423
  /**
@@ -448,10 +436,7 @@ class Relation extends Array {
448
436
  *
449
437
  * TODO: create only relation query without loading its owner.
450
438
  */
451
- const result = await this.owner.constructor
452
- .where(this.owner.PrimaryKeyName, this.owner.PrimaryKeyValue)
453
- .populate(this.Relation.Name, callback)
454
- .firstOrFail();
439
+ const result = await this.owner.constructor.where(this.owner.PrimaryKeyName, this.owner.PrimaryKeyValue).populate(this.Relation.Name, callback).firstOrFail();
455
440
  if (result) {
456
441
  this.splice(0, this.length);
457
442
  this.push(...result[this.Relation.Name]);
@@ -462,34 +447,31 @@ exports.Relation = Relation;
462
447
  class ManyToManyRelationList extends Relation {
463
448
  async remove(obj) {
464
449
  const self = this;
465
- const data = (Array.isArray(obj) ? obj : [obj]).map(d => d.PrimaryKeyValue);
450
+ const data = (Array.isArray(obj) ? obj : [obj]).map((d) => d.PrimaryKeyValue);
466
451
  const driver = this.Orm.Connections.get(this.TargetModelDescriptor.Connection);
467
- const jmodelDescriptor = model_1.extractModelDescriptor(this.Relation.JunctionModel);
452
+ const jmodelDescriptor = (0, model_1.extractModelDescriptor)(this.Relation.JunctionModel);
468
453
  if (!driver) {
469
454
  throw new exceptions_1.InvalidArgument(`connection ${this.TargetModelDescriptor.Connection} not exists`);
470
455
  }
471
- const query = driver.Container.resolve(builders_1.DeleteQueryBuilder, [
472
- driver,
473
- this.Relation.JunctionModel,
474
- ])
456
+ const query = driver.Container.resolve(builders_1.DeleteQueryBuilder, [driver, this.Relation.JunctionModel])
475
457
  .from(jmodelDescriptor.TableName)
476
458
  .where(function () {
477
459
  this.whereIn(self.Relation.JunctionModelTargetModelFKey_Name, data);
478
460
  this.andWhere(self.Relation.JunctionModelSourceModelFKey_Name, self.owner.PrimaryKeyValue);
479
461
  });
480
462
  await query;
481
- lodash_1.default.remove(this, o => data.indexOf(o.PrimaryKeyValue) !== -1);
463
+ _.remove(this, (o) => data.indexOf(o.PrimaryKeyValue) !== -1);
482
464
  }
483
465
  async add(obj, mode) {
484
466
  const data = Array.isArray(obj) ? obj : [obj];
485
- const relEntities = data.map(d => {
467
+ const relEntities = data.map((d) => {
486
468
  const relEntity = new this.Relation.JunctionModel();
487
469
  relEntity[this.Relation.JunctionModelSourceModelFKey_Name] = this.owner.PrimaryKeyValue;
488
470
  relEntity[this.Relation.JunctionModelTargetModelFKey_Name] = d.PrimaryKeyValue;
489
471
  return relEntity;
490
472
  });
491
473
  for (const m of relEntities) {
492
- await m.save(mode);
474
+ await m.insert(mode);
493
475
  }
494
476
  this.push(...data);
495
477
  }
@@ -497,25 +479,22 @@ class ManyToManyRelationList extends Relation {
497
479
  exports.ManyToManyRelationList = ManyToManyRelationList;
498
480
  class OneToManyRelationList extends Relation {
499
481
  async remove(obj) {
500
- const data = (Array.isArray(obj) ? obj : [obj]).map(d => d.PrimaryKeyValue);
482
+ const data = (Array.isArray(obj) ? obj : [obj]).map((d) => d.PrimaryKeyValue);
501
483
  const driver = this.Orm.Connections.get(this.TargetModelDescriptor.Connection);
502
484
  if (!driver) {
503
485
  throw new exceptions_1.InvalidArgument(`connection ${this.TargetModelDescriptor.Connection} not exists`);
504
486
  }
505
- const query = driver.Container.resolve(builders_1.DeleteQueryBuilder, [
506
- driver,
507
- this.Relation.TargetModel,
508
- ]).whereIn(this.Relation.ForeignKey, data);
487
+ const query = driver.Container.resolve(builders_1.DeleteQueryBuilder, [driver, this.Relation.TargetModel]).whereIn(this.Relation.ForeignKey, data);
509
488
  await query;
510
- lodash_1.default.remove(this, o => data.indexOf(o.PrimaryKeyValue) !== -1);
489
+ _.remove(this, (o) => data.indexOf(o.PrimaryKeyValue) !== -1);
511
490
  }
512
491
  async add(obj, mode) {
513
492
  const data = Array.isArray(obj) ? obj : [obj];
514
- data.forEach(d => {
493
+ data.forEach((d) => {
515
494
  d[this.Relation.ForeignKey] = this.owner.PrimaryKeyValue;
516
495
  });
517
496
  for (const m of data) {
518
- await m.save(mode);
497
+ await m.insert(mode);
519
498
  }
520
499
  this.push(...data);
521
500
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../src/relations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../src/relations.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SelectQueryBuilder, WhereBuilder, RawQuery } from './builders';
2
2
  import { ColumnMethods, WhereOperators, JoinMethod } from './enums';
3
- import { Container } from '@spinajs/di';
3
+ import { Container, Class } from '@spinajs/di';
4
4
  import { IColumnDescriptor } from './interfaces';
5
5
  export interface IQueryStatementResult {
6
6
  Statements: string[];