@spinajs/orm 1.0.60 → 1.2.32
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 -2
- package/lib/builders.d.ts +30 -23
- package/lib/builders.js +74 -195
- package/lib/builders.js.map +1 -1
- package/lib/decorators.d.ts +18 -19
- package/lib/decorators.js +30 -30
- package/lib/decorators.js.map +1 -1
- package/lib/driver.d.ts +10 -9
- package/lib/driver.js +10 -20
- package/lib/driver.js.map +1 -1
- package/lib/exceptions.d.ts +6 -0
- package/lib/exceptions.js +11 -0
- package/lib/exceptions.js.map +1 -0
- package/lib/helpers.js +2 -2
- package/lib/helpers.js.map +1 -1
- package/lib/hydrators.d.ts +4 -4
- package/lib/hydrators.js +6 -6
- package/lib/hydrators.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +19 -27
- package/lib/interfaces.js +14 -14
- package/lib/interfaces.js.map +1 -1
- package/lib/log-common/src/index.d.ts +180 -0
- package/lib/log-common/src/index.js +49 -0
- package/lib/log-common/src/index.js.map +1 -0
- package/lib/model.d.ts +55 -53
- package/lib/model.js +132 -149
- package/lib/model.js.map +1 -1
- package/lib/orm/src/builders.d.ts +429 -0
- package/lib/orm/src/builders.js +1082 -0
- package/lib/orm/src/builders.js.map +1 -0
- package/lib/orm/src/cli.d.ts +1 -0
- package/lib/orm/src/cli.js +2 -0
- package/lib/orm/src/cli.js.map +1 -0
- package/lib/orm/src/converters.d.ts +9 -0
- package/lib/orm/src/converters.js +22 -0
- package/lib/orm/src/converters.js.map +1 -0
- package/lib/orm/src/decorators.d.ts +122 -0
- package/lib/orm/src/decorators.js +380 -0
- package/lib/orm/src/decorators.js.map +1 -0
- package/lib/orm/src/driver.d.ts +77 -0
- package/lib/orm/src/driver.js +84 -0
- package/lib/orm/src/driver.js.map +1 -0
- package/lib/orm/src/enums.d.ts +111 -0
- package/lib/orm/src/enums.js +122 -0
- package/lib/orm/src/enums.js.map +1 -0
- package/lib/orm/src/exceptions.d.ts +6 -0
- package/lib/orm/src/exceptions.js +11 -0
- package/lib/orm/src/exceptions.js.map +1 -0
- package/lib/orm/src/hydrators.d.ts +16 -0
- package/lib/orm/src/hydrators.js +70 -0
- package/lib/orm/src/hydrators.js.map +1 -0
- package/lib/orm/src/index.d.ts +12 -0
- package/lib/orm/src/index.js +25 -0
- package/lib/orm/src/index.js.map +1 -0
- package/lib/orm/src/interfaces.d.ts +615 -0
- package/lib/orm/src/interfaces.js +186 -0
- package/lib/orm/src/interfaces.js.map +1 -0
- package/lib/orm/src/model.d.ts +135 -0
- package/lib/orm/src/model.js +449 -0
- package/lib/orm/src/model.js.map +1 -0
- package/lib/orm/src/orm.d.ts +59 -0
- package/lib/orm/src/orm.js +278 -0
- package/lib/orm/src/orm.js.map +1 -0
- package/lib/orm/src/relations.d.ts +96 -0
- package/lib/orm/src/relations.js +503 -0
- package/lib/orm/src/relations.js.map +1 -0
- package/lib/orm/src/statements.d.ts +132 -0
- package/lib/orm/src/statements.js +257 -0
- package/lib/orm/src/statements.js.map +1 -0
- package/lib/orm/src/types.d.ts +2 -0
- package/lib/orm/src/types.js +3 -0
- package/lib/orm/src/types.js.map +1 -0
- package/lib/orm/src/wrappers.d.ts +5 -0
- package/lib/orm/src/wrappers.js +13 -0
- package/lib/orm/src/wrappers.js.map +1 -0
- package/lib/orm.d.ts +9 -9
- package/lib/orm.js +69 -47
- package/lib/orm.js.map +1 -1
- package/lib/relations.d.ts +14 -13
- package/lib/relations.js +60 -81
- package/lib/relations.js.map +1 -1
- package/lib/statements.d.ts +1 -1
- package/lib/statements.js +19 -21
- package/lib/statements.js.map +1 -1
- package/lib/wrappers.d.ts +1 -1
- package/lib/wrappers.js.map +1 -1
- package/package.json +37 -61
- package/LICENSE +0 -674
package/lib/builders.js
CHANGED
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
2
|
+
/* eslint-disable prettier/prettier */
|
|
14
3
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
4
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
5
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
6
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
7
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
8
|
};
|
|
20
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
-
if (mod && mod.__esModule) return mod;
|
|
22
|
-
var result = {};
|
|
23
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
-
__setModuleDefault(result, mod);
|
|
25
|
-
return result;
|
|
26
|
-
};
|
|
27
9
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
28
10
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
29
11
|
};
|
|
@@ -32,7 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
32
14
|
exports.SchemaQueryBuilder = exports.TableQueryBuilder = exports.ColumnQueryBuilder = exports.ForeignKeyBuilder = exports.IndexQueryBuilder = exports.InsertQueryBuilder = exports.UpdateQueryBuilder = exports.OnDuplicateQueryBuilder = exports.DeleteQueryBuilder = exports.SelectQueryBuilder = exports.WhereBuilder = exports.WithRecursiveBuilder = exports.JoinBuilder = exports.GroupByBuilder = exports.RawQuery = exports.ColumnsBuilder = exports.OrderByBuilder = exports.LimitBuilder = exports.QueryBuilder = exports.Builder = void 0;
|
|
33
15
|
const di_1 = require("@spinajs/di");
|
|
34
16
|
const exceptions_1 = require("@spinajs/exceptions");
|
|
35
|
-
const _ =
|
|
17
|
+
const _ = require("lodash");
|
|
36
18
|
const typescript_mix_1 = require("typescript-mix");
|
|
37
19
|
const enums_1 = require("./enums");
|
|
38
20
|
const interfaces_1 = require("./interfaces");
|
|
@@ -65,7 +47,9 @@ let Builder = class Builder {
|
|
|
65
47
|
}
|
|
66
48
|
then(resolve, reject) {
|
|
67
49
|
const compiled = this.toDB();
|
|
68
|
-
return this._driver
|
|
50
|
+
return this._driver
|
|
51
|
+
.execute(compiled.expression, compiled.bindings, this._queryContext)
|
|
52
|
+
.then((result) => {
|
|
69
53
|
try {
|
|
70
54
|
if (this._asRaw) {
|
|
71
55
|
resolve(result);
|
|
@@ -78,7 +62,7 @@ let Builder = class Builder {
|
|
|
78
62
|
return current.afterData(result);
|
|
79
63
|
}, []);
|
|
80
64
|
}
|
|
81
|
-
const models = transformedResult.map(r => {
|
|
65
|
+
const models = transformedResult.map((r) => {
|
|
82
66
|
let model = null;
|
|
83
67
|
for (const middleware of this._middlewares) {
|
|
84
68
|
model = middleware.modelCreation(r);
|
|
@@ -111,12 +95,15 @@ let Builder = class Builder {
|
|
|
111
95
|
catch (err) {
|
|
112
96
|
reject(err);
|
|
113
97
|
}
|
|
114
|
-
}
|
|
98
|
+
})
|
|
99
|
+
.catch((err) => {
|
|
100
|
+
reject(err);
|
|
101
|
+
});
|
|
115
102
|
}
|
|
116
103
|
};
|
|
117
104
|
Builder = __decorate([
|
|
118
|
-
di_1.NewInstance(),
|
|
119
|
-
di_1.Inject(di_1.Container),
|
|
105
|
+
(0, di_1.NewInstance)(),
|
|
106
|
+
(0, di_1.Inject)(di_1.Container),
|
|
120
107
|
__metadata("design:paramtypes", [di_1.Container, driver_1.OrmDriver, Object])
|
|
121
108
|
], Builder);
|
|
122
109
|
exports.Builder = Builder;
|
|
@@ -186,7 +173,7 @@ let QueryBuilder = class QueryBuilder extends Builder {
|
|
|
186
173
|
/**
|
|
187
174
|
* Sets table alias for query
|
|
188
175
|
*
|
|
189
|
-
* @param alias sql table alias
|
|
176
|
+
* @param alias - sql table alias
|
|
190
177
|
*/
|
|
191
178
|
setAlias(alias) {
|
|
192
179
|
this._tableAlias = alias;
|
|
@@ -197,8 +184,8 @@ let QueryBuilder = class QueryBuilder extends Builder {
|
|
|
197
184
|
}
|
|
198
185
|
};
|
|
199
186
|
QueryBuilder = __decorate([
|
|
200
|
-
di_1.NewInstance(),
|
|
201
|
-
di_1.Inject(di_1.Container),
|
|
187
|
+
(0, di_1.NewInstance)(),
|
|
188
|
+
(0, di_1.Inject)(di_1.Container),
|
|
202
189
|
__metadata("design:paramtypes", [di_1.Container, driver_1.OrmDriver, Object])
|
|
203
190
|
], QueryBuilder);
|
|
204
191
|
exports.QueryBuilder = QueryBuilder;
|
|
@@ -239,7 +226,7 @@ let LimitBuilder = class LimitBuilder {
|
|
|
239
226
|
}
|
|
240
227
|
};
|
|
241
228
|
LimitBuilder = __decorate([
|
|
242
|
-
di_1.NewInstance(),
|
|
229
|
+
(0, di_1.NewInstance)(),
|
|
243
230
|
__metadata("design:paramtypes", [])
|
|
244
231
|
], LimitBuilder);
|
|
245
232
|
exports.LimitBuilder = LimitBuilder;
|
|
@@ -276,7 +263,7 @@ let OrderByBuilder = class OrderByBuilder {
|
|
|
276
263
|
}
|
|
277
264
|
};
|
|
278
265
|
OrderByBuilder = __decorate([
|
|
279
|
-
di_1.NewInstance(),
|
|
266
|
+
(0, di_1.NewInstance)(),
|
|
280
267
|
__metadata("design:paramtypes", [])
|
|
281
268
|
], OrderByBuilder);
|
|
282
269
|
exports.OrderByBuilder = OrderByBuilder;
|
|
@@ -297,39 +284,24 @@ let ColumnsBuilder = class ColumnsBuilder {
|
|
|
297
284
|
return this;
|
|
298
285
|
}
|
|
299
286
|
columns(names) {
|
|
300
|
-
const descriptor = model_1.extractModelDescriptor(this._model);
|
|
301
|
-
this._columns = names.map(n => {
|
|
302
|
-
return this._container.resolve(statements_1.ColumnStatement, [
|
|
303
|
-
n,
|
|
304
|
-
null,
|
|
305
|
-
this._tableAlias,
|
|
306
|
-
descriptor === null || descriptor === void 0 ? void 0 : descriptor.Columns.find(c => c.Name === n),
|
|
307
|
-
]);
|
|
287
|
+
const descriptor = (0, model_1.extractModelDescriptor)(this._model);
|
|
288
|
+
this._columns = names.map((n) => {
|
|
289
|
+
return this._container.resolve(statements_1.ColumnStatement, [n, null, this._tableAlias, descriptor === null || descriptor === void 0 ? void 0 : descriptor.Columns.find((c) => c.Name === n)]);
|
|
308
290
|
});
|
|
309
291
|
return this;
|
|
310
292
|
}
|
|
311
293
|
select(column, alias) {
|
|
312
|
-
const descriptor = model_1.extractModelDescriptor(this._model);
|
|
294
|
+
const descriptor = (0, model_1.extractModelDescriptor)(this._model);
|
|
313
295
|
if (column instanceof Map) {
|
|
314
296
|
column.forEach((alias, colName) => {
|
|
315
|
-
this._columns.push(this._container.resolve(statements_1.ColumnStatement, [
|
|
316
|
-
colName,
|
|
317
|
-
alias,
|
|
318
|
-
this._tableAlias,
|
|
319
|
-
descriptor === null || descriptor === void 0 ? void 0 : descriptor.Columns.find(c => c.Name === colName),
|
|
320
|
-
]));
|
|
297
|
+
this._columns.push(this._container.resolve(statements_1.ColumnStatement, [colName, alias, this._tableAlias, descriptor === null || descriptor === void 0 ? void 0 : descriptor.Columns.find((c) => c.Name === colName)]));
|
|
321
298
|
});
|
|
322
299
|
}
|
|
323
300
|
if (column instanceof RawQuery) {
|
|
324
301
|
this._columns.push(this._container.resolve(statements_1.ColumnRawStatement, [column, null, this._tableAlias]));
|
|
325
302
|
}
|
|
326
303
|
else {
|
|
327
|
-
this._columns.push(this._container.resolve(statements_1.ColumnStatement, [
|
|
328
|
-
column,
|
|
329
|
-
alias,
|
|
330
|
-
this._tableAlias,
|
|
331
|
-
descriptor === null || descriptor === void 0 ? void 0 : descriptor.Columns.find(c => c.Name === column),
|
|
332
|
-
]));
|
|
304
|
+
this._columns.push(this._container.resolve(statements_1.ColumnStatement, [column, alias, this._tableAlias, descriptor === null || descriptor === void 0 ? void 0 : descriptor.Columns.find((c) => c.Name === column)]));
|
|
333
305
|
}
|
|
334
306
|
return this;
|
|
335
307
|
}
|
|
@@ -338,7 +310,7 @@ let ColumnsBuilder = class ColumnsBuilder {
|
|
|
338
310
|
}
|
|
339
311
|
};
|
|
340
312
|
ColumnsBuilder = __decorate([
|
|
341
|
-
di_1.NewInstance(),
|
|
313
|
+
(0, di_1.NewInstance)(),
|
|
342
314
|
__metadata("design:paramtypes", [])
|
|
343
315
|
], ColumnsBuilder);
|
|
344
316
|
exports.ColumnsBuilder = ColumnsBuilder;
|
|
@@ -360,7 +332,7 @@ let RawQuery = RawQuery_1 = class RawQuery {
|
|
|
360
332
|
}
|
|
361
333
|
};
|
|
362
334
|
RawQuery = RawQuery_1 = __decorate([
|
|
363
|
-
di_1.NewInstance(),
|
|
335
|
+
(0, di_1.NewInstance)(),
|
|
364
336
|
__metadata("design:paramtypes", [String, Array])
|
|
365
337
|
], RawQuery);
|
|
366
338
|
exports.RawQuery = RawQuery;
|
|
@@ -425,24 +397,10 @@ class JoinBuilder {
|
|
|
425
397
|
addJoinStatement(method, table, AliasOrForeignKey, fkOrPkKey, primaryKey) {
|
|
426
398
|
let stmt = null;
|
|
427
399
|
if (arguments.length === 4) {
|
|
428
|
-
stmt = this._container.resolve(statements_1.JoinStatement, [
|
|
429
|
-
table,
|
|
430
|
-
method,
|
|
431
|
-
AliasOrForeignKey,
|
|
432
|
-
fkOrPkKey,
|
|
433
|
-
null,
|
|
434
|
-
this._tableAlias,
|
|
435
|
-
]);
|
|
400
|
+
stmt = this._container.resolve(statements_1.JoinStatement, [table, method, AliasOrForeignKey, fkOrPkKey, null, this._tableAlias]);
|
|
436
401
|
}
|
|
437
402
|
else if (arguments.length === 5) {
|
|
438
|
-
stmt = this._container.resolve(statements_1.JoinStatement, [
|
|
439
|
-
table,
|
|
440
|
-
method,
|
|
441
|
-
fkOrPkKey,
|
|
442
|
-
primaryKey,
|
|
443
|
-
AliasOrForeignKey,
|
|
444
|
-
this._tableAlias,
|
|
445
|
-
]);
|
|
403
|
+
stmt = this._container.resolve(statements_1.JoinStatement, [table, method, fkOrPkKey, primaryKey, AliasOrForeignKey, this._tableAlias]);
|
|
446
404
|
}
|
|
447
405
|
else {
|
|
448
406
|
stmt = this._container.resolve(statements_1.JoinStatement, [table, method]);
|
|
@@ -456,17 +414,12 @@ let WithRecursiveBuilder = class WithRecursiveBuilder {
|
|
|
456
414
|
return this._cteStatement;
|
|
457
415
|
}
|
|
458
416
|
withRecursive(rcKeyName, pkName) {
|
|
459
|
-
this._cteStatement = this._container.resolve(statements_1.WithRecursiveStatement, [
|
|
460
|
-
'cte',
|
|
461
|
-
this,
|
|
462
|
-
rcKeyName,
|
|
463
|
-
pkName,
|
|
464
|
-
]);
|
|
417
|
+
this._cteStatement = this._container.resolve(statements_1.WithRecursiveStatement, ['cte', this, rcKeyName, pkName]);
|
|
465
418
|
return this;
|
|
466
419
|
}
|
|
467
420
|
};
|
|
468
421
|
WithRecursiveBuilder = __decorate([
|
|
469
|
-
di_1.NewInstance()
|
|
422
|
+
(0, di_1.NewInstance)()
|
|
470
423
|
], WithRecursiveBuilder);
|
|
471
424
|
exports.WithRecursiveBuilder = WithRecursiveBuilder;
|
|
472
425
|
let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
|
|
@@ -491,11 +444,7 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
|
|
|
491
444
|
return this.where(RawQuery.create(column ? 'TRUE' : 'FALSE'));
|
|
492
445
|
}
|
|
493
446
|
if (column instanceof RawQuery) {
|
|
494
|
-
this.Statements.push(this._container.resolve(statements_1.RawQueryStatement, [
|
|
495
|
-
column.Query,
|
|
496
|
-
column.Bindings,
|
|
497
|
-
self._tableAlias,
|
|
498
|
-
]));
|
|
447
|
+
this.Statements.push(this._container.resolve(statements_1.RawQueryStatement, [column.Query, column.Bindings, self._tableAlias]));
|
|
499
448
|
return this;
|
|
500
449
|
}
|
|
501
450
|
// handle nested where's
|
|
@@ -516,8 +465,6 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
|
|
|
516
465
|
/**
|
|
517
466
|
* handles for where("foo", 1).where(...) cases
|
|
518
467
|
* it produces WHERE foo = 1
|
|
519
|
-
* @param c
|
|
520
|
-
* @param operator
|
|
521
468
|
*/
|
|
522
469
|
function _handleForTwo(c, v) {
|
|
523
470
|
if (v === undefined) {
|
|
@@ -535,9 +482,6 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
|
|
|
535
482
|
/**
|
|
536
483
|
* Handles for where("foo",'!=',1) etc
|
|
537
484
|
* it produces WHERE foo != 1
|
|
538
|
-
* @param c
|
|
539
|
-
* @param o
|
|
540
|
-
* @param v
|
|
541
485
|
*/
|
|
542
486
|
function _handleForThree(c, o, v) {
|
|
543
487
|
if (!isWhereOperator(o)) {
|
|
@@ -571,12 +515,7 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
|
|
|
571
515
|
return this;
|
|
572
516
|
}
|
|
573
517
|
whereNotNull(column) {
|
|
574
|
-
this._statements.push(this._container.resolve(statements_1.WhereStatement, [
|
|
575
|
-
column,
|
|
576
|
-
enums_1.WhereOperators.NOT_NULL,
|
|
577
|
-
null,
|
|
578
|
-
this._tableAlias,
|
|
579
|
-
]));
|
|
518
|
+
this._statements.push(this._container.resolve(statements_1.WhereStatement, [column, enums_1.WhereOperators.NOT_NULL, null, this._tableAlias]));
|
|
580
519
|
return this;
|
|
581
520
|
}
|
|
582
521
|
whereNull(column) {
|
|
@@ -624,7 +563,7 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
|
|
|
624
563
|
}
|
|
625
564
|
};
|
|
626
565
|
WhereBuilder = WhereBuilder_1 = __decorate([
|
|
627
|
-
di_1.NewInstance(),
|
|
566
|
+
(0, di_1.NewInstance)(),
|
|
628
567
|
__metadata("design:paramtypes", [di_1.Container, String])
|
|
629
568
|
], WhereBuilder);
|
|
630
569
|
exports.WhereBuilder = WhereBuilder;
|
|
@@ -670,9 +609,9 @@ class SelectQueryBuilder extends QueryBuilder {
|
|
|
670
609
|
}
|
|
671
610
|
setAlias(alias) {
|
|
672
611
|
this._tableAlias = alias;
|
|
673
|
-
this._columns.forEach(c => (c.TableAlias = alias));
|
|
674
|
-
this._joinStatements.forEach(c => (c.TableAlias = alias));
|
|
675
|
-
this._statements.forEach(c => (c.TableAlias = alias));
|
|
612
|
+
this._columns.forEach((c) => (c.TableAlias = alias));
|
|
613
|
+
this._joinStatements.forEach((c) => (c.TableAlias = alias));
|
|
614
|
+
this._statements.forEach((c) => (c.TableAlias = alias));
|
|
676
615
|
return this;
|
|
677
616
|
}
|
|
678
617
|
clone() {
|
|
@@ -691,18 +630,13 @@ class SelectQueryBuilder extends QueryBuilder {
|
|
|
691
630
|
populate(relation, callback) {
|
|
692
631
|
var _a;
|
|
693
632
|
let relInstance = null;
|
|
694
|
-
const descriptor = model_1.extractModelDescriptor(this._model);
|
|
633
|
+
const descriptor = (0, model_1.extractModelDescriptor)(this._model);
|
|
695
634
|
if (!descriptor.Relations.has(relation)) {
|
|
696
635
|
throw new exceptions_1.InvalidArgument(`Relation ${relation} not exists in model ${(_a = this._model) === null || _a === void 0 ? void 0 : _a.constructor.name}`);
|
|
697
636
|
}
|
|
698
637
|
const relDescription = descriptor.Relations.get(relation);
|
|
699
638
|
if (relDescription.Type === interfaces_1.RelationType.One && relDescription.Recursive) {
|
|
700
|
-
relInstance = this._container.resolve(relations_1.BelongsToRecursiveRelation, [
|
|
701
|
-
this._container.get(orm_1.Orm),
|
|
702
|
-
this,
|
|
703
|
-
relDescription,
|
|
704
|
-
this._owner,
|
|
705
|
-
]);
|
|
639
|
+
relInstance = this._container.resolve(relations_1.BelongsToRecursiveRelation, [this._container.get(orm_1.Orm), this, relDescription, this._owner]);
|
|
706
640
|
}
|
|
707
641
|
else {
|
|
708
642
|
if (relDescription.Recursive) {
|
|
@@ -710,28 +644,13 @@ class SelectQueryBuilder extends QueryBuilder {
|
|
|
710
644
|
}
|
|
711
645
|
switch (relDescription.Type) {
|
|
712
646
|
case interfaces_1.RelationType.One:
|
|
713
|
-
relInstance = this._container.resolve(relations_1.BelongsToRelation, [
|
|
714
|
-
this._container.get(orm_1.Orm),
|
|
715
|
-
this,
|
|
716
|
-
relDescription,
|
|
717
|
-
this._owner,
|
|
718
|
-
]);
|
|
647
|
+
relInstance = this._container.resolve(relations_1.BelongsToRelation, [this._container.get(orm_1.Orm), this, relDescription, this._owner]);
|
|
719
648
|
break;
|
|
720
649
|
case interfaces_1.RelationType.Many:
|
|
721
|
-
relInstance = this._container.resolve(relations_1.OneToManyRelation, [
|
|
722
|
-
this._container.get(orm_1.Orm),
|
|
723
|
-
this,
|
|
724
|
-
relDescription,
|
|
725
|
-
this._owner,
|
|
726
|
-
]);
|
|
650
|
+
relInstance = this._container.resolve(relations_1.OneToManyRelation, [this._container.get(orm_1.Orm), this, relDescription, this._owner]);
|
|
727
651
|
break;
|
|
728
652
|
case interfaces_1.RelationType.ManyToMany:
|
|
729
|
-
relInstance = this._container.resolve(relations_1.ManyToManyRelation, [
|
|
730
|
-
this._container.get(orm_1.Orm),
|
|
731
|
-
this,
|
|
732
|
-
relDescription,
|
|
733
|
-
null,
|
|
734
|
-
]);
|
|
653
|
+
relInstance = this._container.resolve(relations_1.ManyToManyRelation, [this._container.get(orm_1.Orm), this, relDescription, null]);
|
|
735
654
|
break;
|
|
736
655
|
}
|
|
737
656
|
}
|
|
@@ -747,48 +666,23 @@ class SelectQueryBuilder extends QueryBuilder {
|
|
|
747
666
|
this._middlewares = this._middlewares.concat(builder._middlewares);
|
|
748
667
|
}
|
|
749
668
|
min(column, as) {
|
|
750
|
-
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [
|
|
751
|
-
column,
|
|
752
|
-
enums_1.ColumnMethods.MIN,
|
|
753
|
-
as,
|
|
754
|
-
this._tableAlias,
|
|
755
|
-
]));
|
|
669
|
+
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [column, enums_1.ColumnMethods.MIN, as, this._tableAlias]));
|
|
756
670
|
return this;
|
|
757
671
|
}
|
|
758
672
|
max(column, as) {
|
|
759
|
-
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [
|
|
760
|
-
column,
|
|
761
|
-
enums_1.ColumnMethods.MAX,
|
|
762
|
-
as,
|
|
763
|
-
this._tableAlias,
|
|
764
|
-
]));
|
|
673
|
+
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [column, enums_1.ColumnMethods.MAX, as, this._tableAlias]));
|
|
765
674
|
return this;
|
|
766
675
|
}
|
|
767
676
|
count(column, as) {
|
|
768
|
-
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [
|
|
769
|
-
column,
|
|
770
|
-
enums_1.ColumnMethods.COUNT,
|
|
771
|
-
as,
|
|
772
|
-
this._tableAlias,
|
|
773
|
-
]));
|
|
677
|
+
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [column, enums_1.ColumnMethods.COUNT, as, this._tableAlias]));
|
|
774
678
|
return this;
|
|
775
679
|
}
|
|
776
680
|
sum(column, as) {
|
|
777
|
-
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [
|
|
778
|
-
column,
|
|
779
|
-
enums_1.ColumnMethods.SUM,
|
|
780
|
-
as,
|
|
781
|
-
this._tableAlias,
|
|
782
|
-
]));
|
|
681
|
+
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [column, enums_1.ColumnMethods.SUM, as, this._tableAlias]));
|
|
783
682
|
return this;
|
|
784
683
|
}
|
|
785
684
|
avg(column, as) {
|
|
786
|
-
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [
|
|
787
|
-
column,
|
|
788
|
-
enums_1.ColumnMethods.AVG,
|
|
789
|
-
as,
|
|
790
|
-
this._tableAlias,
|
|
791
|
-
]));
|
|
685
|
+
this._columns.push(this._container.resolve(statements_1.ColumnMethodStatement, [column, enums_1.ColumnMethods.AVG, as, this._tableAlias]));
|
|
792
686
|
return this;
|
|
793
687
|
}
|
|
794
688
|
distinct() {
|
|
@@ -822,7 +716,7 @@ class SelectQueryBuilder extends QueryBuilder {
|
|
|
822
716
|
}
|
|
823
717
|
}
|
|
824
718
|
__decorate([
|
|
825
|
-
typescript_mix_1.use(WhereBuilder, LimitBuilder, OrderByBuilder, ColumnsBuilder, JoinBuilder, WithRecursiveBuilder, GroupByBuilder),
|
|
719
|
+
(0, typescript_mix_1.use)(WhereBuilder, LimitBuilder, OrderByBuilder, ColumnsBuilder, JoinBuilder, WithRecursiveBuilder, GroupByBuilder),
|
|
826
720
|
__metadata("design:type", Object)
|
|
827
721
|
], SelectQueryBuilder.prototype, "this", void 0);
|
|
828
722
|
exports.SelectQueryBuilder = SelectQueryBuilder;
|
|
@@ -843,9 +737,7 @@ class DeleteQueryBuilder extends QueryBuilder {
|
|
|
843
737
|
return this._truncate;
|
|
844
738
|
}
|
|
845
739
|
toDB() {
|
|
846
|
-
return this._container
|
|
847
|
-
.resolve(interfaces_1.DeleteQueryCompiler, [this])
|
|
848
|
-
.compile();
|
|
740
|
+
return this._container.resolve(interfaces_1.DeleteQueryCompiler, [this]).compile();
|
|
849
741
|
}
|
|
850
742
|
truncate() {
|
|
851
743
|
this._truncate = true;
|
|
@@ -853,7 +745,7 @@ class DeleteQueryBuilder extends QueryBuilder {
|
|
|
853
745
|
}
|
|
854
746
|
}
|
|
855
747
|
__decorate([
|
|
856
|
-
typescript_mix_1.use(WhereBuilder, LimitBuilder),
|
|
748
|
+
(0, typescript_mix_1.use)(WhereBuilder, LimitBuilder),
|
|
857
749
|
__metadata("design:type", Object)
|
|
858
750
|
], DeleteQueryBuilder.prototype, "this", void 0);
|
|
859
751
|
exports.DeleteQueryBuilder = DeleteQueryBuilder;
|
|
@@ -905,13 +797,11 @@ class UpdateQueryBuilder extends QueryBuilder {
|
|
|
905
797
|
return this;
|
|
906
798
|
}
|
|
907
799
|
toDB() {
|
|
908
|
-
return this._container
|
|
909
|
-
.resolve(interfaces_1.UpdateQueryCompiler, [this])
|
|
910
|
-
.compile();
|
|
800
|
+
return this._container.resolve(interfaces_1.UpdateQueryCompiler, [this]).compile();
|
|
911
801
|
}
|
|
912
802
|
}
|
|
913
803
|
__decorate([
|
|
914
|
-
typescript_mix_1.use(WhereBuilder),
|
|
804
|
+
(0, typescript_mix_1.use)(WhereBuilder),
|
|
915
805
|
__metadata("design:type", Object)
|
|
916
806
|
], UpdateQueryBuilder.prototype, "this", void 0);
|
|
917
807
|
exports.UpdateQueryBuilder = UpdateQueryBuilder;
|
|
@@ -939,11 +829,7 @@ class InsertQueryBuilder extends QueryBuilder {
|
|
|
939
829
|
values(data) {
|
|
940
830
|
const self = this;
|
|
941
831
|
if (Array.isArray(data)) {
|
|
942
|
-
this.columns(_.chain(data)
|
|
943
|
-
.map(_.keys)
|
|
944
|
-
.flatten()
|
|
945
|
-
.uniq()
|
|
946
|
-
.value());
|
|
832
|
+
this.columns(_.chain(data).map(_.keys).flatten().uniq().value());
|
|
947
833
|
data.forEach((d) => {
|
|
948
834
|
_addData(d);
|
|
949
835
|
});
|
|
@@ -955,8 +841,8 @@ class InsertQueryBuilder extends QueryBuilder {
|
|
|
955
841
|
function _addData(d) {
|
|
956
842
|
const binding = [];
|
|
957
843
|
self._columns
|
|
958
|
-
.filter(c => !(c.Column instanceof RawQuery))
|
|
959
|
-
.map(c => {
|
|
844
|
+
.filter((c) => !(c.Column instanceof RawQuery))
|
|
845
|
+
.map((c) => {
|
|
960
846
|
return c.Column;
|
|
961
847
|
})
|
|
962
848
|
.forEach((c) => {
|
|
@@ -972,20 +858,20 @@ class InsertQueryBuilder extends QueryBuilder {
|
|
|
972
858
|
}
|
|
973
859
|
onDuplicate(column) {
|
|
974
860
|
let columnToCheck = column;
|
|
975
|
-
if (!columnToCheck) {
|
|
976
|
-
columnToCheck = model_1.extractModelDescriptor(this._model)
|
|
861
|
+
if (!columnToCheck && this.this._model) {
|
|
862
|
+
columnToCheck = (0, model_1.extractModelDescriptor)(this._model)
|
|
863
|
+
.Columns.filter((c) => c.Unique && !c.PrimaryKey)
|
|
864
|
+
.map((c) => c.Name);
|
|
977
865
|
}
|
|
978
866
|
this.DuplicateQueryBuilder = new OnDuplicateQueryBuilder(this._container, this, columnToCheck);
|
|
979
867
|
return this.DuplicateQueryBuilder;
|
|
980
868
|
}
|
|
981
869
|
toDB() {
|
|
982
|
-
return this._container
|
|
983
|
-
.resolve(interfaces_1.InsertQueryCompiler, [this])
|
|
984
|
-
.compile();
|
|
870
|
+
return this._container.resolve(interfaces_1.InsertQueryCompiler, [this]).compile();
|
|
985
871
|
}
|
|
986
872
|
}
|
|
987
873
|
__decorate([
|
|
988
|
-
typescript_mix_1.use(ColumnsBuilder),
|
|
874
|
+
(0, typescript_mix_1.use)(ColumnsBuilder),
|
|
989
875
|
__metadata("design:type", Object)
|
|
990
876
|
], InsertQueryBuilder.prototype, "this", void 0);
|
|
991
877
|
exports.InsertQueryBuilder = InsertQueryBuilder;
|
|
@@ -1011,14 +897,12 @@ let IndexQueryBuilder = class IndexQueryBuilder extends Builder {
|
|
|
1011
897
|
return this;
|
|
1012
898
|
}
|
|
1013
899
|
toDB() {
|
|
1014
|
-
return this._container
|
|
1015
|
-
.resolve(interfaces_1.IndexQueryCompiler, [this])
|
|
1016
|
-
.compile();
|
|
900
|
+
return this._container.resolve(interfaces_1.IndexQueryCompiler, [this]).compile();
|
|
1017
901
|
}
|
|
1018
902
|
};
|
|
1019
903
|
IndexQueryBuilder = __decorate([
|
|
1020
|
-
di_1.NewInstance(),
|
|
1021
|
-
di_1.Inject(di_1.Container),
|
|
904
|
+
(0, di_1.NewInstance)(),
|
|
905
|
+
(0, di_1.Inject)(di_1.Container),
|
|
1022
906
|
__metadata("design:paramtypes", [di_1.Container, driver_1.OrmDriver])
|
|
1023
907
|
], IndexQueryBuilder);
|
|
1024
908
|
exports.IndexQueryBuilder = IndexQueryBuilder;
|
|
@@ -1031,7 +915,7 @@ let ForeignKeyBuilder = class ForeignKeyBuilder {
|
|
|
1031
915
|
*
|
|
1032
916
|
* Referenced field in child table
|
|
1033
917
|
*
|
|
1034
|
-
* @param fkName name of foreign field in child table
|
|
918
|
+
* @param fkName - name of foreign field in child table
|
|
1035
919
|
*/
|
|
1036
920
|
foreignKey(fkName) {
|
|
1037
921
|
this.ForeignKeyField = fkName;
|
|
@@ -1041,8 +925,8 @@ let ForeignKeyBuilder = class ForeignKeyBuilder {
|
|
|
1041
925
|
*
|
|
1042
926
|
* Referenced parent table & key
|
|
1043
927
|
*
|
|
1044
|
-
* @param table parent table
|
|
1045
|
-
* @param pKey parant table key field
|
|
928
|
+
* @param table - parent table
|
|
929
|
+
* @param pKey - parant table key field
|
|
1046
930
|
*/
|
|
1047
931
|
references(table, pKey) {
|
|
1048
932
|
this.Table = table;
|
|
@@ -1053,7 +937,7 @@ let ForeignKeyBuilder = class ForeignKeyBuilder {
|
|
|
1053
937
|
*
|
|
1054
938
|
* On delete action
|
|
1055
939
|
*
|
|
1056
|
-
* @param action action to take on delete
|
|
940
|
+
* @param action - action to take on delete
|
|
1057
941
|
*/
|
|
1058
942
|
onDelete(action) {
|
|
1059
943
|
this.OnDeleteAction = action;
|
|
@@ -1063,7 +947,7 @@ let ForeignKeyBuilder = class ForeignKeyBuilder {
|
|
|
1063
947
|
*
|
|
1064
948
|
* On update action
|
|
1065
949
|
*
|
|
1066
|
-
* @param action action to take on update
|
|
950
|
+
* @param action - action to take on update
|
|
1067
951
|
*/
|
|
1068
952
|
onUpdate(action) {
|
|
1069
953
|
this.OnUpdateAction = action;
|
|
@@ -1079,7 +963,7 @@ let ForeignKeyBuilder = class ForeignKeyBuilder {
|
|
|
1079
963
|
}
|
|
1080
964
|
};
|
|
1081
965
|
ForeignKeyBuilder = __decorate([
|
|
1082
|
-
di_1.NewInstance(),
|
|
966
|
+
(0, di_1.NewInstance)(),
|
|
1083
967
|
__metadata("design:paramtypes", [])
|
|
1084
968
|
], ForeignKeyBuilder);
|
|
1085
969
|
exports.ForeignKeyBuilder = ForeignKeyBuilder;
|
|
@@ -1136,7 +1020,7 @@ let ColumnQueryBuilder = class ColumnQueryBuilder {
|
|
|
1136
1020
|
}
|
|
1137
1021
|
};
|
|
1138
1022
|
ColumnQueryBuilder = __decorate([
|
|
1139
|
-
di_1.NewInstance(),
|
|
1023
|
+
(0, di_1.NewInstance)(),
|
|
1140
1024
|
__metadata("design:paramtypes", [String, String, Object])
|
|
1141
1025
|
], ColumnQueryBuilder);
|
|
1142
1026
|
exports.ColumnQueryBuilder = ColumnQueryBuilder;
|
|
@@ -1157,10 +1041,7 @@ class TableQueryBuilder extends QueryBuilder {
|
|
|
1157
1041
|
return this._foreignKeys;
|
|
1158
1042
|
}
|
|
1159
1043
|
increments(name) {
|
|
1160
|
-
return this.int(name)
|
|
1161
|
-
.autoIncrement()
|
|
1162
|
-
.notNull()
|
|
1163
|
-
.primaryKey();
|
|
1044
|
+
return this.int(name).autoIncrement().notNull().primaryKey();
|
|
1164
1045
|
}
|
|
1165
1046
|
comment(comment) {
|
|
1166
1047
|
this._comment = comment;
|
|
@@ -1175,9 +1056,7 @@ class TableQueryBuilder extends QueryBuilder {
|
|
|
1175
1056
|
return builder;
|
|
1176
1057
|
}
|
|
1177
1058
|
toDB() {
|
|
1178
|
-
return this._container
|
|
1179
|
-
.resolve(interfaces_1.TableQueryCompiler, [this])
|
|
1180
|
-
.compile();
|
|
1059
|
+
return this._container.resolve(interfaces_1.TableQueryCompiler, [this]).compile();
|
|
1181
1060
|
}
|
|
1182
1061
|
}
|
|
1183
1062
|
exports.TableQueryBuilder = TableQueryBuilder;
|
|
@@ -1193,12 +1072,12 @@ let SchemaQueryBuilder = class SchemaQueryBuilder {
|
|
|
1193
1072
|
}
|
|
1194
1073
|
};
|
|
1195
1074
|
SchemaQueryBuilder = __decorate([
|
|
1196
|
-
di_1.NewInstance(),
|
|
1197
|
-
di_1.Inject(di_1.Container),
|
|
1075
|
+
(0, di_1.NewInstance)(),
|
|
1076
|
+
(0, di_1.Inject)(di_1.Container),
|
|
1198
1077
|
__metadata("design:paramtypes", [di_1.Container, driver_1.OrmDriver])
|
|
1199
1078
|
], SchemaQueryBuilder);
|
|
1200
1079
|
exports.SchemaQueryBuilder = SchemaQueryBuilder;
|
|
1201
|
-
Object.values(enums_1.ColumnType).forEach(type => {
|
|
1080
|
+
Object.values(enums_1.ColumnType).forEach((type) => {
|
|
1202
1081
|
TableQueryBuilder.prototype[type] = function (name, ...args) {
|
|
1203
1082
|
const _builder = new ColumnQueryBuilder(name, type, ...args);
|
|
1204
1083
|
this._columns.push(_builder);
|