@spinajs/orm 1.2.48 → 1.2.59
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 +8 -0
- package/lib/builders.js +25 -1
- package/lib/builders.js.map +1 -1
- package/lib/interfaces.d.ts +3 -0
- package/lib/interfaces.js +7 -1
- package/lib/interfaces.js.map +1 -1
- package/lib/orm.js +2 -3
- package/lib/orm.js.map +1 -1
- package/package.json +5 -5
- package/lib/helpers.d.ts +0 -1
- package/lib/helpers.js +0 -14
- package/lib/helpers.js.map +0 -1
- package/lib/log-common/src/index.d.ts +0 -180
- package/lib/log-common/src/index.js +0 -49
- package/lib/log-common/src/index.js.map +0 -1
- package/lib/orm/src/builders.d.ts +0 -429
- package/lib/orm/src/builders.js +0 -1082
- package/lib/orm/src/builders.js.map +0 -1
- package/lib/orm/src/cli.d.ts +0 -1
- package/lib/orm/src/cli.js +0 -2
- package/lib/orm/src/cli.js.map +0 -1
- package/lib/orm/src/converters.d.ts +0 -9
- package/lib/orm/src/converters.js +0 -22
- package/lib/orm/src/converters.js.map +0 -1
- package/lib/orm/src/decorators.d.ts +0 -122
- package/lib/orm/src/decorators.js +0 -380
- package/lib/orm/src/decorators.js.map +0 -1
- package/lib/orm/src/driver.d.ts +0 -77
- package/lib/orm/src/driver.js +0 -84
- package/lib/orm/src/driver.js.map +0 -1
- package/lib/orm/src/enums.d.ts +0 -111
- package/lib/orm/src/enums.js +0 -122
- package/lib/orm/src/enums.js.map +0 -1
- package/lib/orm/src/exceptions.d.ts +0 -6
- package/lib/orm/src/exceptions.js +0 -11
- package/lib/orm/src/exceptions.js.map +0 -1
- package/lib/orm/src/hydrators.d.ts +0 -16
- package/lib/orm/src/hydrators.js +0 -70
- package/lib/orm/src/hydrators.js.map +0 -1
- package/lib/orm/src/index.d.ts +0 -12
- package/lib/orm/src/index.js +0 -25
- package/lib/orm/src/index.js.map +0 -1
- package/lib/orm/src/interfaces.d.ts +0 -615
- package/lib/orm/src/interfaces.js +0 -186
- package/lib/orm/src/interfaces.js.map +0 -1
- package/lib/orm/src/model.d.ts +0 -135
- package/lib/orm/src/model.js +0 -449
- package/lib/orm/src/model.js.map +0 -1
- package/lib/orm/src/orm.d.ts +0 -59
- package/lib/orm/src/orm.js +0 -278
- package/lib/orm/src/orm.js.map +0 -1
- package/lib/orm/src/relations.d.ts +0 -96
- package/lib/orm/src/relations.js +0 -503
- package/lib/orm/src/relations.js.map +0 -1
- package/lib/orm/src/statements.d.ts +0 -132
- package/lib/orm/src/statements.js +0 -257
- package/lib/orm/src/statements.js.map +0 -1
- package/lib/orm/src/types.d.ts +0 -2
- package/lib/orm/src/types.js +0 -3
- package/lib/orm/src/types.js.map +0 -1
- package/lib/orm/src/wrappers.d.ts +0 -5
- package/lib/orm/src/wrappers.js +0 -13
- package/lib/orm/src/wrappers.js.map +0 -1
package/lib/orm/src/model.js
DELETED
|
@@ -1,449 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MODEL_STATIC_MIXINS = exports.ModelBase = exports.extractModelDescriptor = void 0;
|
|
4
|
-
/* eslint-disable prettier/prettier */
|
|
5
|
-
const relations_1 = require("./relations");
|
|
6
|
-
const decorators_1 = require("./decorators");
|
|
7
|
-
const interfaces_1 = require("./interfaces");
|
|
8
|
-
const builders_1 = require("./builders");
|
|
9
|
-
const di_1 = require("@spinajs/di");
|
|
10
|
-
const orm_1 = require("./orm");
|
|
11
|
-
const hydrators_1 = require("./hydrators");
|
|
12
|
-
const _ = require("lodash");
|
|
13
|
-
const uuid_1 = require("uuid");
|
|
14
|
-
const exceptions_1 = require("./exceptions");
|
|
15
|
-
function extractModelDescriptor(targetOrForward) {
|
|
16
|
-
const target = !(0, di_1.isConstructor)(targetOrForward) && targetOrForward ? targetOrForward() : targetOrForward;
|
|
17
|
-
if (!target) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
let descriptor = null;
|
|
21
|
-
_reduce(target);
|
|
22
|
-
return descriptor;
|
|
23
|
-
function _reduce(t) {
|
|
24
|
-
if (!t) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
if (t[decorators_1.MODEL_DESCTRIPTION_SYMBOL]) {
|
|
28
|
-
descriptor = descriptor !== null && descriptor !== void 0 ? descriptor : {};
|
|
29
|
-
_.mergeWith(descriptor, t[decorators_1.MODEL_DESCTRIPTION_SYMBOL], (a, b) => {
|
|
30
|
-
if (!a) {
|
|
31
|
-
return b;
|
|
32
|
-
}
|
|
33
|
-
if (Array.isArray(a)) {
|
|
34
|
-
return a.concat(b);
|
|
35
|
-
}
|
|
36
|
-
return a;
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
_reduce(t.prototype);
|
|
40
|
-
_reduce(t.__proto__);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.extractModelDescriptor = extractModelDescriptor;
|
|
44
|
-
class ModelBase {
|
|
45
|
-
/**
|
|
46
|
-
* Gets descriptor for this model. It contains information about relations, orm driver, connection properties,
|
|
47
|
-
* db table attached, column information and others.
|
|
48
|
-
*/
|
|
49
|
-
get ModelDescriptor() {
|
|
50
|
-
return extractModelDescriptor(this.constructor);
|
|
51
|
-
}
|
|
52
|
-
get PrimaryKeyName() {
|
|
53
|
-
return this.ModelDescriptor.PrimaryKey;
|
|
54
|
-
}
|
|
55
|
-
get PrimaryKeyValue() {
|
|
56
|
-
return this[this.PrimaryKeyName];
|
|
57
|
-
}
|
|
58
|
-
set PrimaryKeyValue(newVal) {
|
|
59
|
-
this[this.PrimaryKeyName] = newVal;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Get all data from db
|
|
63
|
-
*/
|
|
64
|
-
static all(_page, _perPage) {
|
|
65
|
-
throw Error('Not implemented');
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Inserts data to DB.
|
|
69
|
-
*
|
|
70
|
-
* @param _data - data to insert
|
|
71
|
-
*/
|
|
72
|
-
static insert(_data) {
|
|
73
|
-
throw Error('Not implemented');
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Search entities in db
|
|
77
|
-
*
|
|
78
|
-
* @param column - column to search or function
|
|
79
|
-
* @param operator - boolean operator
|
|
80
|
-
* @param value - value to compare
|
|
81
|
-
*/
|
|
82
|
-
static where(_column, _operator, _value) {
|
|
83
|
-
throw Error('Not implemented');
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Updates single or multiple records at once with provided value based on condition
|
|
87
|
-
*
|
|
88
|
-
* @param _data - data to set
|
|
89
|
-
*/
|
|
90
|
-
static update(_data) {
|
|
91
|
-
throw Error('Not implemented');
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Tries to find all models with given primary keys
|
|
95
|
-
*/
|
|
96
|
-
static find(_pks) {
|
|
97
|
-
throw Error('Not implemented');
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Tries to find all models in db. If not all exists, throws exception
|
|
101
|
-
*/
|
|
102
|
-
static findOrFail(_pks) {
|
|
103
|
-
throw Error('Not implemented');
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* gets model by specified pk, if not exists, returns null
|
|
107
|
-
*
|
|
108
|
-
*/
|
|
109
|
-
static get(_pk) {
|
|
110
|
-
throw Error('Not implemented');
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Finds model by specified pk. If model not exists in db throws exception
|
|
114
|
-
*
|
|
115
|
-
*/
|
|
116
|
-
static getOrFail(_pk) {
|
|
117
|
-
throw Error('Not implemented');
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
*
|
|
121
|
-
* Checks if model with pk key or unique fields exists and if not creates one AND NOT save in db
|
|
122
|
-
* NOTE: it checks for unique fields constraint
|
|
123
|
-
*/
|
|
124
|
-
static getOrNew(_pk, _data) {
|
|
125
|
-
throw Error('Not implemented');
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Creates raw query on this model. used for quering db for partial data or to perform some kind of operations
|
|
129
|
-
* that dont need full ORM model to involve
|
|
130
|
-
*/
|
|
131
|
-
static query() {
|
|
132
|
-
throw Error('Not implemented');
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
*
|
|
136
|
-
* Checks if model with pk key / unique fields exists and if not creates one and saves to db
|
|
137
|
-
* NOTE: it checks for unique fields too.
|
|
138
|
-
*
|
|
139
|
-
* @param data - model width data to check
|
|
140
|
-
*/
|
|
141
|
-
static getOrCreate(_pk, _data) {
|
|
142
|
-
throw Error('Not implemented');
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Creates new model & saves is to db
|
|
146
|
-
*
|
|
147
|
-
* @param data - initial model data
|
|
148
|
-
*/
|
|
149
|
-
static create(_data) {
|
|
150
|
-
throw Error('Not implemented');
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Deletes model from db
|
|
154
|
-
*
|
|
155
|
-
* @param pk - primary key
|
|
156
|
-
*/
|
|
157
|
-
static destroy(_pk) {
|
|
158
|
-
throw Error('Not implemented');
|
|
159
|
-
}
|
|
160
|
-
constructor(data) {
|
|
161
|
-
this.setDefaults();
|
|
162
|
-
if (data) {
|
|
163
|
-
Object.assign(this, data);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Fills model with data. It only fills properties that exists in database
|
|
168
|
-
*
|
|
169
|
-
* @param data - data to fill
|
|
170
|
-
*/
|
|
171
|
-
hydrate(data) {
|
|
172
|
-
di_1.DI.resolve(Array.ofType(hydrators_1.ModelHydrator)).forEach((h) => h.hydrate(this, data));
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Extracts all data from model. It takes only properties that exists in DB
|
|
176
|
-
*/
|
|
177
|
-
dehydrate() {
|
|
178
|
-
var _a;
|
|
179
|
-
const obj = {};
|
|
180
|
-
(_a = this.ModelDescriptor.Columns) === null || _a === void 0 ? void 0 : _a.forEach((c) => {
|
|
181
|
-
const val = this[c.Name];
|
|
182
|
-
if (!c.Nullable && (val === null || val === undefined || val === '')) {
|
|
183
|
-
throw new exceptions_1.OrmException(`Field ${c.Name} cannot be null`);
|
|
184
|
-
}
|
|
185
|
-
obj[c.Name] = c.Converter ? c.Converter.toDB(val) : val;
|
|
186
|
-
});
|
|
187
|
-
for (const [, val] of this.ModelDescriptor.Relations) {
|
|
188
|
-
if (val.Type === interfaces_1.RelationType.One) {
|
|
189
|
-
if (this[val.Name]) {
|
|
190
|
-
obj[val.ForeignKey] = this[val.Name].PrimaryKeyValue;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
return obj;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* deletes enitt from db. If model have SoftDelete decorator, model is marked as deleted
|
|
198
|
-
*/
|
|
199
|
-
async destroy() {
|
|
200
|
-
if (!this.PrimaryKeyValue) {
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
await this.constructor.destroy(this.PrimaryKeyValue);
|
|
204
|
-
}
|
|
205
|
-
async update() {
|
|
206
|
-
const { query } = _createQuery(this.constructor, builders_1.UpdateQueryBuilder);
|
|
207
|
-
if (this.ModelDescriptor.Timestamps.UpdatedAt) {
|
|
208
|
-
this[this.ModelDescriptor.Timestamps.UpdatedAt] = new Date();
|
|
209
|
-
}
|
|
210
|
-
await query.update(this.dehydrate()).where(this.PrimaryKeyName, this.PrimaryKeyValue);
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Save all changes to db. It creates new entry id db or updates existing one if
|
|
214
|
-
* primary key exists
|
|
215
|
-
*/
|
|
216
|
-
async insert(insertBehaviour = interfaces_1.InsertBehaviour.None) {
|
|
217
|
-
const self = this;
|
|
218
|
-
const { query, description } = _createQuery(this.constructor, builders_1.InsertQueryBuilder);
|
|
219
|
-
switch (insertBehaviour) {
|
|
220
|
-
case interfaces_1.InsertBehaviour.OnDuplicateIgnore:
|
|
221
|
-
query.ignore();
|
|
222
|
-
break;
|
|
223
|
-
case interfaces_1.InsertBehaviour.OnDuplicateUpdate:
|
|
224
|
-
query.onDuplicate().update(description.Columns.filter((c) => !c.PrimaryKey).map((c) => c.Name));
|
|
225
|
-
break;
|
|
226
|
-
}
|
|
227
|
-
const id = await query.values(this.dehydrate());
|
|
228
|
-
// ignore fired, we dont have insert ID
|
|
229
|
-
if (insertBehaviour !== interfaces_1.InsertBehaviour.None && id === 0 && !this.PrimaryKeyValue) {
|
|
230
|
-
const { query, description } = _createQuery(this.constructor, builders_1.SelectQueryBuilder, false);
|
|
231
|
-
const idRes = await query
|
|
232
|
-
.columns([this.PrimaryKeyName])
|
|
233
|
-
.where(function () {
|
|
234
|
-
description.Columns.filter((c) => c.Unique).forEach((c) => {
|
|
235
|
-
this.where(c, self[c.Name]);
|
|
236
|
-
});
|
|
237
|
-
})
|
|
238
|
-
.first();
|
|
239
|
-
this.PrimaryKeyValue = idRes[this.PrimaryKeyName];
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
this.PrimaryKeyValue = id;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Gets model data from database and returns as fresh instance.
|
|
247
|
-
*/
|
|
248
|
-
async fresh() {
|
|
249
|
-
return this.constructor.get(this.PrimaryKeyValue);
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* sets default values for model. values are taken from DB default column prop
|
|
253
|
-
*/
|
|
254
|
-
setDefaults() {
|
|
255
|
-
var _a;
|
|
256
|
-
(_a = this.ModelDescriptor.Columns) === null || _a === void 0 ? void 0 : _a.forEach((c) => {
|
|
257
|
-
if (c.Uuid) {
|
|
258
|
-
this[c.Name] = (0, uuid_1.v4)();
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
this[c.Name] = c.DefaultValue;
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
if (this.ModelDescriptor.Timestamps.CreatedAt) {
|
|
265
|
-
this[this.ModelDescriptor.Timestamps.CreatedAt] = new Date();
|
|
266
|
-
}
|
|
267
|
-
for (const [, rel] of this.ModelDescriptor.Relations) {
|
|
268
|
-
if (rel.Type === interfaces_1.RelationType.Many) {
|
|
269
|
-
this[rel.Name] = new relations_1.OneToManyRelationList(this, rel.TargetModel, rel, []);
|
|
270
|
-
}
|
|
271
|
-
else if (rel.Type === interfaces_1.RelationType.ManyToMany) {
|
|
272
|
-
this[rel.Name] = new relations_1.ManyToManyRelationList(this, rel.TargetModel, rel, []);
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
this[rel.Name] = null;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
exports.ModelBase = ModelBase;
|
|
281
|
-
function _descriptor(model) {
|
|
282
|
-
return model[decorators_1.MODEL_DESCTRIPTION_SYMBOL];
|
|
283
|
-
}
|
|
284
|
-
function _createQuery(model, query, injectModel = true) {
|
|
285
|
-
const dsc = _descriptor(model);
|
|
286
|
-
if (!dsc) {
|
|
287
|
-
throw new Error(`model ${model.name} does not have model descriptor. Use @model decorator on class`);
|
|
288
|
-
}
|
|
289
|
-
const orm = di_1.DI.get(orm_1.Orm);
|
|
290
|
-
const driver = orm.Connections.get(dsc.Connection);
|
|
291
|
-
if (!driver) {
|
|
292
|
-
throw new Error(`model ${model.name} have invalid connection ${dsc.Connection}, please check your db config file or model connection name`);
|
|
293
|
-
}
|
|
294
|
-
const cnt = driver.Container;
|
|
295
|
-
const qr = cnt.resolve(query, [driver, injectModel ? model : null]);
|
|
296
|
-
qr.middleware(new relations_1.DiscriminationMapMiddleware(dsc));
|
|
297
|
-
qr.setTable(dsc.TableName);
|
|
298
|
-
if (driver.Options.Database) {
|
|
299
|
-
qr.schema(driver.Options.Database);
|
|
300
|
-
}
|
|
301
|
-
return {
|
|
302
|
-
query: qr,
|
|
303
|
-
description: dsc,
|
|
304
|
-
model,
|
|
305
|
-
};
|
|
306
|
-
}
|
|
307
|
-
exports.MODEL_STATIC_MIXINS = {
|
|
308
|
-
query() {
|
|
309
|
-
const { query } = _createQuery(this, builders_1.SelectQueryBuilder, false);
|
|
310
|
-
return query;
|
|
311
|
-
},
|
|
312
|
-
where(column, operator, value) {
|
|
313
|
-
const { query } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
314
|
-
query.select('*');
|
|
315
|
-
return query.where(column, operator, value);
|
|
316
|
-
},
|
|
317
|
-
update(data) {
|
|
318
|
-
const { query } = _createQuery(this, builders_1.UpdateQueryBuilder);
|
|
319
|
-
return query.update(data);
|
|
320
|
-
},
|
|
321
|
-
all(page, perPage) {
|
|
322
|
-
const { query } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
323
|
-
query.select('*');
|
|
324
|
-
if (page >= 0 && perPage > 0) {
|
|
325
|
-
query.take(perPage).skip(page * perPage);
|
|
326
|
-
}
|
|
327
|
-
return query;
|
|
328
|
-
},
|
|
329
|
-
/**
|
|
330
|
-
* Try to insert new value
|
|
331
|
-
*/
|
|
332
|
-
insert(data) {
|
|
333
|
-
const { query } = _createQuery(this, builders_1.InsertQueryBuilder);
|
|
334
|
-
if (Array.isArray(data)) {
|
|
335
|
-
query.values(data.map((d) => {
|
|
336
|
-
if (d instanceof ModelBase) {
|
|
337
|
-
return d.dehydrate();
|
|
338
|
-
}
|
|
339
|
-
return d;
|
|
340
|
-
}));
|
|
341
|
-
}
|
|
342
|
-
else {
|
|
343
|
-
if (data instanceof ModelBase) {
|
|
344
|
-
query.values(data.dehydrate());
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
query.values(data);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
return query;
|
|
351
|
-
},
|
|
352
|
-
async find(pks) {
|
|
353
|
-
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
354
|
-
const pkey = description.PrimaryKey;
|
|
355
|
-
query.select('*');
|
|
356
|
-
query.whereIn(pkey, pks);
|
|
357
|
-
return await query;
|
|
358
|
-
},
|
|
359
|
-
async findOrFail(pks) {
|
|
360
|
-
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
361
|
-
const pkey = description.PrimaryKey;
|
|
362
|
-
const middleware = {
|
|
363
|
-
afterData(data) {
|
|
364
|
-
if (data.length !== pks.length) {
|
|
365
|
-
throw new Error(`could not find all of pkeys in model ${this.model.name}`);
|
|
366
|
-
}
|
|
367
|
-
return data;
|
|
368
|
-
},
|
|
369
|
-
modelCreation(_) {
|
|
370
|
-
return null;
|
|
371
|
-
},
|
|
372
|
-
// tslint:disable-next-line: no-empty
|
|
373
|
-
async afterHydration(_data) { },
|
|
374
|
-
};
|
|
375
|
-
query.select('*');
|
|
376
|
-
query.whereIn(pkey, pks);
|
|
377
|
-
query.middleware(middleware);
|
|
378
|
-
return await query;
|
|
379
|
-
},
|
|
380
|
-
async get(pk) {
|
|
381
|
-
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
382
|
-
const pkey = description.PrimaryKey;
|
|
383
|
-
query.select('*');
|
|
384
|
-
query.where(pkey, pk);
|
|
385
|
-
return await query.first();
|
|
386
|
-
},
|
|
387
|
-
async getOrFail(pk) {
|
|
388
|
-
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
389
|
-
const pkey = description.PrimaryKey;
|
|
390
|
-
query.select('*');
|
|
391
|
-
query.where(pkey, pk);
|
|
392
|
-
return await query.firstOrFail();
|
|
393
|
-
},
|
|
394
|
-
async destroy(pks) {
|
|
395
|
-
var _a;
|
|
396
|
-
const description = _descriptor(this);
|
|
397
|
-
const orm = di_1.DI.get(orm_1.Orm);
|
|
398
|
-
const driver = orm.Connections.get(description.Connection);
|
|
399
|
-
const converter = driver.Container.resolve(interfaces_1.DatetimeValueConverter);
|
|
400
|
-
const data = Array.isArray(pks) ? pks : [pks];
|
|
401
|
-
if ((_a = description.SoftDelete) === null || _a === void 0 ? void 0 : _a.DeletedAt) {
|
|
402
|
-
const { query } = _createQuery(this, builders_1.UpdateQueryBuilder);
|
|
403
|
-
await query.whereIn(description.PrimaryKey, data).update({
|
|
404
|
-
[description.SoftDelete.DeletedAt]: converter.toDB(new Date()),
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
|
-
else {
|
|
408
|
-
const { query } = _createQuery(this, builders_1.DeleteQueryBuilder);
|
|
409
|
-
await query.whereIn(description.PrimaryKey, data);
|
|
410
|
-
}
|
|
411
|
-
},
|
|
412
|
-
async create(data) {
|
|
413
|
-
const entity = new (Function.prototype.bind.apply(this))(data);
|
|
414
|
-
await entity.insert();
|
|
415
|
-
return entity;
|
|
416
|
-
},
|
|
417
|
-
async getOrCreate(pk, data) {
|
|
418
|
-
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
419
|
-
// pk constrain
|
|
420
|
-
query.where(description.PrimaryKey, pk);
|
|
421
|
-
// check for all unique columns ( unique constrain )
|
|
422
|
-
description.Columns.filter((c) => c.Unique).forEach((c) => {
|
|
423
|
-
query.andWhere(c, data[c.Name]);
|
|
424
|
-
});
|
|
425
|
-
let entity = (await query.first());
|
|
426
|
-
if (!entity) {
|
|
427
|
-
entity = new (Function.prototype.bind.apply(this))(data);
|
|
428
|
-
await entity.insert();
|
|
429
|
-
return entity;
|
|
430
|
-
}
|
|
431
|
-
return entity;
|
|
432
|
-
},
|
|
433
|
-
async getOrNew(pk, data) {
|
|
434
|
-
const { query, description } = _createQuery(this, builders_1.SelectQueryBuilder);
|
|
435
|
-
// pk constrain
|
|
436
|
-
query.where(description.PrimaryKey, pk);
|
|
437
|
-
// check for all unique columns ( unique constrain )
|
|
438
|
-
description.Columns.filter((c) => c.Unique).forEach((c) => {
|
|
439
|
-
query.andWhere(c, data[c.Name]);
|
|
440
|
-
});
|
|
441
|
-
let entity = (await query.first());
|
|
442
|
-
if (!entity) {
|
|
443
|
-
entity = new (Function.prototype.bind.apply(this))(data);
|
|
444
|
-
return entity;
|
|
445
|
-
}
|
|
446
|
-
return entity;
|
|
447
|
-
},
|
|
448
|
-
};
|
|
449
|
-
//# sourceMappingURL=model.js.map
|
package/lib/orm/src/model.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
|
package/lib/orm/src/orm.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Configuration } from '@spinajs/configuration';
|
|
2
|
-
import { AsyncModule, Container, Class } from '@spinajs/di';
|
|
3
|
-
import { Log } from '@spinajs/log';
|
|
4
|
-
import { ClassInfo } from '@spinajs/reflection';
|
|
5
|
-
import { OrmMigration } from './interfaces';
|
|
6
|
-
import { ModelBase } from './model';
|
|
7
|
-
import { OrmDriver } from './driver';
|
|
8
|
-
export declare class Orm extends AsyncModule {
|
|
9
|
-
Models: Array<ClassInfo<ModelBase>>;
|
|
10
|
-
Migrations: Array<ClassInfo<OrmMigration>>;
|
|
11
|
-
Connections: Map<string, OrmDriver>;
|
|
12
|
-
Container: Container;
|
|
13
|
-
protected Log: Log;
|
|
14
|
-
protected Configuration: Configuration;
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
* Migrates schema up ( fill function is not executed )
|
|
18
|
-
*
|
|
19
|
-
* @param name - migration file name
|
|
20
|
-
*/
|
|
21
|
-
migrateUp(name?: string): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
* Migrates schema up ( fill function is not executed )
|
|
25
|
-
*
|
|
26
|
-
* @param name - migration file name
|
|
27
|
-
*/
|
|
28
|
-
migrateDown(name?: string): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* This function is exposed mainly for unit testing purposes. It reloads table information for models
|
|
31
|
-
* ORM always try to load table at resolve time
|
|
32
|
-
*/
|
|
33
|
-
reloadTableInfo(): Promise<void>;
|
|
34
|
-
resolveAsync(): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
* Register model to ORM programatically so ORM can see it and use it. Sometimes dynamical model discovery is not possible eg.
|
|
38
|
-
* in webpack evnironment. In such case we must tell ORM manually what to load.
|
|
39
|
-
*
|
|
40
|
-
* NOTE: use it in ORM constructor before ORM is resolved & model list used.
|
|
41
|
-
*
|
|
42
|
-
* @param model - model to register
|
|
43
|
-
*/
|
|
44
|
-
protected registerModel<T extends ModelBase>(model: Class<T>): void;
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
* Register migration to ORM programatically so ORM can see it and use it. Sometimes dynamical migration discovery is not possible eg.
|
|
48
|
-
* in webpack evnironment. In such case we must tell ORM manually what to load.
|
|
49
|
-
*
|
|
50
|
-
* NOTE: use it in ORM constructor before ORM is resolved & migrate function used.
|
|
51
|
-
*
|
|
52
|
-
* @param model - model to register
|
|
53
|
-
*/
|
|
54
|
-
protected registerMigration<T extends OrmMigration>(migration: Class<T>): void;
|
|
55
|
-
private createConnections;
|
|
56
|
-
private applyModelMixins;
|
|
57
|
-
private executeAvaibleMigrations;
|
|
58
|
-
private prepareMigrations;
|
|
59
|
-
}
|