@spinajs/orm 1.2.44 → 1.2.50

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 (58) hide show
  1. package/lib/orm.d.ts +1 -0
  2. package/lib/orm.js +22 -20
  3. package/lib/orm.js.map +1 -1
  4. package/package.json +5 -5
  5. package/lib/helpers.d.ts +0 -1
  6. package/lib/helpers.js +0 -14
  7. package/lib/helpers.js.map +0 -1
  8. package/lib/log-common/src/index.d.ts +0 -180
  9. package/lib/log-common/src/index.js +0 -49
  10. package/lib/log-common/src/index.js.map +0 -1
  11. package/lib/orm/src/builders.d.ts +0 -429
  12. package/lib/orm/src/builders.js +0 -1082
  13. package/lib/orm/src/builders.js.map +0 -1
  14. package/lib/orm/src/cli.d.ts +0 -1
  15. package/lib/orm/src/cli.js +0 -2
  16. package/lib/orm/src/cli.js.map +0 -1
  17. package/lib/orm/src/converters.d.ts +0 -9
  18. package/lib/orm/src/converters.js +0 -22
  19. package/lib/orm/src/converters.js.map +0 -1
  20. package/lib/orm/src/decorators.d.ts +0 -122
  21. package/lib/orm/src/decorators.js +0 -380
  22. package/lib/orm/src/decorators.js.map +0 -1
  23. package/lib/orm/src/driver.d.ts +0 -77
  24. package/lib/orm/src/driver.js +0 -84
  25. package/lib/orm/src/driver.js.map +0 -1
  26. package/lib/orm/src/enums.d.ts +0 -111
  27. package/lib/orm/src/enums.js +0 -122
  28. package/lib/orm/src/enums.js.map +0 -1
  29. package/lib/orm/src/exceptions.d.ts +0 -6
  30. package/lib/orm/src/exceptions.js +0 -11
  31. package/lib/orm/src/exceptions.js.map +0 -1
  32. package/lib/orm/src/hydrators.d.ts +0 -16
  33. package/lib/orm/src/hydrators.js +0 -70
  34. package/lib/orm/src/hydrators.js.map +0 -1
  35. package/lib/orm/src/index.d.ts +0 -12
  36. package/lib/orm/src/index.js +0 -25
  37. package/lib/orm/src/index.js.map +0 -1
  38. package/lib/orm/src/interfaces.d.ts +0 -615
  39. package/lib/orm/src/interfaces.js +0 -186
  40. package/lib/orm/src/interfaces.js.map +0 -1
  41. package/lib/orm/src/model.d.ts +0 -135
  42. package/lib/orm/src/model.js +0 -449
  43. package/lib/orm/src/model.js.map +0 -1
  44. package/lib/orm/src/orm.d.ts +0 -59
  45. package/lib/orm/src/orm.js +0 -278
  46. package/lib/orm/src/orm.js.map +0 -1
  47. package/lib/orm/src/relations.d.ts +0 -96
  48. package/lib/orm/src/relations.js +0 -503
  49. package/lib/orm/src/relations.js.map +0 -1
  50. package/lib/orm/src/statements.d.ts +0 -132
  51. package/lib/orm/src/statements.js +0 -257
  52. package/lib/orm/src/statements.js.map +0 -1
  53. package/lib/orm/src/types.d.ts +0 -2
  54. package/lib/orm/src/types.js +0 -3
  55. package/lib/orm/src/types.js.map +0 -1
  56. package/lib/orm/src/wrappers.d.ts +0 -5
  57. package/lib/orm/src/wrappers.js +0 -13
  58. package/lib/orm/src/wrappers.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/builders.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- #!/usr/bin/env nod
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env nod
2
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- /// <reference types="node" />
2
- import { ValueConverter } from './interfaces';
3
- /**
4
- * UUid converter to & from db as binary
5
- */
6
- export declare class UuidConverter extends ValueConverter {
7
- toDB(value: string): Buffer;
8
- fromDB(value: Buffer): string;
9
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UuidConverter = void 0;
4
- const interfaces_1 = require("./interfaces");
5
- /**
6
- * UUid converter to & from db as binary
7
- */
8
- class UuidConverter extends interfaces_1.ValueConverter {
9
- toDB(value) {
10
- const buffer = Buffer.alloc(16);
11
- if (!value) {
12
- return null;
13
- }
14
- buffer.write(value.replace(/-/g, ''), 'hex');
15
- return buffer;
16
- }
17
- fromDB(value) {
18
- return value.toString('hex');
19
- }
20
- }
21
- exports.UuidConverter = UuidConverter;
22
- //# sourceMappingURL=converters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../src/converters.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAE9C;;GAEG;AACH,MAAa,aAAc,SAAQ,2BAAc;IACxC,IAAI,CAAC,KAAa;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEhC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAhBD,sCAgBC"}
@@ -1,122 +0,0 @@
1
- import { Constructor } from '@spinajs/di';
2
- import { IModelDescrtiptor, IDiscriminationEntry } from './interfaces';
3
- import 'reflect-metadata';
4
- import { ModelBase } from './model';
5
- export declare const MODEL_DESCTRIPTION_SYMBOL: unique symbol;
6
- export declare const MIGRATION_DESCRIPTION_SYMBOL: unique symbol;
7
- /**
8
- * Helper func to create model metadata
9
- */
10
- export declare function extractDecoratorDescriptor(callback: (model: IModelDescrtiptor, target: any, propertyKey: symbol | string, indexOrDescriptor: number | PropertyDescriptor) => void, base?: boolean): any;
11
- /**
12
- * Sets migration option
13
- *
14
- * @param connection - connection name, must exists in configuration file
15
- */
16
- export declare function Migration(connection: string): (target: any) => void;
17
- /**
18
- * Connection model decorator, assigns connection to model
19
- *
20
- * @param name - connection name, must be avaible in db config
21
- */
22
- export declare function Connection(name: string): any;
23
- /**
24
- * TableName model decorator, assigns table from database to model
25
- *
26
- * @param name - table name in database that is referred by this model
27
- */
28
- export declare function Model(tableName: string): any;
29
- /**
30
- * Set create timestamps feature to model. Proper columns must be avaible in database table.
31
- * It allow to track creation times & changes to model
32
- */
33
- export declare function CreatedAt(): any;
34
- /**
35
- * Set update timestamps feature to model. Proper columns must be avaible in database table.
36
- * It allow to track creation times & changes to model
37
- */
38
- export declare function UpdatedAt(): any;
39
- /**
40
- * Sets soft delete feature to model. Soft delete dont delete model, but sets deletion date and hides from
41
- * select result by default.
42
- */
43
- export declare function SoftDelete(): any;
44
- /**
45
- * Enable archive mode for model. If enabled all changes creates new instance in DB and old have set archived field
46
- * and gets attached to new model. It enabled to track changes to model in DB and also preserve data in relations.
47
- *
48
- */
49
- export declare function Archived(): any;
50
- /**
51
- * Makrs field as primary key
52
- */
53
- export declare function Primary(): any;
54
- /**
55
- * Marks columns as UUID. Column will be generated ad creation
56
- */
57
- export declare function Ignore(): any;
58
- /**
59
- * Marks columns as UUID. Column will be generated ad creation
60
- */
61
- export declare function Uuid(): any;
62
- export declare function JunctionTable(): any;
63
- /**
64
- *
65
- * Marks model to have discrimination map.
66
- *
67
- * @param fieldName - db field name to look for
68
- * @param discriminationMap - field - model mapping
69
- */
70
- export declare function DiscriminationMap(fieldName: string, discriminationMap: IDiscriminationEntry[]): any;
71
- /**
72
- * Marks relation as recursive. When relation is populated it loads all to the top
73
- *
74
- */
75
- export declare function Recursive(): any;
76
- export interface IForwardReference<T = any> {
77
- forwardRef: T;
78
- }
79
- export declare const forwardRef: (fn: () => any) => IForwardReference;
80
- /**
81
- * Creates one to one relation with target model.
82
- *
83
- * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
84
- * @param primaryKey - primary key in related model, defaults to primary key taken from db
85
- */
86
- export declare function BelongsTo(foreignKey?: string, primaryKey?: string): any;
87
- /**
88
- * Creates one to one relation with target model.
89
- *
90
- * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
91
- * @param primaryKey - primary key in related model, defaults to primary key taken from db
92
- */
93
- export declare function ForwardBelongsTo(forwardRef: IForwardReference, foreignKey?: string, primaryKey?: string): any;
94
- /**
95
- * Creates one to many relation with target model.
96
- *
97
- * @param targetModel - due to limitations of metadata reflection api in typescript target model mus be set explicitly
98
- * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
99
- * @param primaryKey - primary key in source table defaults to lowercase property name with _id suffix eg. owner_id
100
- *
101
- */
102
- export declare function HasMany(targetModel: Constructor<ModelBase>, foreignKey?: string, primaryKey?: string): any;
103
- /**
104
- * Creates many to many relation with separate join table
105
- *
106
- * @param junctionModel - model for junction table
107
- * @param targetModel - model for related data
108
- * @param targetModelPKey - target model primary key name
109
- * @param sourceModelPKey - source model primary key name
110
- * @param junctionModelTargetPk - junction table target primary key name ( foreign key for target model )
111
- * @param junctionModelSourcePk - junction table source primary key name ( foreign key for source model )
112
- */
113
- export declare function HasManyToMany(junctionModel: Constructor<ModelBase>, targetModel: Constructor<ModelBase>, targetModelPKey?: string, sourceModelPKey?: string, junctionModelTargetPk?: string, junctionModelSourcePk?: string): any;
114
- /**
115
- * Mark field as datetime type. It will ensure that conversion to & from DB is valid, eg. sqlite DB
116
- * saves datetime as TEXT and ISO8601 strings
117
- */
118
- export declare function DateTime(): any;
119
- /**
120
- * Mark field as SET type. It will ensure that conversion to & from DB is valid, eg. to emulate field type SET in sqlite
121
- */
122
- export declare function Set(): any;
@@ -1,380 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Set = exports.DateTime = exports.HasManyToMany = 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;
4
- /* eslint-disable prettier/prettier */
5
- const converters_1 = require("./converters");
6
- const interfaces_1 = require("./interfaces");
7
- require("reflect-metadata");
8
- const model_1 = require("./model");
9
- const exceptions_1 = require("@spinajs/exceptions");
10
- exports.MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
11
- exports.MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
12
- /**
13
- * Helper func to create model metadata
14
- */
15
- function extractDecoratorDescriptor(callback, base = false) {
16
- return (target, propertyKey, indexOrDescriptor) => {
17
- let metadata = null;
18
- if (!base) {
19
- metadata = target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL];
20
- }
21
- else {
22
- metadata = target[exports.MODEL_DESCTRIPTION_SYMBOL];
23
- }
24
- if (!metadata) {
25
- metadata = {
26
- Driver: null,
27
- Converters: new Map(),
28
- Columns: [],
29
- Connection: null,
30
- PrimaryKey: '',
31
- SoftDelete: {
32
- DeletedAt: '',
33
- },
34
- Archived: {
35
- ArchivedAt: '',
36
- },
37
- TableName: '',
38
- Timestamps: {
39
- CreatedAt: '',
40
- UpdatedAt: '',
41
- },
42
- Relations: new Map(),
43
- Name: target.constructor.name,
44
- JunctionModelProperties: [],
45
- DiscriminationMap: {
46
- Field: '',
47
- Models: null,
48
- },
49
- };
50
- if (!base) {
51
- target.constructor[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
52
- }
53
- else {
54
- target[exports.MODEL_DESCTRIPTION_SYMBOL] = metadata;
55
- }
56
- }
57
- if (callback) {
58
- callback(metadata, target, propertyKey, indexOrDescriptor);
59
- }
60
- };
61
- }
62
- exports.extractDecoratorDescriptor = extractDecoratorDescriptor;
63
- /**
64
- * Sets migration option
65
- *
66
- * @param connection - connection name, must exists in configuration file
67
- */
68
- function Migration(connection) {
69
- return (target) => {
70
- let metadata = target[exports.MIGRATION_DESCRIPTION_SYMBOL];
71
- if (!metadata) {
72
- metadata = {
73
- Connection: '',
74
- };
75
- target[exports.MIGRATION_DESCRIPTION_SYMBOL] = metadata;
76
- }
77
- metadata.Connection = connection;
78
- };
79
- }
80
- exports.Migration = Migration;
81
- /**
82
- * Connection model decorator, assigns connection to model
83
- *
84
- * @param name - connection name, must be avaible in db config
85
- */
86
- function Connection(name) {
87
- return extractDecoratorDescriptor((model) => {
88
- model.Connection = name;
89
- }, true);
90
- }
91
- exports.Connection = Connection;
92
- /**
93
- * TableName model decorator, assigns table from database to model
94
- *
95
- * @param name - table name in database that is referred by this model
96
- */
97
- function Model(tableName) {
98
- return extractDecoratorDescriptor((model) => {
99
- model.TableName = tableName;
100
- }, true);
101
- }
102
- exports.Model = Model;
103
- /**
104
- * Set create timestamps feature to model. Proper columns must be avaible in database table.
105
- * It allow to track creation times & changes to model
106
- */
107
- function CreatedAt() {
108
- return extractDecoratorDescriptor((model, target, propertyKey) => {
109
- const type = Reflect.getMetadata('design:type', target, propertyKey);
110
- if (type.name !== 'Date') {
111
- throw Error('Proprety CreatedAt must be Date type');
112
- }
113
- model.Timestamps.CreatedAt = propertyKey;
114
- // add converter for this field
115
- model.Converters.set(propertyKey, interfaces_1.DatetimeValueConverter);
116
- });
117
- }
118
- exports.CreatedAt = CreatedAt;
119
- /**
120
- * Set update timestamps feature to model. Proper columns must be avaible in database table.
121
- * It allow to track creation times & changes to model
122
- */
123
- function UpdatedAt() {
124
- return extractDecoratorDescriptor((model, target, propertyKey) => {
125
- const type = Reflect.getMetadata('design:type', target, propertyKey);
126
- if (type.name !== 'Date') {
127
- throw Error('Proprety UpdatedAt must be Date type');
128
- }
129
- model.Timestamps.UpdatedAt = propertyKey;
130
- // add converter for this field
131
- model.Converters.set(propertyKey, interfaces_1.DatetimeValueConverter);
132
- });
133
- }
134
- exports.UpdatedAt = UpdatedAt;
135
- /**
136
- * Sets soft delete feature to model. Soft delete dont delete model, but sets deletion date and hides from
137
- * select result by default.
138
- */
139
- function SoftDelete() {
140
- return extractDecoratorDescriptor((model, target, propertyKey) => {
141
- const type = Reflect.getMetadata('design:type', target, propertyKey);
142
- if (type.name !== 'Date') {
143
- throw Error('Proprety DeletedAt must be Date type');
144
- }
145
- model.SoftDelete.DeletedAt = propertyKey;
146
- // add converter for this field
147
- model.Converters.set(propertyKey, interfaces_1.DatetimeValueConverter);
148
- });
149
- }
150
- exports.SoftDelete = SoftDelete;
151
- /**
152
- * Enable archive mode for model. If enabled all changes creates new instance in DB and old have set archived field
153
- * and gets attached to new model. It enabled to track changes to model in DB and also preserve data in relations.
154
- *
155
- */
156
- function Archived() {
157
- return extractDecoratorDescriptor((model, target, propertyKey) => {
158
- const type = Reflect.getMetadata('design:type', target, propertyKey);
159
- if (type.name !== 'Date') {
160
- throw Error('Proprety DeletedAt must be Date type');
161
- }
162
- model.Archived.ArchivedAt = propertyKey;
163
- // add converter for this field
164
- model.Converters.set(propertyKey, interfaces_1.DatetimeValueConverter);
165
- });
166
- }
167
- exports.Archived = Archived;
168
- /**
169
- * Makrs field as primary key
170
- */
171
- function Primary() {
172
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
173
- model.PrimaryKey = propertyKey;
174
- });
175
- }
176
- exports.Primary = Primary;
177
- /**
178
- * Marks columns as UUID. Column will be generated ad creation
179
- */
180
- function Ignore() {
181
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
182
- const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
183
- if (!columnDesc) {
184
- // we dont want to fill all props, they will be loaded from db and mergeg with this
185
- model.Columns.push({ Name: propertyKey, Ignore: true });
186
- }
187
- else {
188
- columnDesc.Ignore = true;
189
- }
190
- }, true);
191
- }
192
- exports.Ignore = Ignore;
193
- /**
194
- * Marks columns as UUID. Column will be generated ad creation
195
- */
196
- function Uuid() {
197
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
198
- const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
199
- if (!columnDesc) {
200
- // we dont want to fill all props, they will be loaded from db and mergeg with this
201
- model.Columns.push({ Name: propertyKey, Uuid: true });
202
- }
203
- else {
204
- columnDesc.Uuid = true;
205
- }
206
- model.Converters.set(propertyKey, converters_1.UuidConverter);
207
- }, true);
208
- }
209
- exports.Uuid = Uuid;
210
- function JunctionTable() {
211
- return extractDecoratorDescriptor((model, target, propertyKey) => {
212
- model.JunctionModelProperties.push({
213
- Name: propertyKey,
214
- Model: Reflect.getMetadata('design:type', target, propertyKey),
215
- });
216
- });
217
- }
218
- exports.JunctionTable = JunctionTable;
219
- /**
220
- *
221
- * Marks model to have discrimination map.
222
- *
223
- * @param fieldName - db field name to look for
224
- * @param discriminationMap - field - model mapping
225
- */
226
- function DiscriminationMap(fieldName, discriminationMap) {
227
- return extractDecoratorDescriptor((model, _target, _propertyKey) => {
228
- model.DiscriminationMap.Field = fieldName;
229
- model.DiscriminationMap.Models = new Map();
230
- discriminationMap.forEach((d) => {
231
- model.DiscriminationMap.Models.set(d.Key, d.Value);
232
- });
233
- }, true);
234
- }
235
- exports.DiscriminationMap = DiscriminationMap;
236
- /**
237
- * Marks relation as recursive. When relation is populated it loads all to the top
238
- *
239
- */
240
- function Recursive() {
241
- return extractDecoratorDescriptor((model, _target, propertyKey) => {
242
- if (!model.Relations.has(propertyKey)) {
243
- throw new exceptions_1.InvalidOperation(`cannot set recursive on not existing relation ( relation ${propertyKey} on model ${model.Name} )`);
244
- }
245
- const relation = model.Relations.get(propertyKey);
246
- if (relation.Type !== interfaces_1.RelationType.One) {
247
- throw new exceptions_1.InvalidOperation(`cannot set recursive on non one-to-one relation ( relation ${propertyKey} on model ${model.Name} )`);
248
- }
249
- relation.Recursive = true;
250
- });
251
- }
252
- exports.Recursive = Recursive;
253
- const forwardRef = (fn) => ({
254
- forwardRef: fn,
255
- });
256
- exports.forwardRef = forwardRef;
257
- /**
258
- * Creates one to one relation with target model.
259
- *
260
- * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
261
- * @param primaryKey - primary key in related model, defaults to primary key taken from db
262
- */
263
- function BelongsTo(foreignKey, primaryKey) {
264
- return extractDecoratorDescriptor((model, target, propertyKey) => {
265
- model.Relations.set(propertyKey, {
266
- Name: propertyKey,
267
- Type: interfaces_1.RelationType.One,
268
- SourceModel: target.constructor,
269
- TargetModel: Reflect.getMetadata('design:type', target, propertyKey),
270
- ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${propertyKey.toLowerCase()}_id`,
271
- PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
272
- Recursive: false,
273
- });
274
- });
275
- }
276
- exports.BelongsTo = BelongsTo;
277
- /**
278
- * Creates one to one relation with target model.
279
- *
280
- * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
281
- * @param primaryKey - primary key in related model, defaults to primary key taken from db
282
- */
283
- function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
284
- return extractDecoratorDescriptor((model, target, propertyKey) => {
285
- model.Relations.set(propertyKey, {
286
- Name: propertyKey,
287
- Type: interfaces_1.RelationType.One,
288
- SourceModel: target.constructor,
289
- TargetModel: forwardRef.forwardRef,
290
- ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${propertyKey.toLowerCase()}_id`,
291
- PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
292
- Recursive: false,
293
- });
294
- });
295
- }
296
- exports.ForwardBelongsTo = ForwardBelongsTo;
297
- /**
298
- * Creates one to many relation with target model.
299
- *
300
- * @param targetModel - due to limitations of metadata reflection api in typescript target model mus be set explicitly
301
- * @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
302
- * @param primaryKey - primary key in source table defaults to lowercase property name with _id suffix eg. owner_id
303
- *
304
- */
305
- function HasMany(targetModel, foreignKey, primaryKey) {
306
- return extractDecoratorDescriptor((model, target, propertyKey) => {
307
- model.Relations.set(propertyKey, {
308
- Name: propertyKey,
309
- Type: interfaces_1.RelationType.Many,
310
- SourceModel: target.constructor,
311
- TargetModel: targetModel,
312
- ForeignKey: foreignKey !== null && foreignKey !== void 0 ? foreignKey : `${model.Name.toLowerCase()}_id`,
313
- PrimaryKey: primaryKey !== null && primaryKey !== void 0 ? primaryKey : model.PrimaryKey,
314
- Recursive: false,
315
- });
316
- });
317
- }
318
- exports.HasMany = HasMany;
319
- /**
320
- * Creates many to many relation with separate join table
321
- *
322
- * @param junctionModel - model for junction table
323
- * @param targetModel - model for related data
324
- * @param targetModelPKey - target model primary key name
325
- * @param sourceModelPKey - source model primary key name
326
- * @param junctionModelTargetPk - junction table target primary key name ( foreign key for target model )
327
- * @param junctionModelSourcePk - junction table source primary key name ( foreign key for source model )
328
- */
329
- function HasManyToMany(junctionModel, targetModel, targetModelPKey, sourceModelPKey, junctionModelTargetPk, junctionModelSourcePk) {
330
- return extractDecoratorDescriptor((model, target, propertyKey) => {
331
- const targetModelDescriptor = (0, model_1.extractModelDescriptor)(targetModel);
332
- model.Relations.set(propertyKey, {
333
- Name: propertyKey,
334
- Recursive: false,
335
- Type: interfaces_1.RelationType.ManyToMany,
336
- SourceModel: target.constructor,
337
- TargetModel: targetModel,
338
- ForeignKey: targetModelPKey !== null && targetModelPKey !== void 0 ? targetModelPKey : targetModelDescriptor.PrimaryKey,
339
- PrimaryKey: sourceModelPKey !== null && sourceModelPKey !== void 0 ? sourceModelPKey : model.PrimaryKey,
340
- JunctionModel: junctionModel,
341
- JunctionModelTargetModelFKey_Name: junctionModelTargetPk !== null && junctionModelTargetPk !== void 0 ? junctionModelTargetPk : `${targetModelDescriptor.Name.toLowerCase()}_id`,
342
- JunctionModelSourceModelFKey_Name: junctionModelSourcePk !== null && junctionModelSourcePk !== void 0 ? junctionModelSourcePk : `${model.Name.toLowerCase()}_id`,
343
- });
344
- });
345
- }
346
- exports.HasManyToMany = HasManyToMany;
347
- /**
348
- * Mark field as datetime type. It will ensure that conversion to & from DB is valid, eg. sqlite DB
349
- * saves datetime as TEXT and ISO8601 strings
350
- */
351
- function DateTime() {
352
- return extractDecoratorDescriptor((model, target, propertyKey) => {
353
- const type = Reflect.getMetadata('design:type', target, propertyKey);
354
- if (type.name !== 'Date') {
355
- throw Error(`Proprety ${propertyKey} must be Date type`);
356
- }
357
- if (model.Converters.has(propertyKey)) {
358
- throw new exceptions_1.InvalidArgument(`property ${propertyKey} already have data converter attached`);
359
- }
360
- model.Converters.set(propertyKey, interfaces_1.DatetimeValueConverter);
361
- });
362
- }
363
- exports.DateTime = DateTime;
364
- /**
365
- * Mark field as SET type. It will ensure that conversion to & from DB is valid, eg. to emulate field type SET in sqlite
366
- */
367
- function Set() {
368
- return extractDecoratorDescriptor((model, target, propertyKey) => {
369
- const type = Reflect.getMetadata('design:type', target, propertyKey);
370
- if (type.name !== 'Array') {
371
- throw Error(`Proprety ${propertyKey} must be an array type`);
372
- }
373
- if (model.Converters.has(propertyKey)) {
374
- throw new exceptions_1.InvalidArgument(`property ${propertyKey} already have data converter attached`);
375
- }
376
- model.Converters.set(propertyKey, interfaces_1.SetValueConverter);
377
- });
378
- }
379
- exports.Set = Set;
380
- //# sourceMappingURL=decorators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/decorators.ts"],"names":[],"mappings":"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"}