@spinajs/orm 2.0.46 → 2.0.49
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.
- package/README.md +11 -11
- package/lib/builders.d.ts +9 -8
- package/lib/builders.d.ts.map +1 -0
- package/lib/builders.js +277 -310
- package/lib/builders.js.map +1 -1
- package/lib/converters.d.ts +4 -3
- package/lib/converters.d.ts.map +1 -0
- package/lib/converters.js +11 -19
- package/lib/converters.js.map +1 -1
- package/lib/decorators.d.ts +4 -3
- package/lib/decorators.d.ts.map +1 -0
- package/lib/decorators.js +71 -99
- package/lib/decorators.js.map +1 -1
- package/lib/dehydrators.d.ts +2 -1
- package/lib/dehydrators.d.ts.map +1 -0
- package/lib/dehydrators.js +9 -16
- package/lib/dehydrators.js.map +1 -1
- package/lib/driver.d.ts +6 -5
- package/lib/driver.d.ts.map +1 -0
- package/lib/driver.js +20 -24
- package/lib/driver.js.map +1 -1
- package/lib/enums.d.ts +2 -1
- package/lib/enums.d.ts.map +1 -0
- package/lib/enums.js +14 -17
- package/lib/enums.js.map +1 -1
- package/lib/exceptions.d.ts +2 -1
- package/lib/exceptions.d.ts.map +1 -0
- package/lib/exceptions.js +2 -6
- package/lib/exceptions.js.map +1 -1
- package/lib/hydrators.d.ts +2 -1
- package/lib/hydrators.d.ts.map +1 -0
- package/lib/hydrators.js +23 -28
- package/lib/hydrators.js.map +1 -1
- package/lib/index.d.ts +16 -15
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +15 -31
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +10 -9
- package/lib/interfaces.d.ts.map +1 -0
- package/lib/interfaces.js +76 -89
- package/lib/interfaces.js.map +1 -1
- package/lib/model.d.ts +8 -7
- package/lib/model.d.ts.map +1 -0
- package/lib/model.js +116 -154
- package/lib/model.js.map +1 -1
- package/lib/orm.d.ts +4 -3
- package/lib/orm.d.ts.map +1 -0
- package/lib/orm.js +45 -74
- package/lib/orm.js.map +1 -1
- package/lib/relations.d.ts +6 -11
- package/lib/relations.d.ts.map +1 -0
- package/lib/relations.js +56 -90
- package/lib/relations.js.map +1 -1
- package/lib/statements.d.ts +6 -7
- package/lib/statements.d.ts.map +1 -0
- package/lib/statements.js +55 -86
- package/lib/statements.js.map +1 -1
- package/lib/types.d.ts +15 -14
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +1 -2
- package/lib/wrappers.d.ts +2 -1
- package/lib/wrappers.d.ts.map +1 -0
- package/lib/wrappers.js +4 -7
- package/lib/wrappers.js.map +1 -1
- package/package.json +63 -61
package/lib/decorators.js
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
|
-
|
|
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;
|
|
4
|
-
const interfaces_1 = require("./interfaces");
|
|
1
|
+
import { JsonValueConverter } from './interfaces.js';
|
|
5
2
|
/* eslint-disable prettier/prettier */
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
import { UuidConverter } from './converters.js';
|
|
4
|
+
import { DI } from '@spinajs/di';
|
|
5
|
+
import { RelationType, DatetimeValueConverter, SetValueConverter } from './interfaces.js';
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
import { extractModelDescriptor } from './model.js';
|
|
8
|
+
import { InvalidOperation, InvalidArgument } from '../../exceptions/lib/index.js';
|
|
9
|
+
export const MODEL_DESCTRIPTION_SYMBOL = Symbol.for('MODEL_DESCRIPTOR');
|
|
10
|
+
export const MIGRATION_DESCRIPTION_SYMBOL = Symbol.for('MIGRATION_DESCRIPTOR');
|
|
14
11
|
/**
|
|
15
12
|
* Helper func to create model metadata
|
|
16
13
|
*/
|
|
17
|
-
function extractDecoratorDescriptor(callback, base = false) {
|
|
14
|
+
export function extractDecoratorDescriptor(callback, base = false) {
|
|
18
15
|
return (target, propertyKey, indexOrDescriptor) => {
|
|
19
16
|
let metadata = null;
|
|
20
17
|
if (!base) {
|
|
21
|
-
metadata = target.constructor[
|
|
18
|
+
metadata = target.constructor[MODEL_DESCTRIPTION_SYMBOL];
|
|
22
19
|
}
|
|
23
20
|
else {
|
|
24
|
-
metadata = target[
|
|
21
|
+
metadata = target[MODEL_DESCTRIPTION_SYMBOL];
|
|
25
22
|
}
|
|
26
23
|
if (!metadata) {
|
|
27
24
|
metadata = {
|
|
@@ -51,10 +48,10 @@ function extractDecoratorDescriptor(callback, base = false) {
|
|
|
51
48
|
Schema: {},
|
|
52
49
|
};
|
|
53
50
|
if (!base) {
|
|
54
|
-
target.constructor[
|
|
51
|
+
target.constructor[MODEL_DESCTRIPTION_SYMBOL] = metadata;
|
|
55
52
|
}
|
|
56
53
|
else {
|
|
57
|
-
target[
|
|
54
|
+
target[MODEL_DESCTRIPTION_SYMBOL] = metadata;
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
57
|
if (callback) {
|
|
@@ -62,54 +59,50 @@ function extractDecoratorDescriptor(callback, base = false) {
|
|
|
62
59
|
}
|
|
63
60
|
};
|
|
64
61
|
}
|
|
65
|
-
exports.extractDecoratorDescriptor = extractDecoratorDescriptor;
|
|
66
62
|
/**
|
|
67
63
|
* Sets migration option
|
|
68
64
|
*
|
|
69
65
|
* @param connection - connection name, must exists in configuration file
|
|
70
66
|
*/
|
|
71
|
-
function Migration(connection) {
|
|
67
|
+
export function Migration(connection) {
|
|
72
68
|
return (target) => {
|
|
73
|
-
let metadata = target[
|
|
69
|
+
let metadata = target[MIGRATION_DESCRIPTION_SYMBOL];
|
|
74
70
|
if (!metadata) {
|
|
75
71
|
metadata = {
|
|
76
72
|
Connection: '',
|
|
77
73
|
};
|
|
78
|
-
target[
|
|
74
|
+
target[MIGRATION_DESCRIPTION_SYMBOL] = metadata;
|
|
79
75
|
}
|
|
80
76
|
metadata.Connection = connection;
|
|
81
|
-
|
|
77
|
+
DI.register(target).as('__migrations__');
|
|
82
78
|
};
|
|
83
79
|
}
|
|
84
|
-
exports.Migration = Migration;
|
|
85
80
|
/**
|
|
86
81
|
* Connection model decorator, assigns connection to model
|
|
87
82
|
*
|
|
88
83
|
* @param name - connection name, must be avaible in db config
|
|
89
84
|
*/
|
|
90
|
-
function Connection(name) {
|
|
85
|
+
export function Connection(name) {
|
|
91
86
|
return extractDecoratorDescriptor((model) => {
|
|
92
87
|
model.Connection = name;
|
|
93
88
|
}, true);
|
|
94
89
|
}
|
|
95
|
-
exports.Connection = Connection;
|
|
96
90
|
/**
|
|
97
91
|
* TableName model decorator, assigns table from database to model
|
|
98
92
|
*
|
|
99
93
|
* @param name - table name in database that is referred by this model
|
|
100
94
|
*/
|
|
101
|
-
function Model(tableName) {
|
|
95
|
+
export function Model(tableName) {
|
|
102
96
|
return extractDecoratorDescriptor((model, target) => {
|
|
103
|
-
|
|
97
|
+
DI.register(target).as('__models__');
|
|
104
98
|
model.TableName = tableName;
|
|
105
99
|
}, true);
|
|
106
100
|
}
|
|
107
|
-
exports.Model = Model;
|
|
108
101
|
/**
|
|
109
102
|
* Set create timestamps feature to model. Proper columns must be avaible in database table.
|
|
110
103
|
* It allow to track creation times & changes to model
|
|
111
104
|
*/
|
|
112
|
-
function CreatedAt() {
|
|
105
|
+
export function CreatedAt() {
|
|
113
106
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
114
107
|
const type = Reflect.getMetadata('design:type', target, propertyKey);
|
|
115
108
|
if (type.name !== 'DateTime') {
|
|
@@ -118,16 +111,15 @@ function CreatedAt() {
|
|
|
118
111
|
model.Timestamps.CreatedAt = propertyKey;
|
|
119
112
|
// add converter for this field
|
|
120
113
|
model.Converters.set(propertyKey, {
|
|
121
|
-
Class:
|
|
114
|
+
Class: DatetimeValueConverter,
|
|
122
115
|
});
|
|
123
116
|
});
|
|
124
117
|
}
|
|
125
|
-
exports.CreatedAt = CreatedAt;
|
|
126
118
|
/**
|
|
127
119
|
* Set update timestamps feature to model. Proper columns must be avaible in database table.
|
|
128
120
|
* It allow to track creation times & changes to model
|
|
129
121
|
*/
|
|
130
|
-
function UpdatedAt() {
|
|
122
|
+
export function UpdatedAt() {
|
|
131
123
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
132
124
|
const type = Reflect.getMetadata('design:type', target, propertyKey);
|
|
133
125
|
if (type.name !== 'DateTime') {
|
|
@@ -136,16 +128,15 @@ function UpdatedAt() {
|
|
|
136
128
|
model.Timestamps.UpdatedAt = propertyKey;
|
|
137
129
|
// add converter for this field
|
|
138
130
|
model.Converters.set(propertyKey, {
|
|
139
|
-
Class:
|
|
131
|
+
Class: DatetimeValueConverter,
|
|
140
132
|
});
|
|
141
133
|
});
|
|
142
134
|
}
|
|
143
|
-
exports.UpdatedAt = UpdatedAt;
|
|
144
135
|
/**
|
|
145
136
|
* Sets soft delete feature to model. Soft delete dont delete model, but sets deletion date and hides from
|
|
146
137
|
* select result by default.
|
|
147
138
|
*/
|
|
148
|
-
function SoftDelete() {
|
|
139
|
+
export function SoftDelete() {
|
|
149
140
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
150
141
|
const type = Reflect.getMetadata('design:type', target, propertyKey);
|
|
151
142
|
if (type.name !== 'DateTime') {
|
|
@@ -154,17 +145,16 @@ function SoftDelete() {
|
|
|
154
145
|
model.SoftDelete.DeletedAt = propertyKey;
|
|
155
146
|
// add converter for this field
|
|
156
147
|
model.Converters.set(propertyKey, {
|
|
157
|
-
Class:
|
|
148
|
+
Class: DatetimeValueConverter,
|
|
158
149
|
});
|
|
159
150
|
});
|
|
160
151
|
}
|
|
161
|
-
exports.SoftDelete = SoftDelete;
|
|
162
152
|
/**
|
|
163
153
|
* Enable archive mode for model. If enabled all changes creates new instance in DB and old have set archived field
|
|
164
154
|
* and gets attached to new model. It enabled to track changes to model in DB and also preserve data in relations.
|
|
165
155
|
*
|
|
166
156
|
*/
|
|
167
|
-
function Archived() {
|
|
157
|
+
export function Archived() {
|
|
168
158
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
169
159
|
const type = Reflect.getMetadata('design:type', target, propertyKey);
|
|
170
160
|
if (type.name !== 'DateTime') {
|
|
@@ -173,24 +163,22 @@ function Archived() {
|
|
|
173
163
|
model.Archived.ArchivedAt = propertyKey;
|
|
174
164
|
// add converter for this field
|
|
175
165
|
model.Converters.set(propertyKey, {
|
|
176
|
-
Class:
|
|
166
|
+
Class: DatetimeValueConverter,
|
|
177
167
|
});
|
|
178
168
|
});
|
|
179
169
|
}
|
|
180
|
-
exports.Archived = Archived;
|
|
181
170
|
/**
|
|
182
171
|
* Makrs field as primary key
|
|
183
172
|
*/
|
|
184
|
-
function Primary() {
|
|
173
|
+
export function Primary() {
|
|
185
174
|
return extractDecoratorDescriptor((model, _target, propertyKey) => {
|
|
186
175
|
model.PrimaryKey = propertyKey;
|
|
187
176
|
});
|
|
188
177
|
}
|
|
189
|
-
exports.Primary = Primary;
|
|
190
178
|
/**
|
|
191
179
|
* Marks columns as UUID. Column will be generated ad creation
|
|
192
180
|
*/
|
|
193
|
-
function Ignore() {
|
|
181
|
+
export function Ignore() {
|
|
194
182
|
return extractDecoratorDescriptor((model, _target, propertyKey) => {
|
|
195
183
|
const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
|
|
196
184
|
if (!columnDesc) {
|
|
@@ -202,11 +190,10 @@ function Ignore() {
|
|
|
202
190
|
}
|
|
203
191
|
}, true);
|
|
204
192
|
}
|
|
205
|
-
exports.Ignore = Ignore;
|
|
206
193
|
/**
|
|
207
194
|
* Marks columns as UUID. Column will be generated ad creation
|
|
208
195
|
*/
|
|
209
|
-
function Uuid() {
|
|
196
|
+
export function Uuid() {
|
|
210
197
|
return extractDecoratorDescriptor((model, _target, propertyKey) => {
|
|
211
198
|
const columnDesc = model.Columns.find((c) => c.Name === propertyKey);
|
|
212
199
|
if (!columnDesc) {
|
|
@@ -217,12 +204,11 @@ function Uuid() {
|
|
|
217
204
|
columnDesc.Uuid = true;
|
|
218
205
|
}
|
|
219
206
|
model.Converters.set(propertyKey, {
|
|
220
|
-
Class:
|
|
207
|
+
Class: UuidConverter,
|
|
221
208
|
});
|
|
222
209
|
}, true);
|
|
223
210
|
}
|
|
224
|
-
|
|
225
|
-
function JunctionTable() {
|
|
211
|
+
export function JunctionTable() {
|
|
226
212
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
227
213
|
model.JunctionModelProperties.push({
|
|
228
214
|
Name: propertyKey,
|
|
@@ -230,7 +216,6 @@ function JunctionTable() {
|
|
|
230
216
|
});
|
|
231
217
|
});
|
|
232
218
|
}
|
|
233
|
-
exports.JunctionTable = JunctionTable;
|
|
234
219
|
/**
|
|
235
220
|
*
|
|
236
221
|
* Marks model to have discrimination map.
|
|
@@ -238,7 +223,7 @@ exports.JunctionTable = JunctionTable;
|
|
|
238
223
|
* @param fieldName - db field name to look for
|
|
239
224
|
* @param discriminationMap - field - model mapping
|
|
240
225
|
*/
|
|
241
|
-
function DiscriminationMap(fieldName, discriminationMap) {
|
|
226
|
+
export function DiscriminationMap(fieldName, discriminationMap) {
|
|
242
227
|
return extractDecoratorDescriptor((model, _target, _propertyKey) => {
|
|
243
228
|
model.DiscriminationMap.Field = fieldName;
|
|
244
229
|
model.DiscriminationMap.Models = new Map();
|
|
@@ -247,70 +232,65 @@ function DiscriminationMap(fieldName, discriminationMap) {
|
|
|
247
232
|
});
|
|
248
233
|
}, true);
|
|
249
234
|
}
|
|
250
|
-
exports.DiscriminationMap = DiscriminationMap;
|
|
251
235
|
/**
|
|
252
236
|
* Marks relation as recursive. When relation is populated it loads all to the top
|
|
253
237
|
*
|
|
254
238
|
*/
|
|
255
|
-
function Recursive() {
|
|
239
|
+
export function Recursive() {
|
|
256
240
|
return extractDecoratorDescriptor((model, _target, propertyKey) => {
|
|
257
241
|
if (!model.Relations.has(propertyKey)) {
|
|
258
|
-
throw new
|
|
242
|
+
throw new InvalidOperation(`cannot set recursive on not existing relation ( relation ${propertyKey} on model ${model.Name} )`);
|
|
259
243
|
}
|
|
260
244
|
const relation = model.Relations.get(propertyKey);
|
|
261
|
-
if (relation.Type !==
|
|
262
|
-
throw new
|
|
245
|
+
if (relation.Type !== RelationType.One) {
|
|
246
|
+
throw new InvalidOperation(`cannot set recursive on non one-to-one relation ( relation ${propertyKey} on model ${model.Name} )`);
|
|
263
247
|
}
|
|
264
248
|
relation.Recursive = true;
|
|
265
249
|
});
|
|
266
250
|
}
|
|
267
|
-
|
|
268
|
-
const forwardRef = (fn) => ({
|
|
251
|
+
export const forwardRef = (fn) => ({
|
|
269
252
|
forwardRef: fn,
|
|
270
253
|
});
|
|
271
|
-
exports.forwardRef = forwardRef;
|
|
272
254
|
/**
|
|
273
255
|
* Creates one to one relation with target model.
|
|
274
256
|
*
|
|
275
257
|
* @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
|
|
276
258
|
* @param primaryKey - primary key in related model, defaults to primary key taken from db
|
|
277
259
|
*/
|
|
278
|
-
function BelongsTo(targetModel, foreignKey, primaryKey) {
|
|
260
|
+
export function BelongsTo(targetModel, foreignKey, primaryKey) {
|
|
279
261
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
280
262
|
model.Relations.set(propertyKey, {
|
|
281
263
|
Name: propertyKey,
|
|
282
|
-
Type:
|
|
264
|
+
Type: RelationType.One,
|
|
283
265
|
SourceModel: target.constructor,
|
|
284
266
|
TargetModelType: targetModel,
|
|
285
267
|
TargetModel: null,
|
|
286
|
-
ForeignKey: foreignKey
|
|
287
|
-
PrimaryKey: primaryKey
|
|
268
|
+
ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
|
|
269
|
+
PrimaryKey: primaryKey ?? model.PrimaryKey,
|
|
288
270
|
Recursive: false,
|
|
289
271
|
});
|
|
290
272
|
});
|
|
291
273
|
}
|
|
292
|
-
exports.BelongsTo = BelongsTo;
|
|
293
274
|
/**
|
|
294
275
|
* Creates one to one relation with target model.
|
|
295
276
|
*
|
|
296
277
|
* @param foreignKey - foreign key name in db, defaults to lowercase property name with _id suffix eg. owner_id
|
|
297
278
|
* @param primaryKey - primary key in related model, defaults to primary key taken from db
|
|
298
279
|
*/
|
|
299
|
-
function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
|
|
280
|
+
export function ForwardBelongsTo(forwardRef, foreignKey, primaryKey) {
|
|
300
281
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
301
282
|
model.Relations.set(propertyKey, {
|
|
302
283
|
Name: propertyKey,
|
|
303
|
-
Type:
|
|
284
|
+
Type: RelationType.One,
|
|
304
285
|
SourceModel: target.constructor,
|
|
305
286
|
TargetModelType: forwardRef.forwardRef,
|
|
306
287
|
TargetModel: null,
|
|
307
|
-
ForeignKey: foreignKey
|
|
308
|
-
PrimaryKey: primaryKey
|
|
288
|
+
ForeignKey: foreignKey ?? `${propertyKey.toLowerCase()}_id`,
|
|
289
|
+
PrimaryKey: primaryKey ?? model.PrimaryKey,
|
|
309
290
|
Recursive: false,
|
|
310
291
|
});
|
|
311
292
|
});
|
|
312
293
|
}
|
|
313
|
-
exports.ForwardBelongsTo = ForwardBelongsTo;
|
|
314
294
|
/**
|
|
315
295
|
* Creates one to many relation with target model.
|
|
316
296
|
*
|
|
@@ -319,29 +299,27 @@ exports.ForwardBelongsTo = ForwardBelongsTo;
|
|
|
319
299
|
* @param primaryKey - primary key in source table defaults to lowercase property name with _id suffix eg. owner_id
|
|
320
300
|
*
|
|
321
301
|
*/
|
|
322
|
-
function HasMany(targetModel, options) {
|
|
302
|
+
export function HasMany(targetModel, options) {
|
|
323
303
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
324
|
-
var _a, _b;
|
|
325
304
|
model.Relations.set(propertyKey, {
|
|
326
305
|
Name: propertyKey,
|
|
327
|
-
Type:
|
|
306
|
+
Type: RelationType.Many,
|
|
328
307
|
SourceModel: target.constructor,
|
|
329
308
|
TargetModelType: targetModel,
|
|
330
309
|
TargetModel: null,
|
|
331
|
-
ForeignKey: options ?
|
|
332
|
-
PrimaryKey: options ?
|
|
310
|
+
ForeignKey: options ? options.foreignKey ?? `${model.Name.toLowerCase()}_id` : `${model.Name.toLowerCase()}_id`,
|
|
311
|
+
PrimaryKey: options ? options.primaryKey ?? model.PrimaryKey : model.PrimaryKey,
|
|
333
312
|
Recursive: false,
|
|
334
313
|
Factory: options ? options.factory : null,
|
|
335
314
|
RelationClass: options ? options.type : null,
|
|
336
315
|
});
|
|
337
316
|
});
|
|
338
317
|
}
|
|
339
|
-
|
|
340
|
-
function Historical(targetModel) {
|
|
318
|
+
export function Historical(targetModel) {
|
|
341
319
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
342
320
|
model.Relations.set(propertyKey, {
|
|
343
321
|
Name: propertyKey,
|
|
344
|
-
Type:
|
|
322
|
+
Type: RelationType.Many,
|
|
345
323
|
SourceModel: target.constructor,
|
|
346
324
|
TargetModelType: targetModel,
|
|
347
325
|
TargetModel: null,
|
|
@@ -351,7 +329,6 @@ function Historical(targetModel) {
|
|
|
351
329
|
});
|
|
352
330
|
});
|
|
353
331
|
}
|
|
354
|
-
exports.Historical = Historical;
|
|
355
332
|
/**
|
|
356
333
|
* Creates many to many relation with separate join table
|
|
357
334
|
*
|
|
@@ -362,58 +339,55 @@ exports.Historical = Historical;
|
|
|
362
339
|
* @param junctionModelTargetPk - junction table target primary key name ( foreign key for target model )
|
|
363
340
|
* @param junctionModelSourcePk - junction table source primary key name ( foreign key for source model )
|
|
364
341
|
*/
|
|
365
|
-
function HasManyToMany(junctionModel, targetModel, targetModelPKey, sourceModelPKey, junctionModelTargetPk, junctionModelSourcePk) {
|
|
342
|
+
export function HasManyToMany(junctionModel, targetModel, targetModelPKey, sourceModelPKey, junctionModelTargetPk, junctionModelSourcePk) {
|
|
366
343
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
367
|
-
const targetModelDescriptor =
|
|
344
|
+
const targetModelDescriptor = extractModelDescriptor(targetModel);
|
|
368
345
|
model.Relations.set(propertyKey, {
|
|
369
346
|
Name: propertyKey,
|
|
370
347
|
Recursive: false,
|
|
371
|
-
Type:
|
|
348
|
+
Type: RelationType.ManyToMany,
|
|
372
349
|
SourceModel: target.constructor,
|
|
373
350
|
TargetModelType: targetModel,
|
|
374
351
|
TargetModel: null,
|
|
375
|
-
ForeignKey: targetModelPKey
|
|
376
|
-
PrimaryKey: sourceModelPKey
|
|
352
|
+
ForeignKey: targetModelPKey ?? targetModelDescriptor.PrimaryKey,
|
|
353
|
+
PrimaryKey: sourceModelPKey ?? model.PrimaryKey,
|
|
377
354
|
JunctionModel: junctionModel,
|
|
378
|
-
JunctionModelTargetModelFKey_Name: junctionModelTargetPk
|
|
379
|
-
JunctionModelSourceModelFKey_Name: junctionModelSourcePk
|
|
355
|
+
JunctionModelTargetModelFKey_Name: junctionModelTargetPk ?? `${targetModelDescriptor.Name.toLowerCase()}_id`,
|
|
356
|
+
JunctionModelSourceModelFKey_Name: junctionModelSourcePk ?? `${model.Name.toLowerCase()}_id`,
|
|
380
357
|
});
|
|
381
358
|
});
|
|
382
359
|
}
|
|
383
|
-
exports.HasManyToMany = HasManyToMany;
|
|
384
360
|
/**
|
|
385
361
|
* Mark field as datetime type. It will ensure that conversion to & from DB is valid, eg. sqlite DB
|
|
386
362
|
* saves datetime as TEXT and ISO8601 strings
|
|
387
363
|
*/
|
|
388
|
-
function DateTime() {
|
|
364
|
+
export function DateTime() {
|
|
389
365
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
390
366
|
const type = Reflect.getMetadata('design:type', target, propertyKey);
|
|
391
367
|
if (type.name !== 'DateTime') {
|
|
392
368
|
throw Error(`Proprety ${propertyKey} must be DateTime type`);
|
|
393
369
|
}
|
|
394
370
|
if (model.Converters.has(propertyKey)) {
|
|
395
|
-
throw new
|
|
371
|
+
throw new InvalidArgument(`property ${propertyKey} already have data converter attached`);
|
|
396
372
|
}
|
|
397
373
|
model.Converters.set(propertyKey, {
|
|
398
|
-
Class:
|
|
374
|
+
Class: DatetimeValueConverter,
|
|
399
375
|
});
|
|
400
376
|
});
|
|
401
377
|
}
|
|
402
|
-
exports.DateTime = DateTime;
|
|
403
378
|
/**
|
|
404
379
|
* Converts data in db to json object. Column type in DB should be STRING.
|
|
405
380
|
* DO not use this decorator for use of native DB JSON implementation.
|
|
406
381
|
* ORM will detect automatically if field is native JSON DB type.
|
|
407
382
|
*/
|
|
408
|
-
function Json() {
|
|
383
|
+
export function Json() {
|
|
409
384
|
return extractDecoratorDescriptor((model, _, propertyKey) => {
|
|
410
385
|
// add converter for this field
|
|
411
386
|
model.Converters.set(propertyKey, {
|
|
412
|
-
Class:
|
|
387
|
+
Class: JsonValueConverter,
|
|
413
388
|
});
|
|
414
389
|
});
|
|
415
390
|
}
|
|
416
|
-
exports.Json = Json;
|
|
417
391
|
/**
|
|
418
392
|
*
|
|
419
393
|
* Universal converter that guess whitch type to return. Usefull in tables that holds as text different values
|
|
@@ -421,34 +395,32 @@ exports.Json = Json;
|
|
|
421
395
|
*
|
|
422
396
|
* @param typeColumn - type column that defines final type of value
|
|
423
397
|
*/
|
|
424
|
-
function UniversalConverter(typeColumn) {
|
|
398
|
+
export function UniversalConverter(typeColumn) {
|
|
425
399
|
return extractDecoratorDescriptor((model, _, propertyKey) => {
|
|
426
400
|
// add converter for this field
|
|
427
401
|
model.Converters.set(propertyKey, {
|
|
428
|
-
Class:
|
|
402
|
+
Class: JsonValueConverter,
|
|
429
403
|
Options: {
|
|
430
404
|
TypeColumn: typeColumn,
|
|
431
405
|
},
|
|
432
406
|
});
|
|
433
407
|
});
|
|
434
408
|
}
|
|
435
|
-
exports.UniversalConverter = UniversalConverter;
|
|
436
409
|
/**
|
|
437
410
|
* Mark field as SET type. It will ensure that conversion to & from DB is valid, eg. to emulate field type SET in sqlite
|
|
438
411
|
*/
|
|
439
|
-
function Set() {
|
|
412
|
+
export function Set() {
|
|
440
413
|
return extractDecoratorDescriptor((model, target, propertyKey) => {
|
|
441
414
|
const type = Reflect.getMetadata('design:type', target, propertyKey);
|
|
442
415
|
if (type.name !== 'Array') {
|
|
443
416
|
throw Error(`Proprety ${propertyKey} must be an array type`);
|
|
444
417
|
}
|
|
445
418
|
if (model.Converters.has(propertyKey)) {
|
|
446
|
-
throw new
|
|
419
|
+
throw new InvalidArgument(`property ${propertyKey} already have data converter attached`);
|
|
447
420
|
}
|
|
448
421
|
model.Converters.set(propertyKey, {
|
|
449
|
-
Class:
|
|
422
|
+
Class: SetValueConverter,
|
|
450
423
|
});
|
|
451
424
|
});
|
|
452
425
|
}
|
|
453
|
-
exports.Set = Set;
|
|
454
426
|
//# sourceMappingURL=decorators.js.map
|
package/lib/decorators.js.map
CHANGED
|
@@ -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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"}
|
package/lib/dehydrators.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModelBase } from './model';
|
|
1
|
+
import { ModelBase } from './model.js';
|
|
2
2
|
export declare abstract class ModelDehydrator {
|
|
3
3
|
abstract dehydrate(model: ModelBase, omit?: string[]): any;
|
|
4
4
|
}
|
|
@@ -8,3 +8,4 @@ export declare class StandardModelDehydrator extends ModelDehydrator {
|
|
|
8
8
|
export declare class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
|
|
9
9
|
dehydrate(model: ModelBase<unknown>, omit?: string[]): any;
|
|
10
10
|
}
|
|
11
|
+
//# sourceMappingURL=dehydrators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dehydrators.d.ts","sourceRoot":"","sources":["../src/dehydrators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,8BAAsB,eAAe;aACnB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG;CAClE;AAED,qBAAa,uBAAwB,SAAQ,eAAe;IACnD,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;CAmBnD;AAED,qBAAa,oCAAqC,SAAQ,uBAAuB;IACxE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG;CAoBlE"}
|
package/lib/dehydrators.js
CHANGED
|
@@ -1,42 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const exceptions_1 = require("./exceptions");
|
|
5
|
-
const interfaces_1 = require("./interfaces");
|
|
6
|
-
class ModelDehydrator {
|
|
1
|
+
import { OrmException } from './exceptions.js';
|
|
2
|
+
import { RelationType } from './interfaces.js';
|
|
3
|
+
export class ModelDehydrator {
|
|
7
4
|
}
|
|
8
|
-
|
|
9
|
-
class StandardModelDehydrator extends ModelDehydrator {
|
|
5
|
+
export class StandardModelDehydrator extends ModelDehydrator {
|
|
10
6
|
dehydrate(model, omit) {
|
|
11
|
-
var _a;
|
|
12
7
|
const obj = {};
|
|
13
8
|
const relArr = [...model.ModelDescriptor.Relations.values()];
|
|
14
|
-
|
|
9
|
+
model.ModelDescriptor.Columns?.forEach((c) => {
|
|
15
10
|
// if in omit list OR it is foreign key for relation - skip
|
|
16
11
|
if ((omit && omit.indexOf(c.Name) !== -1) || (relArr.find((r) => r.ForeignKey === c.Name) && !c.PrimaryKey)) {
|
|
17
12
|
return;
|
|
18
13
|
}
|
|
19
14
|
const val = model[c.Name];
|
|
20
15
|
if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
|
|
21
|
-
throw new
|
|
16
|
+
throw new OrmException(`Field ${c.Name} cannot be null`);
|
|
22
17
|
}
|
|
23
18
|
obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, null) : val;
|
|
24
19
|
});
|
|
25
20
|
return obj;
|
|
26
21
|
}
|
|
27
22
|
}
|
|
28
|
-
|
|
29
|
-
class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
|
|
23
|
+
export class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
|
|
30
24
|
dehydrate(model, omit) {
|
|
31
25
|
const obj = super.dehydrate(model, omit);
|
|
32
26
|
const relArr = [...model.ModelDescriptor.Relations.values()];
|
|
33
27
|
for (const val of relArr) {
|
|
34
|
-
if (val.Type ===
|
|
28
|
+
if (val.Type === RelationType.One) {
|
|
35
29
|
if (model[val.Name].Value) {
|
|
36
30
|
obj[val.Name] = model[val.Name].Value.dehydrateWithRelations();
|
|
37
31
|
}
|
|
38
32
|
}
|
|
39
|
-
if (val.Type ===
|
|
33
|
+
if (val.Type === RelationType.Many) {
|
|
40
34
|
if (model[val.Name]) {
|
|
41
35
|
obj[val.Name] = [...model[val.Name].map((x) => x.dehydrateWithRelations())];
|
|
42
36
|
}
|
|
@@ -45,5 +39,4 @@ class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
|
|
|
45
39
|
return obj;
|
|
46
40
|
}
|
|
47
41
|
}
|
|
48
|
-
exports.StandardModelWithRelationsDehydrator = StandardModelWithRelationsDehydrator;
|
|
49
42
|
//# sourceMappingURL=dehydrators.js.map
|
package/lib/dehydrators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dehydrators.js","sourceRoot":"","sources":["../src/dehydrators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dehydrators.js","sourceRoot":"","sources":["../src/dehydrators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,MAAM,OAAgB,eAAe;CAEpC;AAED,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IACnD,SAAS,CAAC,KAAgB,EAAE,IAAe;QAChD,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,2DAA2D;YAC3D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;gBAC3G,OAAO;aACR;YAED,MAAM,GAAG,GAAI,KAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE;gBACrF,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;aAC1D;YACA,GAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,OAAO,oCAAqC,SAAQ,uBAAuB;IACxE,SAAS,CAAC,KAAyB,EAAE,IAAe;QACzD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,EAAE;gBACjC,IAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;oBACjC,GAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;iBAClF;aACF;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE;gBAClC,IAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC3B,GAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;iBAC7H;aACF;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
|
package/lib/driver.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Log } from '@spinajs/log';
|
|
2
|
-
import { IColumnDescriptor, IDriverOptions, QueryContext } from './interfaces';
|
|
2
|
+
import { IColumnDescriptor, IDriverOptions, QueryContext } from './interfaces.js';
|
|
3
3
|
import { SyncService, IContainer, Container } from '@spinajs/di';
|
|
4
|
-
import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder, QueryBuilder, TruncateTableQueryBuilder } from './builders';
|
|
5
|
-
import './hydrators';
|
|
6
|
-
import './dehydrators';
|
|
7
|
-
export
|
|
4
|
+
import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder, QueryBuilder, TruncateTableQueryBuilder } from './builders.js';
|
|
5
|
+
import './hydrators.js';
|
|
6
|
+
import './dehydrators.js';
|
|
7
|
+
export type TransactionCallback = (driver: OrmDriver) => Promise<any>;
|
|
8
8
|
export declare abstract class OrmDriver extends SyncService {
|
|
9
9
|
/**
|
|
10
10
|
* Connection options
|
|
@@ -80,3 +80,4 @@ export declare abstract class OrmDriver extends SyncService {
|
|
|
80
80
|
*/
|
|
81
81
|
abstract transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<void>;
|
|
82
82
|
}
|
|
83
|
+
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAA6C,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EAAE,WAAW,EAAE,UAAU,EAAM,SAAS,EAAc,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/L,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAE1B,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEtE,8BAAsB,SAAU,SAAQ,WAAW;IACjD;;OAEG;IACI,OAAO,EAAE,cAAc,CAK5B;IAEK,SAAS,EAAE,UAAU,CAAC;IAG7B,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEP,OAAO,EAAE,cAAc;IAKnC;;;;;;OAMG;aACa,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IAE1G;;;OAGG;aACa,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;OAGG;aACa,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAE7C;;OAEG;aACa,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;aAEhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE/E,OAAO;IAWd;;;OAGG;IACI,MAAM,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;IAIzC;;;OAGG;IACI,GAAG,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;IAItC;;;OAGG;IACI,MAAM,IAAI,kBAAkB;IAInC;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,yBAAyB;IAMzD;;;OAGG;IACI,MAAM,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;IAIzC;;;OAGG;IACI,MAAM,IAAI,kBAAkB;IAInC;;;OAGG;IACI,KAAK,IAAI,iBAAiB;IAIjC;;;;;OAKG;aACa,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CACnG"}
|