@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.
@@ -5,10 +5,11 @@ import { ModelBase } from './model.js';
5
5
  import { Relation } from './relation-objects.js';
6
6
  export declare const MODEL_DESCTRIPTION_SYMBOL: unique symbol;
7
7
  export declare const MIGRATION_DESCRIPTION_SYMBOL: unique symbol;
8
+ export declare function extractDecoratorPropertyDescriptor(callback: (model: IModelDescriptor, target: any, propertyKey: symbol | string, indexOrDescriptor: number | PropertyDescriptor) => void): any;
8
9
  /**
9
10
  * Helper func to create model metadata
10
11
  */
11
- export declare function extractDecoratorDescriptor(callback: (model: IModelDescriptor, target: any, propertyKey: symbol | string, indexOrDescriptor: number | PropertyDescriptor) => void, base?: boolean): any;
12
+ export declare function extractDecoratorDescriptor(callback: (model: IModelDescriptor, target: any, propertyKey: symbol | string, indexOrDescriptor: number | PropertyDescriptor) => void): any;
12
13
  /**
13
14
  * Sets migration option
14
15
  *
@@ -125,7 +126,7 @@ export interface IHasManyToManyDecoratorOptions extends IRelationDecoratorOption
125
126
  * Join mode on relation
126
127
  * Sometimes right side of junction relation not exists and we want to filter it out
127
128
  */
128
- joinMode?: "LeftJoin" | "RightJoin";
129
+ joinMode?: 'LeftJoin' | 'RightJoin';
129
130
  }
130
131
  export interface IHasManyDecoratorOptions extends IRelationDecoratorOptions {
131
132
  foreignKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -8,52 +8,77 @@ import { InvalidOperation, InvalidArgument } from '@spinajs/exceptions';
8
8
  import { Orm } from './orm.js';
9
9
  export const MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
10
10
  export const MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
11
+ function _getMetadataFrom(target) {
12
+ let metadata = Reflect.getMetadata(MODEL_DESCTRIPTION_SYMBOL, target) ?? {};
13
+ /**
14
+ * NOTE:
15
+ * We hold metadata information as poperty of object stored by normal metadata.
16
+ * This way we can avoid overwritting metadata properties by inherited classes.
17
+ *
18
+ * Eg. given class hierarchy:
19
+ *
20
+ * @Decorator({ a: 1})
21
+ * class A {}
22
+ *
23
+ * @Decorator({ a: 2})
24
+ * class B extends A {}
25
+ *
26
+ * @Decorator({ a: 3})
27
+ * class C extends A {}
28
+ *
29
+ * Normally metadata is created for class A due import order. Reflect.metadata() searches in prototype chain, so
30
+ * when class B gets decorator executed it will find already defined from class A. Then class C decorator will overwrite
31
+ * decorator for class A ( B decorator is lost ).
32
+ *
33
+ * This is becouse decorator is saerched in protype chain of object.
34
+ *
35
+ * When we need metadata value, we collapse this object with proper inheritance object
36
+ */
37
+ if (!metadata.hasOwnProperty(target.name)) {
38
+ metadata[target.name] = {
39
+ Driver: null,
40
+ Converters: new Map(),
41
+ Columns: [],
42
+ Connection: null,
43
+ PrimaryKey: '',
44
+ SoftDelete: {
45
+ DeletedAt: '',
46
+ },
47
+ Archived: {
48
+ ArchivedAt: '',
49
+ },
50
+ TableName: '',
51
+ Timestamps: {
52
+ CreatedAt: '',
53
+ UpdatedAt: '',
54
+ },
55
+ Relations: new Map(),
56
+ Name: target.name,
57
+ JunctionModelProperties: [],
58
+ DiscriminationMap: {
59
+ Field: '',
60
+ Models: null,
61
+ },
62
+ Schema: {},
63
+ };
64
+ }
65
+ Reflect.defineMetadata(MODEL_DESCTRIPTION_SYMBOL, metadata, target);
66
+ return metadata[target.name];
67
+ }
68
+ export function extractDecoratorPropertyDescriptor(callback) {
69
+ return (target, propertyKey, indexOrDescriptor) => {
70
+ const metadata = _getMetadataFrom(target.constructor);
71
+ if (callback) {
72
+ callback(metadata, target.constructor, propertyKey, indexOrDescriptor);
73
+ }
74
+ };
75
+ }
11
76
  /**
12
77
  * Helper func to create model metadata
13
78
  */
14
- export function extractDecoratorDescriptor(callback, base = false) {
79
+ export function extractDecoratorDescriptor(callback) {
15
80
  return (target, propertyKey, indexOrDescriptor) => {
16
- let metadata = null;
17
- if (!base) {
18
- metadata = target.constructor[MODEL_DESCTRIPTION_SYMBOL];
19
- }
20
- else {
21
- metadata = target[MODEL_DESCTRIPTION_SYMBOL];
22
- }
23
- if (!metadata) {
24
- metadata = {
25
- Driver: null,
26
- Converters: new Map(),
27
- Columns: [],
28
- Connection: null,
29
- PrimaryKey: '',
30
- SoftDelete: {
31
- DeletedAt: '',
32
- },
33
- Archived: {
34
- ArchivedAt: '',
35
- },
36
- TableName: '',
37
- Timestamps: {
38
- CreatedAt: '',
39
- UpdatedAt: '',
40
- },
41
- Relations: new Map(),
42
- Name: target.constructor.name,
43
- JunctionModelProperties: [],
44
- DiscriminationMap: {
45
- Field: '',
46
- Models: null,
47
- },
48
- Schema: {},
49
- };
50
- if (!base) {
51
- target.constructor[MODEL_DESCTRIPTION_SYMBOL] = metadata;
52
- }
53
- else {
54
- target[MODEL_DESCTRIPTION_SYMBOL] = metadata;
55
- }
56
- }
81
+ const metadata = _getMetadataFrom(target);
57
82
  if (callback) {
58
83
  callback(metadata, target, propertyKey, indexOrDescriptor);
59
84
  }
@@ -85,7 +110,7 @@ export function Migration(connection) {
85
110
  export function Connection(name) {
86
111
  return extractDecoratorDescriptor((model) => {
87
112
  model.Connection = name;
88
- }, true);
113
+ });
89
114
  }
90
115
  /**
91
116
  * TableName model decorator, assigns table from database to model
@@ -97,15 +122,15 @@ export function Model(tableName) {
97
122
  DI.register(target).as('__models__');
98
123
  model.TableName = tableName;
99
124
  model.Name = target.name;
100
- }, true);
125
+ });
101
126
  }
102
127
  /**
103
128
  * Set create timestamps feature to model. Proper columns must be avaible in database table.
104
129
  * It allow to track creation times & changes to model
105
130
  */
106
131
  export function CreatedAt() {
107
- return extractDecoratorDescriptor((model, target, propertyKey) => {
108
- const type = Reflect.getMetadata('design:type', target, propertyKey);
132
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
133
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
109
134
  if (type.name !== 'DateTime') {
110
135
  throw Error(`Proprety ${propertyKey} marked as CreatedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
111
136
  }
@@ -121,8 +146,8 @@ export function CreatedAt() {
121
146
  * It allow to track creation times & changes to model
122
147
  */
123
148
  export function UpdatedAt() {
124
- return extractDecoratorDescriptor((model, target, propertyKey) => {
125
- const type = Reflect.getMetadata('design:type', target, propertyKey);
149
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
150
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
126
151
  if (type.name !== 'DateTime') {
127
152
  throw Error(`Proprety ${propertyKey} marked as UpdatedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
128
153
  }
@@ -138,8 +163,8 @@ export function UpdatedAt() {
138
163
  * select result by default.
139
164
  */
140
165
  export function SoftDelete() {
141
- return extractDecoratorDescriptor((model, target, propertyKey) => {
142
- const type = Reflect.getMetadata('design:type', target, propertyKey);
166
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
167
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
143
168
  if (type.name !== 'DateTime') {
144
169
  throw Error(`Proprety ${propertyKey} marked as DeletedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
145
170
  }
@@ -156,8 +181,8 @@ export function SoftDelete() {
156
181
  *
157
182
  */
158
183
  export function Archived() {
159
- return extractDecoratorDescriptor((model, target, propertyKey) => {
160
- const type = Reflect.getMetadata('design:type', target, propertyKey);
184
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
185
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
161
186
  if (type.name !== 'DateTime') {
162
187
  throw Error(`Proprety ${propertyKey} marked as ArchivedAt must be DateTime type, but is ${type.name}. Type: ${target.name}`);
163
188
  }
@@ -172,7 +197,7 @@ export function Archived() {
172
197
  * Makrs field as primary key
173
198
  */
174
199
  export function Primary() {
175
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
200
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
176
201
  model.PrimaryKey = propertyKey;
177
202
  });
178
203
  }
@@ -180,7 +205,7 @@ export function Primary() {
180
205
  * Marks columns as UUID. Column will be generated ad creation
181
206
  */
182
207
  export function Ignore() {
183
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
208
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
184
209
  const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
185
210
  if (!columnDesc) {
186
211
  // we dont want to fill all props, they will be loaded from db and mergeg with this
@@ -189,13 +214,13 @@ export function Ignore() {
189
214
  else {
190
215
  columnDesc.Ignore = true;
191
216
  }
192
- }, true);
217
+ });
193
218
  }
194
219
  /**
195
220
  * Marks columns as UUID. Column will be generated ad creation
196
221
  */
197
222
  export function Uuid() {
198
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
223
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
199
224
  const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
200
225
  if (!columnDesc) {
201
226
  // we dont want to fill all props, they will be loaded from db and mergeg with this
@@ -207,13 +232,13 @@ export function Uuid() {
207
232
  model.Converters.set(propertyKey, {
208
233
  Class: UuidConverter,
209
234
  });
210
- }, true);
235
+ });
211
236
  }
212
237
  export function JunctionTable() {
213
- return extractDecoratorDescriptor((model, target, propertyKey) => {
238
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
214
239
  model.JunctionModelProperties.push({
215
240
  Name: propertyKey,
216
- Model: Reflect.getMetadata('design:type', target, propertyKey),
241
+ Model: Reflect.getMetadata('design:type', target.prototype, propertyKey),
217
242
  });
218
243
  });
219
244
  }
@@ -231,14 +256,14 @@ export function DiscriminationMap(fieldName, discriminationMap) {
231
256
  discriminationMap.forEach((d) => {
232
257
  model.DiscriminationMap.Models.set(d.Key, d.Value);
233
258
  });
234
- }, true);
259
+ });
235
260
  }
236
261
  /**
237
262
  * Marks relation as recursive. When relation is populated it loads all to the top
238
263
  *
239
264
  */
240
265
  export function Recursive() {
241
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
266
+ return extractDecoratorPropertyDescriptor((model, _target, propertyKey) => {
242
267
  if (!model.Relations.has(propertyKey)) {
243
268
  throw new InvalidOperation(`cannot set recursive on not existing relation ( relation ${propertyKey} on model ${model.Name} )`);
244
269
  }
@@ -256,11 +281,11 @@ export const forwardRef = (fn) => ({
256
281
  * @param primaryKey - primary key in related model, defaults to primary key taken from db
257
282
  */
258
283
  export function BelongsTo(targetModel, foreignKey, primaryKey) {
259
- return extractDecoratorDescriptor((model, target, propertyKey) => {
284
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
260
285
  model.Relations.set(propertyKey, {
261
286
  Name: propertyKey,
262
287
  Type: RelationType.One,
263
- SourceModel: target.constructor,
288
+ SourceModel: target,
264
289
  TargetModelType: targetModel,
265
290
  TargetModel: null,
266
291
  ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
@@ -276,11 +301,11 @@ export function BelongsTo(targetModel, foreignKey, primaryKey) {
276
301
  * @param primaryKey - primary key in related model, defaults to primary key taken from db
277
302
  */
278
303
  export function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
279
- return extractDecoratorDescriptor((model, target, propertyKey) => {
304
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
280
305
  model.Relations.set(propertyKey, {
281
306
  Name: propertyKey,
282
307
  Type: RelationType.One,
283
- SourceModel: target.constructor,
308
+ SourceModel: target,
284
309
  TargetModelType: forwardRef.forwardRef,
285
310
  TargetModel: null,
286
311
  ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
@@ -298,12 +323,12 @@ export function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
298
323
  *
299
324
  */
300
325
  export function HasMany(targetModel, options) {
301
- return extractDecoratorDescriptor((model, target, propertyKey) => {
302
- let type = Reflect.getMetadata('design:type', target, propertyKey);
326
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
327
+ let type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
303
328
  model.Relations.set(propertyKey, {
304
329
  Name: propertyKey,
305
330
  Type: RelationType.Many,
306
- SourceModel: target.constructor,
331
+ SourceModel: target,
307
332
  TargetModelType: targetModel,
308
333
  TargetModel: null,
309
334
  ForeignKey: options ? options.foreignKey ?? `${model.Name.toLowerCase()}_id` : `${model.Name.toLowerCase()}_id`,
@@ -315,11 +340,11 @@ export function HasMany(targetModel, options) {
315
340
  });
316
341
  }
317
342
  export function Historical(targetModel) {
318
- return extractDecoratorDescriptor((model, target, propertyKey) => {
343
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
319
344
  model.Relations.set(propertyKey, {
320
345
  Name: propertyKey,
321
346
  Type: RelationType.Many,
322
- SourceModel: target.constructor,
347
+ SourceModel: target,
323
348
  TargetModelType: targetModel,
324
349
  TargetModel: null,
325
350
  ForeignKey: model.PrimaryKey,
@@ -335,12 +360,12 @@ export function Historical(targetModel) {
335
360
  * @param targetModel - model for related data
336
361
  */
337
362
  export function HasManyToMany(junctionModel, targetModel, options) {
338
- return extractDecoratorDescriptor((model, target, propertyKey) => {
363
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
339
364
  const descriptor = {
340
365
  Name: propertyKey,
341
366
  Recursive: false,
342
367
  Type: RelationType.ManyToMany,
343
- SourceModel: target.constructor,
368
+ SourceModel: target,
344
369
  TargetModelType: targetModel,
345
370
  TargetModel: null,
346
371
  ForeignKey: '',
@@ -352,7 +377,7 @@ export function HasManyToMany(junctionModel, targetModel, options) {
352
377
  JunctionModelSourceModelFKey_Name: options?.junctionModelSourcePk ?? `${model.Name.toLowerCase()}_id`,
353
378
  RelationClass: options?.type ? options.type : () => DI.resolve('__orm_relation_has_many_to_many_factory__', [type]),
354
379
  Factory: options ? options.factory : null,
355
- JoinMode: options ? options.joinMode : null
380
+ JoinMode: options ? options.joinMode : null,
356
381
  };
357
382
  // HACK:
358
383
  // we should use ForwardRefFunction as targetModel type
@@ -378,7 +403,7 @@ export function HasManyToMany(junctionModel, targetModel, options) {
378
403
  descriptor.ForeignKey = options?.targetModelPKey ?? targetModelDescriptor.PrimaryKey;
379
404
  descriptor.JunctionModelTargetModelFKey_Name = options?.junctionModelTargetPk ?? `${targetModelDescriptor.Name.toLowerCase()}_id`;
380
405
  }
381
- let type = Reflect.getMetadata('design:type', target, propertyKey);
406
+ let type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
382
407
  model.Relations.set(propertyKey, descriptor);
383
408
  });
384
409
  }
@@ -387,8 +412,8 @@ export function HasManyToMany(junctionModel, targetModel, options) {
387
412
  * saves datetime as TEXT and ISO8601 strings
388
413
  */
389
414
  export function DateTime() {
390
- return extractDecoratorDescriptor((model, target, propertyKey) => {
391
- const type = Reflect.getMetadata('design:type', target, propertyKey);
415
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
416
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
392
417
  if (type.name !== 'DateTime') {
393
418
  throw Error(`Proprety ${propertyKey} must be DateTime type`);
394
419
  }
@@ -406,7 +431,7 @@ export function DateTime() {
406
431
  * ORM will detect automatically if field is native JSON DB type.
407
432
  */
408
433
  export function Json() {
409
- return extractDecoratorDescriptor((model, _, propertyKey) => {
434
+ return extractDecoratorPropertyDescriptor((model, _, propertyKey) => {
410
435
  // add converter for this field
411
436
  model.Converters.set(propertyKey, {
412
437
  Class: JsonValueConverter,
@@ -421,7 +446,7 @@ export function Json() {
421
446
  * @param typeColumn - type column that defines final type of value
422
447
  */
423
448
  export function UniversalConverter(typeColumn) {
424
- return extractDecoratorDescriptor((model, _, propertyKey) => {
449
+ return extractDecoratorPropertyDescriptor((model, _, propertyKey) => {
425
450
  // add converter for this field
426
451
  model.Converters.set(propertyKey, {
427
452
  Class: UniversalValueConverter,
@@ -435,8 +460,8 @@ export function UniversalConverter(typeColumn) {
435
460
  * Mark field as SET type. It will ensure that conversion to & from DB is valid, eg. to emulate field type SET in sqlite
436
461
  */
437
462
  export function Set() {
438
- return extractDecoratorDescriptor((model, target, propertyKey) => {
439
- const type = Reflect.getMetadata('design:type', target, propertyKey);
463
+ return extractDecoratorPropertyDescriptor((model, target, propertyKey) => {
464
+ const type = Reflect.getMetadata('design:type', target.prototype, propertyKey);
440
465
  if (type.name !== 'Array') {
441
466
  throw Error(`Proprety ${propertyKey} must be an array type`);
442
467
  }
@@ -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/mjs/model.js CHANGED
@@ -23,33 +23,41 @@ const MODEL_PROXY_HANDLER = {
23
23
  return true;
24
24
  },
25
25
  };
26
+ function getConstructorChain(obj) {
27
+ var cs = [obj.name], pt = obj;
28
+ do {
29
+ if ((pt = Object.getPrototypeOf(pt)))
30
+ cs.push(pt.constructor.name || null);
31
+ } while (pt != null);
32
+ return cs.filter((x) => x !== 'Function' && x !== 'Object');
33
+ }
26
34
  export function extractModelDescriptor(targetOrForward) {
27
35
  const target = !isConstructor(targetOrForward) && targetOrForward ? targetOrForward() : targetOrForward;
28
36
  if (!target) {
29
37
  return null;
30
38
  }
31
- let descriptor = null;
32
- _reduce(target);
33
- return descriptor;
34
- function _reduce(t) {
35
- if (!t) {
36
- return;
37
- }
38
- if (t[MODEL_DESCTRIPTION_SYMBOL]) {
39
- descriptor = descriptor ?? {};
40
- _.mergeWith(descriptor, t[MODEL_DESCTRIPTION_SYMBOL], (a, b) => {
41
- if (!a) {
42
- return b;
43
- }
44
- if (Array.isArray(a)) {
45
- return _.uniq(a.concat(b));
46
- }
47
- return a;
48
- });
49
- }
50
- _reduce(t.prototype);
51
- _reduce(t.__proto__);
39
+ const metadata = Reflect.getMetadata(MODEL_DESCTRIPTION_SYMBOL, target);
40
+ // we want collapse metadata vals in reverse order ( base class first )
41
+ const inheritanceChain = getConstructorChain(target).reverse();
42
+ return inheritanceChain.reduce((prev, c) => {
43
+ return { ...prev, ...metadata[c] };
44
+ }, {});
45
+ }
46
+ /**
47
+ *
48
+ * Updates model descriptor
49
+ *
50
+ * @param targetOrForward
51
+ * @param descriptor
52
+ * @returns
53
+ */
54
+ export function updateModelDescriptor(targetOrForward, callback) {
55
+ const target = !isConstructor(targetOrForward) && targetOrForward ? targetOrForward() : targetOrForward;
56
+ if (!target) {
57
+ return null;
52
58
  }
59
+ const metadata = Reflect.getMetadata(MODEL_DESCTRIPTION_SYMBOL, target);
60
+ callback(metadata[target.name]);
53
61
  }
54
62
  export class ModelBase {
55
63
  /**
@@ -512,7 +520,7 @@ export class ModelBase {
512
520
  }
513
521
  }
514
522
  function _descriptor(model) {
515
- return model[MODEL_DESCTRIPTION_SYMBOL];
523
+ return extractModelDescriptor(model);
516
524
  }
517
525
  function _preparePkWhere(description, query, model) {
518
526
  if (description.PrimaryKey) {