@spinajs/orm 2.0.293 → 2.0.295

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Set = exports.UniversalConverter = exports.Json = exports.DateTime = exports.HasManyToMany = exports.Historical = exports.HasMany = exports.ForwardBelongsTo = exports.BelongsTo = exports.forwardRef = exports.Recursive = exports.DiscriminationMap = exports.JunctionTable = exports.Uuid = exports.Ignore = exports.Primary = exports.Archived = exports.SoftDelete = exports.UpdatedAt = exports.CreatedAt = exports.Model = exports.Connection = exports.Migration = exports.extractDecoratorDescriptor = exports.MIGRATION_DESCRIPTION_SYMBOL = exports.MODEL_DESCTRIPTION_SYMBOL = void 0;
3
+ exports.Set = exports.UniversalConverter = exports.Json = exports.DateTime = exports.HasManyToMany = exports.Historical = exports.HasMany = exports.ForwardBelongsTo = exports.BelongsTo = exports.forwardRef = exports.Recursive = exports.DiscriminationMap = exports.JunctionTable = exports.Uuid = exports.Ignore = exports.Primary = exports.Archived = exports.SoftDelete = exports.UpdatedAt = exports.CreatedAt = exports.Model = exports.Connection = exports.Migration = exports.extractDecoratorDescriptor = exports.extractDecoratorPropertyDescriptor = exports.MIGRATION_DESCRIPTION_SYMBOL = exports.MODEL_DESCTRIPTION_SYMBOL = void 0;
4
4
  /* eslint-disable prettier/prettier */
5
5
  const converters_js_1 = require("./converters.js");
6
6
  const di_1 = require("@spinajs/di");
@@ -11,52 +11,78 @@ const exceptions_1 = require("@spinajs/exceptions");
11
11
  const orm_js_1 = require("./orm.js");
12
12
  exports.MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
13
13
  exports.MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
14
+ function _getMetadataFrom(target) {
15
+ let metadata = Reflect.getMetadata(exports.MODEL_DESCTRIPTION_SYMBOL, target) ?? {};
16
+ /**
17
+ * NOTE:
18
+ * We hold metadata information as poperty of object stored by normal metadata.
19
+ * This way we can avoid overwritting metadata properties by inherited classes.
20
+ *
21
+ * Eg. given class hierarchy:
22
+ *
23
+ * @Decorator({ a: 1})
24
+ * class A {}
25
+ *
26
+ * @Decorator({ a: 2})
27
+ * class B extends A {}
28
+ *
29
+ * @Decorator({ a: 3})
30
+ * class C extends A {}
31
+ *
32
+ * Normally metadata is created for class A due import order. Reflect.metadata() searches in prototype chain, so
33
+ * when class B gets decorator executed it will find already defined from class A. Then class C decorator will overwrite
34
+ * decorator for class A ( B decorator is lost ).
35
+ *
36
+ * This is becouse decorator is saerched in protype chain of object.
37
+ *
38
+ * When we need metadata value, we collapse this object with proper inheritance object
39
+ */
40
+ if (!metadata.hasOwnProperty(target.name)) {
41
+ metadata[target.name] = {
42
+ Driver: null,
43
+ Converters: new Map(),
44
+ Columns: [],
45
+ Connection: null,
46
+ PrimaryKey: '',
47
+ SoftDelete: {
48
+ DeletedAt: '',
49
+ },
50
+ Archived: {
51
+ ArchivedAt: '',
52
+ },
53
+ TableName: '',
54
+ Timestamps: {
55
+ CreatedAt: '',
56
+ UpdatedAt: '',
57
+ },
58
+ Relations: new Map(),
59
+ Name: target.name,
60
+ JunctionModelProperties: [],
61
+ DiscriminationMap: {
62
+ Field: '',
63
+ Models: null,
64
+ },
65
+ Schema: {},
66
+ };
67
+ }
68
+ Reflect.defineMetadata(exports.MODEL_DESCTRIPTION_SYMBOL, metadata, target);
69
+ return metadata[target.name];
70
+ }
71
+ function extractDecoratorPropertyDescriptor(callback) {
72
+ return (target, propertyKey, indexOrDescriptor) => {
73
+ const metadata = _getMetadataFrom(target.constructor);
74
+ if (callback) {
75
+ callback(metadata, target.constructor, propertyKey, indexOrDescriptor);
76
+ }
77
+ };
78
+ }
79
+ exports.extractDecoratorPropertyDescriptor = extractDecoratorPropertyDescriptor;
14
80
  /**
15
81
  * Helper func to create model metadata
16
82
  */
17
- function extractDecoratorDescriptor(callback, base = false) {
83
+ function extractDecoratorDescriptor(callback) {
18
84
  return (target, propertyKey, indexOrDescriptor) => {
19
- let metadata = null;
20
- if (!base) {
21
- metadata = target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL];
22
- }
23
- else {
24
- metadata = target[exports.MODEL_DESCTRIPTION_SYMBOL];
25
- }
26
- if (!metadata) {
27
- metadata = {
28
- Driver: null,
29
- Converters: new Map(),
30
- Columns: [],
31
- Connection: null,
32
- PrimaryKey: '',
33
- SoftDelete: {
34
- DeletedAt: '',
35
- },
36
- Archived: {
37
- ArchivedAt: '',
38
- },
39
- TableName: '',
40
- Timestamps: {
41
- CreatedAt: '',
42
- UpdatedAt: '',
43
- },
44
- Relations: new Map(),
45
- Name: target.constructor.name,
46
- JunctionModelProperties: [],
47
- DiscriminationMap: {
48
- Field: '',
49
- Models: null,
50
- },
51
- Schema: {},
52
- };
53
- if (!base) {
54
- target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
55
- }
56
- else {
57
- target[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
58
- }
59
- }
85
+ const metadata = _getMetadataFrom(target);
60
86
  if (callback) {
61
87
  callback(metadata, target, propertyKey, indexOrDescriptor);
62
88
  }
@@ -90,7 +116,7 @@ exports.Migration = Migration;
90
116
  function Connection(name) {
91
117
  return extractDecoratorDescriptor((model) => {
92
118
  model.Connection = name;
93
- }, true);
119
+ });
94
120
  }
95
121
  exports.Connection = Connection;
96
122
  /**
@@ -103,7 +129,7 @@ function Model(tableName) {
103
129
  di_1.DI.register(target).as('__models__');
104
130
  model.TableName = tableName;
105
131
  model.Name = target.name;
106
- }, true);
132
+ });
107
133
  }
108
134
  exports.Model = Model;
109
135
  /**
@@ -111,8 +137,8 @@ exports.Model = Model;
111
137
  * It allow to track creation times & changes to model
112
138
  */
113
139
  function CreatedAt() {
114
- return extractDecoratorDescriptor((model, target, propertyKey) => {
115
- const type = Reflect.getMetadata('design:type', target, propertyKey);
140
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
141
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
116
142
  if (type.name !== 'DateTime') {
117
143
  throw Error(`Proprety ${propertyKey} marked as CreatedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
118
144
  }
@@ -129,8 +155,8 @@ exports.CreatedAt = CreatedAt;
129
155
  * It allow to track creation times & changes to model
130
156
  */
131
157
  function UpdatedAt() {
132
- return extractDecoratorDescriptor((model, target, propertyKey) => {
133
- const type = Reflect.getMetadata('design:type', target, propertyKey);
158
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
159
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
134
160
  if (type.name !== 'DateTime') {
135
161
  throw Error(`Proprety ${propertyKey} marked as UpdatedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
136
162
  }
@@ -147,8 +173,8 @@ exports.UpdatedAt = UpdatedAt;
147
173
  * select result by default.
148
174
  */
149
175
  function SoftDelete() {
150
- return extractDecoratorDescriptor((model, target, propertyKey) => {
151
- const type = Reflect.getMetadata('design:type', target, propertyKey);
176
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
177
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
152
178
  if (type.name !== 'DateTime') {
153
179
  throw Error(`Proprety ${propertyKey} marked as DeletedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
154
180
  }
@@ -166,8 +192,8 @@ exports.SoftDelete = SoftDelete;
166
192
  *
167
193
  */
168
194
  function Archived() {
169
- return extractDecoratorDescriptor((model, target, propertyKey) => {
170
- const type = Reflect.getMetadata('design:type', target, propertyKey);
195
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
196
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
171
197
  if (type.name !== 'DateTime') {
172
198
  throw Error(`Proprety ${propertyKey} marked as ArchivedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
173
199
  }
@@ -183,7 +209,7 @@ exports.Archived = Archived;
183
209
  * Makrs field as primary key
184
210
  */
185
211
  function Primary() {
186
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
212
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
187
213
  model.PrimaryKey = propertyKey;
188
214
  });
189
215
  }
@@ -192,7 +218,7 @@ exports.Primary = Primary;
192
218
  * Marks columns as UUID. Column will be generated ad creation
193
219
  */
194
220
  function Ignore() {
195
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
221
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
196
222
  const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
197
223
  if (!columnDesc) {
198
224
  // we dont want to fill all props, they will be loaded from db and mergeg with this
@@ -201,14 +227,14 @@ function Ignore() {
201
227
  else {
202
228
  columnDesc.Ignore = true;
203
229
  }
204
- }, true);
230
+ });
205
231
  }
206
232
  exports.Ignore = Ignore;
207
233
  /**
208
234
  * Marks columns as UUID. Column will be generated ad creation
209
235
  */
210
236
  function Uuid() {
211
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
237
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
212
238
  const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
213
239
  if (!columnDesc) {
214
240
  // we dont want to fill all props, they will be loaded from db and mergeg with this
@@ -220,14 +246,14 @@ function Uuid() {
220
246
  model.Converters.set(propertyKey, {
221
247
  Class: converters_js_1.UuidConverter,
222
248
  });
223
- }, true);
249
+ });
224
250
  }
225
251
  exports.Uuid = Uuid;
226
252
  function JunctionTable() {
227
- return extractDecoratorDescriptor((model, target, propertyKey) => {
253
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
228
254
  model.JunctionModelProperties.push({
229
255
  Name: propertyKey,
230
- Model: Reflect.getMetadata('design:type', target, propertyKey),
256
+ Model: Reflect.getMetadata('design:type', target.prototype, propertyKey),
231
257
  });
232
258
  });
233
259
  }
@@ -246,7 +272,7 @@ function DiscriminationMap(fieldName, discriminationMap) {
246
272
  discriminationMap.forEach((d) => {
247
273
  model.DiscriminationMap.Models.set(d.Key, d.Value);
248
274
  });
249
- }, true);
275
+ });
250
276
  }
251
277
  exports.DiscriminationMap = DiscriminationMap;
252
278
  /**
@@ -254,7 +280,7 @@ exports.DiscriminationMap = DiscriminationMap;
254
280
  *
255
281
  */
256
282
  function Recursive() {
257
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
283
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
258
284
  if (!model.Relations.has(propertyKey)) {
259
285
  throw new exceptions_1.InvalidOperation(`cannot set recursive on not existing relation ( relation ${propertyKey} on model ${model.Name} )`);
260
286
  }
@@ -274,11 +300,11 @@ exports.forwardRef = forwardRef;
274
300
  * @param primaryKey - primary key in related model, defaults to primary key taken from db
275
301
  */
276
302
  function BelongsTo(targetModel, foreignKey, primaryKey) {
277
- return extractDecoratorDescriptor((model, target, propertyKey) => {
303
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
278
304
  model.Relations.set(propertyKey, {
279
305
  Name: propertyKey,
280
306
  Type: interfaces_js_1.RelationType.One,
281
- SourceModel: target.constructor,
307
+ SourceModel: target,
282
308
  TargetModelType: targetModel,
283
309
  TargetModel: null,
284
310
  ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
@@ -295,11 +321,11 @@ exports.BelongsTo = BelongsTo;
295
321
  * @param primaryKey - primary key in related model, defaults to primary key taken from db
296
322
  */
297
323
  function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
298
- return extractDecoratorDescriptor((model, target, propertyKey) => {
324
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
299
325
  model.Relations.set(propertyKey, {
300
326
  Name: propertyKey,
301
327
  Type: interfaces_js_1.RelationType.One,
302
- SourceModel: target.constructor,
328
+ SourceModel: target,
303
329
  TargetModelType: forwardRef.forwardRef,
304
330
  TargetModel: null,
305
331
  ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
@@ -318,12 +344,12 @@ exports.ForwardBelongsTo = ForwardBelongsTo;
318
344
  *
319
345
  */
320
346
  function HasMany(targetModel, options) {
321
- return extractDecoratorDescriptor((model, target, propertyKey) => {
322
- let type = Reflect.getMetadata('design:type', target, propertyKey);
347
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
348
+ let type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
323
349
  model.Relations.set(propertyKey, {
324
350
  Name: propertyKey,
325
351
  Type: interfaces_js_1.RelationType.Many,
326
- SourceModel: target.constructor,
352
+ SourceModel: target,
327
353
  TargetModelType: targetModel,
328
354
  TargetModel: null,
329
355
  ForeignKey: options ? options.foreignKey ?? `${model.Name.toLowerCase()}_id` : `${model.Name.toLowerCase()}_id`,
@@ -336,11 +362,11 @@ function HasMany(targetModel, options) {
336
362
  }
337
363
  exports.HasMany = HasMany;
338
364
  function Historical(targetModel) {
339
- return extractDecoratorDescriptor((model, target, propertyKey) => {
365
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
340
366
  model.Relations.set(propertyKey, {
341
367
  Name: propertyKey,
342
368
  Type: interfaces_js_1.RelationType.Many,
343
- SourceModel: target.constructor,
369
+ SourceModel: target,
344
370
  TargetModelType: targetModel,
345
371
  TargetModel: null,
346
372
  ForeignKey: model.PrimaryKey,
@@ -357,12 +383,12 @@ exports.Historical = Historical;
357
383
  * @param targetModel - model for related data
358
384
  */
359
385
  function HasManyToMany(junctionModel, targetModel, options) {
360
- return extractDecoratorDescriptor((model, target, propertyKey) => {
386
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
361
387
  const descriptor = {
362
388
  Name: propertyKey,
363
389
  Recursive: false,
364
390
  Type: interfaces_js_1.RelationType.ManyToMany,
365
- SourceModel: target.constructor,
391
+ SourceModel: target,
366
392
  TargetModelType: targetModel,
367
393
  TargetModel: null,
368
394
  ForeignKey: '',
@@ -374,7 +400,7 @@ function HasManyToMany(junctionModel, targetModel, options) {
374
400
  JunctionModelSourceModelFKey_Name: options?.junctionModelSourcePk ?? `${model.Name.toLowerCase()}_id`,
375
401
  RelationClass: options?.type ? options.type : () => di_1.DI.resolve('__orm_relation_has_many_to_many_factory__', [type]),
376
402
  Factory: options ? options.factory : null,
377
- JoinMode: options ? options.joinMode : null
403
+ JoinMode: options ? options.joinMode : null,
378
404
  };
379
405
  // HACK:
380
406
  // we should use ForwardRefFunction as targetModel type
@@ -400,7 +426,7 @@ function HasManyToMany(junctionModel, targetModel, options) {
400
426
  descriptor.ForeignKey = options?.targetModelPKey ?? targetModelDescriptor.PrimaryKey;
401
427
  descriptor.JunctionModelTargetModelFKey_Name = options?.junctionModelTargetPk ?? `${targetModelDescriptor.Name.toLowerCase()}_id`;
402
428
  }
403
- let type = Reflect.getMetadata('design:type', target, propertyKey);
429
+ let type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
404
430
  model.Relations.set(propertyKey, descriptor);
405
431
  });
406
432
  }
@@ -410,8 +436,8 @@ exports.HasManyToMany = HasManyToMany;
410
436
  * saves datetime as TEXT and ISO8601 strings
411
437
  */
412
438
  function DateTime() {
413
- return extractDecoratorDescriptor((model, target, propertyKey) => {
414
- const type = Reflect.getMetadata('design:type', target, propertyKey);
439
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
440
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
415
441
  if (type.name !== 'DateTime') {
416
442
  throw Error(`Proprety ${propertyKey} must be DateTime type`);
417
443
  }
@@ -430,7 +456,7 @@ exports.DateTime = DateTime;
430
456
  * ORM will detect automatically if field is native JSON DB type.
431
457
  */
432
458
  function Json() {
433
- return extractDecoratorDescriptor((model, _, propertyKey) => {
459
+ return extractDecoratorPropertyDescriptor((model, _, propertyKey) => {
434
460
  // add converter for this field
435
461
  model.Converters.set(propertyKey, {
436
462
  Class: converters_js_1.JsonValueConverter,
@@ -446,7 +472,7 @@ exports.Json = Json;
446
472
  * @param typeColumn - type column that defines final type of value
447
473
  */
448
474
  function UniversalConverter(typeColumn) {
449
- return extractDecoratorDescriptor((model, _, propertyKey) => {
475
+ return extractDecoratorPropertyDescriptor((model, _, propertyKey) => {
450
476
  // add converter for this field
451
477
  model.Converters.set(propertyKey, {
452
478
  Class: converters_js_1.UniversalValueConverter,
@@ -461,8 +487,8 @@ exports.UniversalConverter = UniversalConverter;
461
487
  * Mark field as SET type. It will ensure that conversion to & from DB is valid, eg. to emulate field type SET in sqlite
462
488
  */
463
489
  function Set() {
464
- return extractDecoratorDescriptor((model, target, propertyKey) => {
465
- const type = Reflect.getMetadata('design:type', target, propertyKey);
490
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
491
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
466
492
  if (type.name !== 'Array') {
467
493
  throw Error(`Proprety ${propertyKey} must be an array type`);
468
494
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,15 @@ import { OrmDriver } from './driver.js';
8
8
  import { Class, IContainer, Constructor } from '@spinajs/di';
9
9
  import { DateTime } from 'luxon';
10
10
  export declare function extractModelDescriptor(targetOrForward: any): IModelDescriptor;
11
+ /**
12
+ *
13
+ * Updates model descriptor
14
+ *
15
+ * @param targetOrForward
16
+ * @param descriptor
17
+ * @returns
18
+ */
19
+ export declare function updateModelDescriptor(targetOrForward: any, callback: (descriptor: IModelDescriptor) => void): void;
11
20
  export declare class ModelBase<M = unknown> implements IModelBase {
12
21
  /**
13
22
  * Marks model as dirty. It means that model have unsaved changes
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
package/lib/cjs/model.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._modelProxyFactory = exports.MODEL_STATIC_MIXINS = exports.createQuery = exports.HistoricalModel = exports.ModelBase = exports.extractModelDescriptor = void 0;
6
+ exports._modelProxyFactory = exports.MODEL_STATIC_MIXINS = exports.createQuery = exports.HistoricalModel = exports.ModelBase = exports.updateModelDescriptor = exports.extractModelDescriptor = void 0;
7
7
  const enums_js_1 = require("./enums.js");
8
8
  const decorators_js_1 = require("./decorators.js");
9
9
  const interfaces_js_1 = require("./interfaces.js");
@@ -29,35 +29,44 @@ const MODEL_PROXY_HANDLER = {
29
29
  return true;
30
30
  },
31
31
  };
32
+ function getConstructorChain(obj) {
33
+ var cs = [obj.name], pt = obj;
34
+ do {
35
+ if ((pt = Object.getPrototypeOf(pt)))
36
+ cs.push(pt.constructor.name || null);
37
+ } while (pt != null);
38
+ return cs.filter((x) => x !== 'Function' && x !== 'Object');
39
+ }
32
40
  function extractModelDescriptor(targetOrForward) {
33
41
  const target = !(0, di_1.isConstructor)(targetOrForward) && targetOrForward ? targetOrForward() : targetOrForward;
34
42
  if (!target) {
35
43
  return null;
36
44
  }
37
- let descriptor = null;
38
- _reduce(target);
39
- return descriptor;
40
- function _reduce(t) {
41
- if (!t) {
42
- return;
43
- }
44
- if (t[decorators_js_1.MODEL_DESCTRIPTION_SYMBOL]) {
45
- descriptor = descriptor ?? {};
46
- lodash_1.default.mergeWith(descriptor, t[decorators_js_1.MODEL_DESCTRIPTION_SYMBOL], (a, b) => {
47
- if (!a) {
48
- return b;
49
- }
50
- if (Array.isArray(a)) {
51
- return lodash_1.default.uniq(a.concat(b));
52
- }
53
- return a;
54
- });
55
- }
56
- _reduce(t.prototype);
57
- _reduce(t.__proto__);
58
- }
45
+ const metadata = Reflect.getMetadata(decorators_js_1.MODEL_DESCTRIPTION_SYMBOL, target);
46
+ // we want collapse metadata vals in reverse order ( base class first )
47
+ const inheritanceChain = getConstructorChain(target).reverse();
48
+ return inheritanceChain.reduce((prev, c) => {
49
+ return { ...prev, ...metadata[c] };
50
+ }, {});
59
51
  }
60
52
  exports.extractModelDescriptor = extractModelDescriptor;
53
+ /**
54
+ *
55
+ * Updates model descriptor
56
+ *
57
+ * @param targetOrForward
58
+ * @param descriptor
59
+ * @returns
60
+ */
61
+ function updateModelDescriptor(targetOrForward, callback) {
62
+ const target = !(0, di_1.isConstructor)(targetOrForward) && targetOrForward ? targetOrForward() : targetOrForward;
63
+ if (!target) {
64
+ return null;
65
+ }
66
+ const metadata = Reflect.getMetadata(decorators_js_1.MODEL_DESCTRIPTION_SYMBOL, target);
67
+ callback(metadata[target.name]);
68
+ }
69
+ exports.updateModelDescriptor = updateModelDescriptor;
61
70
  class ModelBase {
62
71
  /**
63
72
  * Gets descriptor for this model. It contains information about relations, orm driver, connection properties,
@@ -520,7 +529,7 @@ class ModelBase {
520
529
  }
521
530
  exports.ModelBase = ModelBase;
522
531
  function _descriptor(model) {
523
- return model[decorators_js_1.MODEL_DESCTRIPTION_SYMBOL];
532
+ return extractModelDescriptor(model);
524
533
  }
525
534
  function _preparePkWhere(description, query, model) {
526
535
  if (description.PrimaryKey) {