@spinajs/orm 1.2.77 → 1.2.83
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/lib/builders.d.ts +131 -32
- package/lib/builders.js +320 -101
- package/lib/builders.js.map +1 -1
- package/lib/dehydrators.d.ts +7 -0
- package/lib/dehydrators.js +31 -0
- package/lib/dehydrators.js.map +1 -0
- package/lib/driver.d.ts +5 -1
- package/lib/driver.js +11 -0
- package/lib/driver.js.map +1 -1
- package/lib/enums.d.ts +4 -1
- package/lib/enums.js +19 -17
- package/lib/enums.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +8 -1
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +69 -17
- package/lib/interfaces.js +49 -8
- package/lib/interfaces.js.map +1 -1
- package/lib/model.d.ts +65 -8
- package/lib/model.js +265 -90
- package/lib/model.js.map +1 -1
- package/lib/orm.js +27 -4
- package/lib/orm.js.map +1 -1
- package/lib/relations.d.ts +1 -1
- package/lib/relations.js +34 -11
- package/lib/relations.js.map +1 -1
- package/lib/statements.d.ts +3 -3
- package/lib/statements.js +24 -1
- package/lib/statements.js.map +1 -1
- package/package.json +8 -8
package/lib/model.js
CHANGED
|
@@ -1,17 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.MODEL_STATIC_MIXINS = exports.ModelBase = exports.extractModelDescriptor = void 0;
|
|
4
27
|
/* eslint-disable prettier/prettier */
|
|
5
28
|
const relations_1 = require("./relations");
|
|
29
|
+
const enums_1 = require("./enums");
|
|
6
30
|
const decorators_1 = require("./decorators");
|
|
7
31
|
const interfaces_1 = require("./interfaces");
|
|
8
32
|
const builders_1 = require("./builders");
|
|
9
33
|
const di_1 = require("@spinajs/di");
|
|
10
34
|
const orm_1 = require("./orm");
|
|
11
35
|
const hydrators_1 = require("./hydrators");
|
|
12
|
-
const _ = require("lodash");
|
|
36
|
+
const _ = __importStar(require("lodash"));
|
|
13
37
|
const uuid_1 = require("uuid");
|
|
14
38
|
const exceptions_1 = require("./exceptions");
|
|
39
|
+
const dehydrators_1 = require("./dehydrators");
|
|
15
40
|
function extractModelDescriptor(targetOrForward) {
|
|
16
41
|
const target = !(0, di_1.isConstructor)(targetOrForward) && targetOrForward ? targetOrForward() : targetOrForward;
|
|
17
42
|
if (!target) {
|
|
@@ -42,12 +67,35 @@ function extractModelDescriptor(targetOrForward) {
|
|
|
42
67
|
}
|
|
43
68
|
exports.extractModelDescriptor = extractModelDescriptor;
|
|
44
69
|
class ModelBase {
|
|
70
|
+
constructor(data) {
|
|
71
|
+
this.setDefaults();
|
|
72
|
+
if (data) {
|
|
73
|
+
Object.assign(this, data);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
45
76
|
/**
|
|
46
77
|
* Gets descriptor for this model. It contains information about relations, orm driver, connection properties,
|
|
47
78
|
* db table attached, column information and others.
|
|
48
79
|
*/
|
|
49
80
|
get ModelDescriptor() {
|
|
50
|
-
|
|
81
|
+
if (!this._descriptor) {
|
|
82
|
+
this._descriptor = extractModelDescriptor(this.constructor);
|
|
83
|
+
}
|
|
84
|
+
return this._descriptor;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Gets di container associated with this model ( via connection object eg. different drivers have their own implementation of things)
|
|
88
|
+
*/
|
|
89
|
+
get Container() {
|
|
90
|
+
if (!this._container) {
|
|
91
|
+
const orm = di_1.DI.get(orm_1.Orm);
|
|
92
|
+
const driver = orm.Connections.get(this.ModelDescriptor.Connection);
|
|
93
|
+
if (!driver) {
|
|
94
|
+
throw new Error(`model ${this.constructor.name} have invalid connection ${this.ModelDescriptor.Connection}, please check your db config file or model connection name`);
|
|
95
|
+
}
|
|
96
|
+
this._container = driver.Container;
|
|
97
|
+
}
|
|
98
|
+
return this._container;
|
|
51
99
|
}
|
|
52
100
|
get PrimaryKeyName() {
|
|
53
101
|
return this.ModelDescriptor.PrimaryKey;
|
|
@@ -85,16 +133,9 @@ class ModelBase {
|
|
|
85
133
|
*
|
|
86
134
|
* @param _data - data to insert
|
|
87
135
|
*/
|
|
88
|
-
static insert(_data) {
|
|
136
|
+
static insert(_data, _insertBehaviour = interfaces_1.InsertBehaviour.None) {
|
|
89
137
|
throw Error('Not implemented');
|
|
90
138
|
}
|
|
91
|
-
/**
|
|
92
|
-
* Search entities in db
|
|
93
|
-
*
|
|
94
|
-
* @param column - column to search or function
|
|
95
|
-
* @param operator - boolean operator
|
|
96
|
-
* @param value - value to compare
|
|
97
|
-
*/
|
|
98
139
|
static where(_column, _operator, _value) {
|
|
99
140
|
throw Error('Not implemented');
|
|
100
141
|
}
|
|
@@ -112,6 +153,21 @@ class ModelBase {
|
|
|
112
153
|
static find(_pks) {
|
|
113
154
|
throw Error('Not implemented');
|
|
114
155
|
}
|
|
156
|
+
static first() {
|
|
157
|
+
throw Error('Not implemented');
|
|
158
|
+
}
|
|
159
|
+
static last() {
|
|
160
|
+
throw Error('Not implemented');
|
|
161
|
+
}
|
|
162
|
+
static newest() {
|
|
163
|
+
throw Error('Not implemented');
|
|
164
|
+
}
|
|
165
|
+
static oldest() {
|
|
166
|
+
throw Error('Not implemented');
|
|
167
|
+
}
|
|
168
|
+
static count() {
|
|
169
|
+
throw Error('Not implemented');
|
|
170
|
+
}
|
|
115
171
|
/**
|
|
116
172
|
* Tries to find all models in db. If not all exists, throws exception
|
|
117
173
|
*/
|
|
@@ -173,19 +229,13 @@ class ModelBase {
|
|
|
173
229
|
static destroy(_pk) {
|
|
174
230
|
throw Error('Not implemented');
|
|
175
231
|
}
|
|
176
|
-
constructor(data) {
|
|
177
|
-
this.setDefaults();
|
|
178
|
-
if (data) {
|
|
179
|
-
Object.assign(this, data);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
232
|
/**
|
|
183
233
|
* Fills model with data. It only fills properties that exists in database
|
|
184
234
|
*
|
|
185
235
|
* @param data - data to fill
|
|
186
236
|
*/
|
|
187
237
|
hydrate(data) {
|
|
188
|
-
|
|
238
|
+
this.Container.resolve(Array.ofType(hydrators_1.ModelHydrator)).forEach((h) => h.hydrate(this, data));
|
|
189
239
|
}
|
|
190
240
|
/**
|
|
191
241
|
*
|
|
@@ -215,23 +265,7 @@ class ModelBase {
|
|
|
215
265
|
* Extracts all data from model. It takes only properties that exists in DB
|
|
216
266
|
*/
|
|
217
267
|
dehydrate() {
|
|
218
|
-
|
|
219
|
-
const obj = {};
|
|
220
|
-
(_a = this.ModelDescriptor.Columns) === null || _a === void 0 ? void 0 : _a.forEach((c) => {
|
|
221
|
-
const val = this[c.Name];
|
|
222
|
-
if (c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
|
|
223
|
-
throw new exceptions_1.OrmException(`Field ${c.Name} cannot be null`);
|
|
224
|
-
}
|
|
225
|
-
obj[c.Name] = c.Converter ? c.Converter.toDB(val) : val;
|
|
226
|
-
});
|
|
227
|
-
for (const [, val] of this.ModelDescriptor.Relations) {
|
|
228
|
-
if (val.Type === interfaces_1.RelationType.One) {
|
|
229
|
-
if (this[val.Name]) {
|
|
230
|
-
obj[val.ForeignKey] = this[val.Name].PrimaryKeyValue;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
return obj;
|
|
268
|
+
return this.Container.resolve(dehydrators_1.ModelDehydrator).dehydrate(this);
|
|
235
269
|
}
|
|
236
270
|
/**
|
|
237
271
|
* deletes enitt from db. If model have SoftDelete decorator, model is marked as deleted
|
|
@@ -242,6 +276,19 @@ class ModelBase {
|
|
|
242
276
|
}
|
|
243
277
|
await this.constructor.destroy(this.PrimaryKeyValue);
|
|
244
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* If model can be in achived state - sets archived at date and saves it to db
|
|
281
|
+
*/
|
|
282
|
+
async archive() {
|
|
283
|
+
const { query } = _createQuery(this.constructor, builders_1.UpdateQueryBuilder);
|
|
284
|
+
if (this.ModelDescriptor.Archived) {
|
|
285
|
+
this[this.ModelDescriptor.Archived.ArchivedAt] = new Date();
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
throw new exceptions_1.OrmException('archived at column not exists in model');
|
|
289
|
+
}
|
|
290
|
+
await query.update(this.dehydrate()).where(this.PrimaryKeyName, this.PrimaryKeyValue);
|
|
291
|
+
}
|
|
245
292
|
async update() {
|
|
246
293
|
const { query } = _createQuery(this.constructor, builders_1.UpdateQueryBuilder);
|
|
247
294
|
if (this.ModelDescriptor.Timestamps.UpdatedAt) {
|
|
@@ -254,49 +301,59 @@ class ModelBase {
|
|
|
254
301
|
* primary key exists
|
|
255
302
|
*/
|
|
256
303
|
async insert(insertBehaviour = interfaces_1.InsertBehaviour.None) {
|
|
257
|
-
var _a;
|
|
258
|
-
const self = this;
|
|
259
304
|
const { query, description } = _createQuery(this.constructor, builders_1.InsertQueryBuilder);
|
|
260
305
|
switch (insertBehaviour) {
|
|
261
|
-
case interfaces_1.InsertBehaviour.
|
|
262
|
-
query.
|
|
306
|
+
case interfaces_1.InsertBehaviour.InsertOrIgnore:
|
|
307
|
+
query.orIgnore();
|
|
263
308
|
break;
|
|
264
|
-
case interfaces_1.InsertBehaviour.
|
|
309
|
+
case interfaces_1.InsertBehaviour.InsertOrUpdate:
|
|
265
310
|
query.onDuplicate().update(description.Columns.filter((c) => !c.PrimaryKey).map((c) => c.Name));
|
|
266
311
|
break;
|
|
312
|
+
case interfaces_1.InsertBehaviour.InsertOrReplace:
|
|
313
|
+
query.orReplace();
|
|
314
|
+
break;
|
|
267
315
|
}
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
// based on unique column constrains
|
|
280
|
-
const { query, description } = _createQuery(this.constructor, builders_1.SelectQueryBuilder, false);
|
|
281
|
-
const idRes = await query
|
|
282
|
-
.columns([this.PrimaryKeyName])
|
|
283
|
-
.where(function () {
|
|
284
|
-
description.Columns.filter((c) => c.Unique).forEach((c) => {
|
|
285
|
-
this.where(c, self[c.Name]);
|
|
286
|
-
});
|
|
287
|
-
})
|
|
288
|
-
.first();
|
|
289
|
-
this.PrimaryKeyValue = idRes[this.PrimaryKeyName];
|
|
290
|
-
}
|
|
291
|
-
else {
|
|
292
|
-
this.PrimaryKeyValue = (_a = this.PrimaryKeyValue) !== null && _a !== void 0 ? _a : id;
|
|
293
|
-
}
|
|
316
|
+
const iMidleware = {
|
|
317
|
+
afterQuery: (data) => {
|
|
318
|
+
var _a;
|
|
319
|
+
this.PrimaryKeyValue = (_a = this.PrimaryKeyValue) !== null && _a !== void 0 ? _a : data.LastInsertId;
|
|
320
|
+
return data;
|
|
321
|
+
},
|
|
322
|
+
modelCreation: () => null,
|
|
323
|
+
afterHydration: () => null,
|
|
324
|
+
};
|
|
325
|
+
query.middleware(iMidleware);
|
|
326
|
+
return query.values(this.dehydrate());
|
|
294
327
|
}
|
|
295
328
|
/**
|
|
296
329
|
* Gets model data from database and returns as fresh instance.
|
|
330
|
+
*
|
|
331
|
+
* If primary key is not fetched, tries to load by columns with unique constraint.
|
|
332
|
+
* If there is no unique columns or primary key, throws error
|
|
297
333
|
*/
|
|
298
334
|
async fresh() {
|
|
299
|
-
|
|
335
|
+
const { query, description } = _createQuery(this.constructor, builders_1.SelectQueryBuilder);
|
|
336
|
+
query.select('*');
|
|
337
|
+
_preparePkWhere(description, query, this);
|
|
338
|
+
_prepareOrderBy(description, query);
|
|
339
|
+
return await query.firstOrFail();
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Refresh model from database.
|
|
343
|
+
*
|
|
344
|
+
* If no primary key is set, tries to fetch data base on columns
|
|
345
|
+
* with unique constraints. If none exists, throws exception
|
|
346
|
+
*/
|
|
347
|
+
async refresh() {
|
|
348
|
+
let model = null;
|
|
349
|
+
const { query, description } = _createQuery(this.constructor, builders_1.SelectQueryBuilder);
|
|
350
|
+
query.select('*');
|
|
351
|
+
_preparePkWhere(description, query, this);
|
|
352
|
+
_prepareOrderBy(description, query);
|
|
353
|
+
model = await query.firstOrFail();
|
|
354
|
+
for (const c of this.ModelDescriptor.Columns) {
|
|
355
|
+
this[c.Name] = model[c.Name];
|
|
356
|
+
}
|
|
300
357
|
}
|
|
301
358
|
/**
|
|
302
359
|
* sets default values for model. values are taken from DB default column prop
|
|
@@ -331,6 +388,40 @@ exports.ModelBase = ModelBase;
|
|
|
331
388
|
function _descriptor(model) {
|
|
332
389
|
return model[decorators_1.MODEL_DESCTRIPTION_SYMBOL];
|
|
333
390
|
}
|
|
391
|
+
function _preparePkWhere(description, query, model) {
|
|
392
|
+
if (description.PrimaryKey) {
|
|
393
|
+
query.where(description.PrimaryKey, model.PrimaryKeyValue);
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
const unique = description.Columns.filter((x) => x.Unique);
|
|
397
|
+
if (unique.length !== 0) {
|
|
398
|
+
for (const c of unique) {
|
|
399
|
+
query.where(c.Name, '=', model[c.Name]);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
throw new exceptions_1.OrmException('Model dont have primary key set or columns with unique constraint, cannot fetch model from database');
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
function _prepareOrderBy(description, query, order) {
|
|
408
|
+
var _a, _b;
|
|
409
|
+
if (description.PrimaryKey) {
|
|
410
|
+
query.order(description.PrimaryKey, order !== null && order !== void 0 ? order : enums_1.SORT_ORDER.DESC);
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
const unique = description.Columns.filter((c) => c.Unique);
|
|
414
|
+
if (unique.length !== 0) {
|
|
415
|
+
unique.forEach((c) => query.order(c.Name, order !== null && order !== void 0 ? order : enums_1.SORT_ORDER.DESC));
|
|
416
|
+
}
|
|
417
|
+
else if ((_a = description.Timestamps) === null || _a === void 0 ? void 0 : _a.CreatedAt) {
|
|
418
|
+
query.order(description.Timestamps.CreatedAt, order !== null && order !== void 0 ? order : enums_1.SORT_ORDER.DESC);
|
|
419
|
+
}
|
|
420
|
+
else if ((_b = description.Timestamps) === null || _b === void 0 ? void 0 : _b.UpdatedAt) {
|
|
421
|
+
query.order(description.Timestamps.UpdatedAt, order !== null && order !== void 0 ? order : enums_1.SORT_ORDER.DESC);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
334
425
|
function _createQuery(model, query, injectModel = true) {
|
|
335
426
|
const dsc = _descriptor(model);
|
|
336
427
|
if (!dsc) {
|
|
@@ -346,7 +437,7 @@ function _createQuery(model, query, injectModel = true) {
|
|
|
346
437
|
qr.middleware(new relations_1.DiscriminationMapMiddleware(dsc));
|
|
347
438
|
qr.setTable(dsc.TableName);
|
|
348
439
|
if (driver.Options.Database) {
|
|
349
|
-
qr.
|
|
440
|
+
qr.database(driver.Options.Database);
|
|
350
441
|
}
|
|
351
442
|
return {
|
|
352
443
|
query: qr,
|
|
@@ -379,9 +470,12 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
379
470
|
/**
|
|
380
471
|
* Try to insert new value
|
|
381
472
|
*/
|
|
382
|
-
insert(data) {
|
|
383
|
-
const { query } = _createQuery(this, builders_1.InsertQueryBuilder);
|
|
473
|
+
async insert(data, insertBehaviour = interfaces_1.InsertBehaviour.None) {
|
|
474
|
+
const { query, description } = _createQuery(this, builders_1.InsertQueryBuilder);
|
|
384
475
|
if (Array.isArray(data)) {
|
|
476
|
+
if (insertBehaviour !== interfaces_1.InsertBehaviour.None) {
|
|
477
|
+
throw new exceptions_1.OrmException(`insert behaviour is not supported with arrays`);
|
|
478
|
+
}
|
|
385
479
|
query.values(data.map((d) => {
|
|
386
480
|
if (d instanceof ModelBase) {
|
|
387
481
|
return d.dehydrate();
|
|
@@ -390,6 +484,17 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
390
484
|
}));
|
|
391
485
|
}
|
|
392
486
|
else {
|
|
487
|
+
switch (insertBehaviour) {
|
|
488
|
+
case interfaces_1.InsertBehaviour.InsertOrIgnore:
|
|
489
|
+
query.orIgnore();
|
|
490
|
+
break;
|
|
491
|
+
case interfaces_1.InsertBehaviour.InsertOrUpdate:
|
|
492
|
+
query.onDuplicate().update(description.Columns.filter((c) => !c.PrimaryKey).map((c) => c.Name));
|
|
493
|
+
break;
|
|
494
|
+
case interfaces_1.InsertBehaviour.InsertOrReplace:
|
|
495
|
+
query.orReplace();
|
|
496
|
+
break;
|
|
497
|
+
}
|
|
393
498
|
if (data instanceof ModelBase) {
|
|
394
499
|
query.values(data.dehydrate());
|
|
395
500
|
}
|
|
@@ -397,6 +502,26 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
397
502
|
query.values(data);
|
|
398
503
|
}
|
|
399
504
|
}
|
|
505
|
+
const iMidleware = {
|
|
506
|
+
afterQuery: (result) => {
|
|
507
|
+
var _a;
|
|
508
|
+
if (Array.isArray(data)) {
|
|
509
|
+
data.forEach((v, idx) => {
|
|
510
|
+
var _a;
|
|
511
|
+
if (v instanceof ModelBase) {
|
|
512
|
+
v.PrimaryKeyValue = (_a = v.PrimaryKeyValue) !== null && _a !== void 0 ? _a : result.LastInsertId - data.length + idx;
|
|
513
|
+
}
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
else if (data instanceof ModelBase) {
|
|
517
|
+
data.PrimaryKeyValue = (_a = data.PrimaryKeyValue) !== null && _a !== void 0 ? _a : result.LastInsertId;
|
|
518
|
+
}
|
|
519
|
+
return result;
|
|
520
|
+
},
|
|
521
|
+
modelCreation: () => null,
|
|
522
|
+
afterHydration: () => null,
|
|
523
|
+
};
|
|
524
|
+
query.middleware(iMidleware);
|
|
400
525
|
return query;
|
|
401
526
|
},
|
|
402
527
|
async find(pks) {
|
|
@@ -407,31 +532,22 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
407
532
|
return await query;
|
|
408
533
|
},
|
|
409
534
|
async findOrFail(pks) {
|
|
410
|
-
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
535
|
+
const { query, description, model } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
411
536
|
const pkey = description.PrimaryKey;
|
|
412
|
-
const middleware = {
|
|
413
|
-
afterData(data) {
|
|
414
|
-
if (data.length !== pks.length) {
|
|
415
|
-
throw new Error(`could not find all of pkeys in model ${this.model.name}`);
|
|
416
|
-
}
|
|
417
|
-
return data;
|
|
418
|
-
},
|
|
419
|
-
modelCreation(_) {
|
|
420
|
-
return null;
|
|
421
|
-
},
|
|
422
|
-
// tslint:disable-next-line: no-empty
|
|
423
|
-
async afterHydration(_data) { },
|
|
424
|
-
};
|
|
425
537
|
query.select('*');
|
|
426
538
|
query.whereIn(pkey, pks);
|
|
427
|
-
query
|
|
428
|
-
|
|
539
|
+
const result = await query;
|
|
540
|
+
if (result.length !== pks.length) {
|
|
541
|
+
throw new Error(`could not find all results for model ${model.name}`);
|
|
542
|
+
}
|
|
543
|
+
return result;
|
|
429
544
|
},
|
|
430
545
|
async get(pk) {
|
|
431
546
|
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
432
547
|
const pkey = description.PrimaryKey;
|
|
433
548
|
query.select('*');
|
|
434
549
|
query.where(pkey, pk);
|
|
550
|
+
_prepareOrderBy(description, query);
|
|
435
551
|
return await query.first();
|
|
436
552
|
},
|
|
437
553
|
async getOrFail(pk) {
|
|
@@ -439,17 +555,18 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
439
555
|
const pkey = description.PrimaryKey;
|
|
440
556
|
query.select('*');
|
|
441
557
|
query.where(pkey, pk);
|
|
558
|
+
_prepareOrderBy(description, query);
|
|
442
559
|
return await query.firstOrFail();
|
|
443
560
|
},
|
|
444
561
|
async destroy(pks) {
|
|
445
562
|
var _a;
|
|
446
563
|
const description = _descriptor(this);
|
|
447
|
-
const orm = di_1.DI.get(orm_1.Orm);
|
|
448
|
-
const driver = orm.Connections.get(description.Connection);
|
|
449
|
-
const converter = driver.Container.resolve(interfaces_1.DatetimeValueConverter);
|
|
450
564
|
const data = Array.isArray(pks) ? pks : [pks];
|
|
451
565
|
if ((_a = description.SoftDelete) === null || _a === void 0 ? void 0 : _a.DeletedAt) {
|
|
452
566
|
const { query } = _createQuery(this, builders_1.UpdateQueryBuilder);
|
|
567
|
+
const orm = di_1.DI.get(orm_1.Orm);
|
|
568
|
+
const driver = orm.Connections.get(description.Connection);
|
|
569
|
+
const converter = driver.Container.resolve(interfaces_1.DatetimeValueConverter);
|
|
453
570
|
await query.whereIn(description.PrimaryKey, data).update({
|
|
454
571
|
[description.SoftDelete.DeletedAt]: converter.toDB(new Date()),
|
|
455
572
|
});
|
|
@@ -467,11 +584,14 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
467
584
|
async getOrCreate(pk, data) {
|
|
468
585
|
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
469
586
|
// pk constrain
|
|
470
|
-
|
|
587
|
+
if (description.PrimaryKey) {
|
|
588
|
+
query.where(description.PrimaryKey, pk);
|
|
589
|
+
}
|
|
471
590
|
// check for all unique columns ( unique constrain )
|
|
472
591
|
description.Columns.filter((c) => c.Unique).forEach((c) => {
|
|
473
592
|
query.andWhere(c, data[c.Name]);
|
|
474
593
|
});
|
|
594
|
+
_prepareOrderBy(description, query);
|
|
475
595
|
let entity = (await query.first());
|
|
476
596
|
if (!entity) {
|
|
477
597
|
entity = new (Function.prototype.bind.apply(this))(data);
|
|
@@ -483,11 +603,14 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
483
603
|
async getOrNew(pk, data) {
|
|
484
604
|
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
485
605
|
// pk constrain
|
|
486
|
-
|
|
606
|
+
if (description.PrimaryKey) {
|
|
607
|
+
query.where(description.PrimaryKey, pk);
|
|
608
|
+
}
|
|
487
609
|
// check for all unique columns ( unique constrain )
|
|
488
610
|
description.Columns.filter((c) => c.Unique).forEach((c) => {
|
|
489
611
|
query.andWhere(c, data[c.Name]);
|
|
490
612
|
});
|
|
613
|
+
_prepareOrderBy(description, query);
|
|
491
614
|
let entity = (await query.first());
|
|
492
615
|
if (!entity) {
|
|
493
616
|
entity = new (Function.prototype.bind.apply(this))(data);
|
|
@@ -495,5 +618,57 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
495
618
|
}
|
|
496
619
|
return entity;
|
|
497
620
|
},
|
|
621
|
+
async first(callback) {
|
|
622
|
+
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
623
|
+
_prepareOrderBy(description, query, enums_1.SORT_ORDER.ASC);
|
|
624
|
+
if (callback) {
|
|
625
|
+
callback(query);
|
|
626
|
+
}
|
|
627
|
+
return await query.first();
|
|
628
|
+
},
|
|
629
|
+
async last(callback) {
|
|
630
|
+
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
631
|
+
_prepareOrderBy(description, query, enums_1.SORT_ORDER.DESC);
|
|
632
|
+
if (callback) {
|
|
633
|
+
callback(query);
|
|
634
|
+
}
|
|
635
|
+
return await query.first();
|
|
636
|
+
},
|
|
637
|
+
async newest(callback) {
|
|
638
|
+
var _a;
|
|
639
|
+
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
640
|
+
if ((_a = description.Timestamps) === null || _a === void 0 ? void 0 : _a.CreatedAt) {
|
|
641
|
+
query.order(description.Timestamps.CreatedAt, enums_1.SORT_ORDER.DESC);
|
|
642
|
+
}
|
|
643
|
+
else {
|
|
644
|
+
throw new exceptions_1.OrmException('cannot fetch newest entity - CreateAt column not exists in model/db');
|
|
645
|
+
}
|
|
646
|
+
if (callback) {
|
|
647
|
+
callback(query);
|
|
648
|
+
}
|
|
649
|
+
return await query.first();
|
|
650
|
+
},
|
|
651
|
+
async oldest(callback) {
|
|
652
|
+
var _a;
|
|
653
|
+
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
654
|
+
if ((_a = description.Timestamps) === null || _a === void 0 ? void 0 : _a.CreatedAt) {
|
|
655
|
+
query.order(description.Timestamps.CreatedAt, enums_1.SORT_ORDER.ASC);
|
|
656
|
+
}
|
|
657
|
+
else {
|
|
658
|
+
throw new exceptions_1.OrmException('cannot fetch oldest entity - CreateAt column not exists in model/db');
|
|
659
|
+
}
|
|
660
|
+
if (callback) {
|
|
661
|
+
callback(query);
|
|
662
|
+
}
|
|
663
|
+
return await query.first();
|
|
664
|
+
},
|
|
665
|
+
async count(callback) {
|
|
666
|
+
const { query } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
667
|
+
query.count('*', 'count');
|
|
668
|
+
if (callback) {
|
|
669
|
+
callback(query);
|
|
670
|
+
}
|
|
671
|
+
return await (await query.asRaw()).count;
|
|
672
|
+
},
|
|
498
673
|
};
|
|
499
674
|
//# sourceMappingURL=model.js.map
|
package/lib/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|