@spinajs/orm 2.0.38 → 2.0.39
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 +94 -8
- package/lib/builders.js +158 -48
- package/lib/builders.js.map +1 -1
- package/lib/converters.d.ts +6 -1
- package/lib/converters.js +36 -1
- package/lib/converters.js.map +1 -1
- package/lib/decorators.d.ts +33 -3
- package/lib/decorators.js +87 -18
- package/lib/decorators.js.map +1 -1
- package/lib/dehydrators.js +1 -1
- package/lib/dehydrators.js.map +1 -1
- package/lib/driver.d.ts +4 -5
- package/lib/driver.js +2 -3
- package/lib/driver.js.map +1 -1
- package/lib/enums.d.ts +3 -2
- package/lib/enums.js +1 -0
- package/lib/enums.js.map +1 -1
- package/lib/hydrators.js +1 -1
- package/lib/hydrators.js.map +1 -1
- package/lib/interfaces.d.ts +78 -13
- package/lib/interfaces.js +49 -3
- package/lib/interfaces.js.map +1 -1
- package/lib/model.d.ts +52 -33
- package/lib/model.js +81 -39
- package/lib/model.js.map +1 -1
- package/lib/orm.d.ts +4 -3
- package/lib/orm.js +18 -18
- package/lib/orm.js.map +1 -1
- package/lib/relations.d.ts +13 -7
- package/lib/relations.js +14 -7
- package/lib/relations.js.map +1 -1
- package/lib/statements.d.ts +11 -3
- package/lib/statements.js +42 -8
- package/lib/statements.js.map +1 -1
- package/lib/types.d.ts +8 -0
- package/package.json +8 -8
- package/lib/cli.d.ts +0 -1
- package/lib/cli.js +0 -2
- package/lib/cli.js.map +0 -1
package/lib/model.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PickRelations } from './types';
|
|
2
|
+
import { Relation } from './relations';
|
|
3
|
+
import { IModelDescriptor, InsertBehaviour, IUpdateResult, IWhereBuilder, QueryScope, IHistoricalModel } from './interfaces';
|
|
2
4
|
import { WhereFunction } from './types';
|
|
3
|
-
import { RawQuery, UpdateQueryBuilder, QueryBuilder, SelectQueryBuilder, InsertQueryBuilder } from './builders';
|
|
5
|
+
import { RawQuery, UpdateQueryBuilder, TruncateTableQueryBuilder, QueryBuilder, SelectQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder } from './builders';
|
|
4
6
|
import { Op } from './enums';
|
|
5
7
|
import { Class, IContainer } from '@spinajs/di';
|
|
6
8
|
import { Wrap } from './statements';
|
|
9
|
+
import { DateTime } from 'luxon';
|
|
10
|
+
import { OrmDriver } from './driver';
|
|
7
11
|
export declare function extractModelDescriptor(targetOrForward: any): IModelDescriptor;
|
|
8
12
|
export interface IModelBase {
|
|
9
13
|
ModelDescriptor: IModelDescriptor;
|
|
@@ -57,14 +61,16 @@ export interface IModelBase {
|
|
|
57
61
|
*/
|
|
58
62
|
refresh(): Promise<void>;
|
|
59
63
|
toJSON(): any;
|
|
64
|
+
driver(): OrmDriver;
|
|
60
65
|
}
|
|
61
|
-
export declare class ModelBase implements IModelBase {
|
|
66
|
+
export declare class ModelBase<M = unknown> implements IModelBase {
|
|
62
67
|
private _container;
|
|
63
68
|
/**
|
|
64
|
-
* List of hidden properties from JSON /
|
|
69
|
+
* List of hidden properties from JSON / dehydrations
|
|
65
70
|
* eg. password field of user
|
|
66
71
|
*/
|
|
67
72
|
protected _hidden: string[];
|
|
73
|
+
static readonly _queryScopes: QueryScope;
|
|
68
74
|
/**
|
|
69
75
|
* Gets descriptor for this model. It contains information about relations, orm driver, connection properties,
|
|
70
76
|
* db table attached, column information and others.
|
|
@@ -77,10 +83,15 @@ export declare class ModelBase implements IModelBase {
|
|
|
77
83
|
get PrimaryKeyName(): string;
|
|
78
84
|
get PrimaryKeyValue(): any;
|
|
79
85
|
set PrimaryKeyValue(newVal: any);
|
|
86
|
+
driver(): OrmDriver;
|
|
80
87
|
/**
|
|
81
88
|
* Recursivelly takes all relation data and returns as single array
|
|
82
89
|
*/
|
|
83
90
|
getFlattenRelationModels(recursive?: boolean): ModelBase[];
|
|
91
|
+
/**
|
|
92
|
+
* Clears all data in table
|
|
93
|
+
*/
|
|
94
|
+
static truncate(): void;
|
|
84
95
|
/**
|
|
85
96
|
* Get all data from db
|
|
86
97
|
*/
|
|
@@ -90,7 +101,7 @@ export declare class ModelBase implements IModelBase {
|
|
|
90
101
|
*
|
|
91
102
|
* @param _data - data to insert
|
|
92
103
|
*/
|
|
93
|
-
static insert<T extends typeof ModelBase>(this: T, _data: InstanceType<T> | Partial<InstanceType<T>> | Array<InstanceType<T>> | Array<Partial<InstanceType<T>>>, _insertBehaviour?: InsertBehaviour): InsertQueryBuilder;
|
|
104
|
+
static insert<T extends typeof ModelBase>(this: T, _data: InstanceType<T> | Partial<InstanceType<T>> | PickRelations<T, Relation<any, any>> | Array<InstanceType<T>> | Array<Partial<InstanceType<T>>>, _insertBehaviour?: InsertBehaviour): InsertQueryBuilder;
|
|
94
105
|
/**
|
|
95
106
|
* Search entities in db
|
|
96
107
|
*
|
|
@@ -98,19 +109,19 @@ export declare class ModelBase implements IModelBase {
|
|
|
98
109
|
* @param operator - boolean operator
|
|
99
110
|
* @param value - value to compare
|
|
100
111
|
*/
|
|
101
|
-
static where<T extends typeof ModelBase>(this: T, val: boolean): SelectQueryBuilder<Array<InstanceType<T
|
|
102
|
-
static where<T extends typeof ModelBase>(this: T, val: Partial<InstanceType<T>>): SelectQueryBuilder<Array<InstanceType<T
|
|
103
|
-
static where<T extends typeof ModelBase>(this: T, func: WhereFunction<InstanceType<T>>): SelectQueryBuilder<Array<InstanceType<T
|
|
104
|
-
static where<T extends typeof ModelBase>(this: T, column: string, operator: Op, value: any): SelectQueryBuilder<Array<InstanceType<T
|
|
105
|
-
static where<T extends typeof ModelBase>(this: T, column: string, value: any): SelectQueryBuilder<Array<InstanceType<T
|
|
106
|
-
static where<T extends typeof ModelBase>(this: T, statement: Wrap): SelectQueryBuilder<Array<InstanceType<T
|
|
107
|
-
static where<T extends typeof ModelBase>(this: T, column: string | boolean | WhereFunction<InstanceType<T>> | RawQuery | Partial<InstanceType<T>> | Wrap, operator?: Op | any, value?: any): SelectQueryBuilder<Array<InstanceType<T
|
|
112
|
+
static where<T extends typeof ModelBase>(this: T, val: boolean): SelectQueryBuilder<Array<InstanceType<T>>> & T['_queryScopes'];
|
|
113
|
+
static where<T extends typeof ModelBase>(this: T, val: Partial<InstanceType<T>> | PickRelations<T, Relation<any, any>>): SelectQueryBuilder<Array<InstanceType<T>>> & T['_queryScopes'];
|
|
114
|
+
static where<T extends typeof ModelBase>(this: T, func: WhereFunction<InstanceType<T>>): SelectQueryBuilder<Array<InstanceType<T>>> & T['_queryScopes'];
|
|
115
|
+
static where<T extends typeof ModelBase>(this: T, column: string, operator: Op, value: any): SelectQueryBuilder<Array<InstanceType<T>>> & T['_queryScopes'];
|
|
116
|
+
static where<T extends typeof ModelBase>(this: T, column: string, value: any): SelectQueryBuilder<Array<InstanceType<T>>> & T['_queryScopes'];
|
|
117
|
+
static where<T extends typeof ModelBase>(this: T, statement: Wrap): SelectQueryBuilder<Array<InstanceType<T>>> & T['_queryScopes'];
|
|
118
|
+
static where<T extends typeof ModelBase>(this: T, column: string | boolean | WhereFunction<InstanceType<T>> | RawQuery | Partial<InstanceType<T>> | Wrap | PickRelations<T, Relation<any, any>>, operator?: Op | any, value?: any): SelectQueryBuilder<Array<InstanceType<T>>> & T['_queryScopes'];
|
|
108
119
|
/**
|
|
109
120
|
* Updates single or multiple records at once with provided value based on condition
|
|
110
121
|
*
|
|
111
122
|
* @param _data - data to set
|
|
112
123
|
*/
|
|
113
|
-
static update<T extends typeof ModelBase>(this: T, _data: Partial<InstanceType<T>>): UpdateQueryBuilder<InstanceType<T
|
|
124
|
+
static update<T extends typeof ModelBase>(this: T, _data: Partial<InstanceType<T>>): UpdateQueryBuilder<InstanceType<T>> & T['_queryScopes'];
|
|
114
125
|
/**
|
|
115
126
|
* Tries to find all models with given primary keys
|
|
116
127
|
*/
|
|
@@ -120,25 +131,25 @@ export declare class ModelBase implements IModelBase {
|
|
|
120
131
|
*
|
|
121
132
|
* Orders by Primary key, if pk not exists then by unique constraints and lastly by CreateAt if no unique columns exists.
|
|
122
133
|
*/
|
|
123
|
-
static first<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T>) => void): Promise<number>;
|
|
134
|
+
static first<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T> & T['_queryScopes']) => void): Promise<number>;
|
|
124
135
|
/**
|
|
125
136
|
* Tries to get first result from db
|
|
126
137
|
*
|
|
127
138
|
* Orders by Primary key, if pk not exists then by unique constraints and lastly by CreateAt if no unique columns exists.
|
|
128
139
|
*/
|
|
129
|
-
static last<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T>) => void): Promise<InstanceType<T>>;
|
|
140
|
+
static last<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T> & T['_queryScopes']) => void): Promise<InstanceType<T>>;
|
|
130
141
|
/**
|
|
131
142
|
* Tries to get newest result from db. It throws if model dont have CreatedAt decorated property
|
|
132
143
|
*/
|
|
133
|
-
static newest<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T>) => void): Promise<InstanceType<T>>;
|
|
144
|
+
static newest<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T> & T['_queryScopes']) => void): Promise<InstanceType<T>>;
|
|
134
145
|
/**
|
|
135
146
|
* Tries to get oldest result from db. It throws if model dont have CreatedAt decorated property
|
|
136
147
|
*/
|
|
137
|
-
static oldest<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T>) => void): Promise<InstanceType<T>>;
|
|
148
|
+
static oldest<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T> & T['_queryScopes']) => void): Promise<InstanceType<T>>;
|
|
138
149
|
/**
|
|
139
150
|
* Returns total count of entries in db for this model
|
|
140
151
|
*/
|
|
141
|
-
static count<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T>) => void): Promise<InstanceType<T>>;
|
|
152
|
+
static count<T extends typeof ModelBase>(this: T, callback?: (builder: IWhereBuilder<T> & T['_queryScopes']) => void): Promise<InstanceType<T>>;
|
|
142
153
|
/**
|
|
143
154
|
* Tries to find all models in db. If not all exists, throws exception
|
|
144
155
|
*/
|
|
@@ -160,10 +171,10 @@ export declare class ModelBase implements IModelBase {
|
|
|
160
171
|
*/
|
|
161
172
|
static getOrNew<T extends typeof ModelBase>(this: T, _pk?: any, _data?: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
|
|
162
173
|
/**
|
|
163
|
-
* Creates
|
|
164
|
-
* that dont need full ORM model to involve
|
|
174
|
+
* Creates query on this model. used for quering db for partial data, to perform some kind of operations
|
|
175
|
+
* that dont need full ORM model to involve, or other non standard operations eg. joins or raw data queries based on this model
|
|
165
176
|
*/
|
|
166
|
-
static query<T>(this: T): SelectQueryBuilder<T
|
|
177
|
+
static query<T extends typeof ModelBase>(this: T): SelectQueryBuilder<InstanceType<T>> & T['_queryScopes'];
|
|
167
178
|
/**
|
|
168
179
|
*
|
|
169
180
|
* Checks if model with pk key / unique fields exists and if not creates one and saves to db
|
|
@@ -183,8 +194,8 @@ export declare class ModelBase implements IModelBase {
|
|
|
183
194
|
*
|
|
184
195
|
* @param pk - primary key
|
|
185
196
|
*/
|
|
186
|
-
static destroy(_pk?: any | any[]):
|
|
187
|
-
constructor(data?:
|
|
197
|
+
static destroy<T extends typeof ModelBase>(this: T, _pk?: any | any[]): DeleteQueryBuilder<InstanceType<T>> & T['_queryScopes'];
|
|
198
|
+
constructor(data?: Partial<M>);
|
|
188
199
|
/**
|
|
189
200
|
* Fills model with data. It only fills properties that exists in database
|
|
190
201
|
*
|
|
@@ -252,6 +263,12 @@ export declare class ModelBase implements IModelBase {
|
|
|
252
263
|
model: Class<any>;
|
|
253
264
|
};
|
|
254
265
|
}
|
|
266
|
+
export declare abstract class HistoricalModel implements IHistoricalModel {
|
|
267
|
+
readonly __action__: 'update' | 'insert' | 'delete';
|
|
268
|
+
readonly __revision__: number;
|
|
269
|
+
readonly __start__: DateTime;
|
|
270
|
+
readonly __end__: DateTime;
|
|
271
|
+
}
|
|
255
272
|
/**
|
|
256
273
|
* Helper function to create query based on model
|
|
257
274
|
*
|
|
@@ -262,11 +279,13 @@ export declare class ModelBase implements IModelBase {
|
|
|
262
279
|
* @returns
|
|
263
280
|
*/
|
|
264
281
|
export declare function createQuery<T extends QueryBuilder>(model: Class<any>, query: Class<T>, injectModel?: boolean): {
|
|
265
|
-
query: T extends import("@spinajs/di").
|
|
282
|
+
query: T extends import("@spinajs/di").AsyncService ? Promise<T> : T;
|
|
266
283
|
description: IModelDescriptor;
|
|
267
284
|
model: Class<any>;
|
|
268
285
|
};
|
|
269
286
|
export declare const MODEL_STATIC_MIXINS: {
|
|
287
|
+
truncate(): TruncateTableQueryBuilder;
|
|
288
|
+
driver(): OrmDriver;
|
|
270
289
|
query(): SelectQueryBuilder;
|
|
271
290
|
where(column: string | boolean | WhereFunction<any> | RawQuery | Wrap | {}, operator?: Op | any, value?: any): SelectQueryBuilder;
|
|
272
291
|
update<T extends typeof ModelBase>(data: Partial<InstanceType<T>>): UpdateQueryBuilder<unknown>;
|
|
@@ -279,13 +298,13 @@ export declare const MODEL_STATIC_MIXINS: {
|
|
|
279
298
|
findOrFail<T_3 extends typeof ModelBase>(this: T_3, pks: any[]): Promise<InstanceType<T_3>[]>;
|
|
280
299
|
get<T_4 extends typeof ModelBase>(this: T_4, pk: any): Promise<InstanceType<T_4>>;
|
|
281
300
|
getOrFail<T_5 extends typeof ModelBase>(this: T_5, pk: any): Promise<InstanceType<T_5>>;
|
|
282
|
-
destroy(pks
|
|
283
|
-
create<
|
|
284
|
-
getOrCreate<
|
|
285
|
-
getOrNew<
|
|
286
|
-
first<
|
|
287
|
-
last<
|
|
288
|
-
newest<
|
|
289
|
-
oldest<
|
|
290
|
-
count<
|
|
301
|
+
destroy<T_6 extends typeof ModelBase>(pks?: any | any[]): IWhereBuilder<InstanceType<T_6>>;
|
|
302
|
+
create<T_7 extends typeof ModelBase>(this: T_7, data: Partial<InstanceType<T_7>>): Promise<InstanceType<T_7>>;
|
|
303
|
+
getOrCreate<T_8 extends typeof ModelBase>(this: T_8, pk: any, data: Partial<InstanceType<T_8>>): Promise<InstanceType<T_8>>;
|
|
304
|
+
getOrNew<T_9 extends typeof ModelBase>(this: T_9, pk: any, data?: Partial<InstanceType<T_9>>): Promise<InstanceType<T_9>>;
|
|
305
|
+
first<T_10 extends typeof ModelBase>(this: T_10, callback?: (builder: IWhereBuilder<T_10>) => void): Promise<InstanceType<T_10>>;
|
|
306
|
+
last<T_11 extends typeof ModelBase>(this: T_11, callback?: (builder: IWhereBuilder<T_11>) => void): Promise<InstanceType<T_11>>;
|
|
307
|
+
newest<T_12 extends typeof ModelBase>(this: T_12, callback?: (builder: IWhereBuilder<T_12>) => void): Promise<InstanceType<T_12>>;
|
|
308
|
+
oldest<T_13 extends typeof ModelBase>(this: T_13, callback?: (builder: IWhereBuilder<T_13>) => void): Promise<InstanceType<T_13>>;
|
|
309
|
+
count<T_14 extends typeof ModelBase>(this: T_14, callback?: (builder: IWhereBuilder<T_14>) => void): Promise<number>;
|
|
291
310
|
};
|
package/lib/model.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.MODEL_STATIC_MIXINS = exports.createQuery = exports.ModelBase = exports.extractModelDescriptor = void 0;
|
|
26
|
+
exports.MODEL_STATIC_MIXINS = exports.createQuery = exports.HistoricalModel = exports.ModelBase = exports.extractModelDescriptor = void 0;
|
|
27
27
|
/* eslint-disable prettier/prettier */
|
|
28
28
|
const relations_1 = require("./relations");
|
|
29
29
|
const enums_1 = require("./enums");
|
|
@@ -70,7 +70,7 @@ exports.extractModelDescriptor = extractModelDescriptor;
|
|
|
70
70
|
class ModelBase {
|
|
71
71
|
constructor(data) {
|
|
72
72
|
/**
|
|
73
|
-
* List of hidden properties from JSON /
|
|
73
|
+
* List of hidden properties from JSON / dehydrations
|
|
74
74
|
* eg. password field of user
|
|
75
75
|
*/
|
|
76
76
|
this._hidden = [];
|
|
@@ -125,6 +125,11 @@ class ModelBase {
|
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
|
+
driver() {
|
|
129
|
+
const orm = di_1.DI.get(orm_1.Orm);
|
|
130
|
+
const driver = orm.Connections.get(this.ModelDescriptor.Connection);
|
|
131
|
+
return driver;
|
|
132
|
+
}
|
|
128
133
|
/**
|
|
129
134
|
* Recursivelly takes all relation data and returns as single array
|
|
130
135
|
*/
|
|
@@ -146,11 +151,17 @@ class ModelBase {
|
|
|
146
151
|
};
|
|
147
152
|
return reduceRelations(this);
|
|
148
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Clears all data in table
|
|
156
|
+
*/
|
|
157
|
+
static truncate() {
|
|
158
|
+
throw new Error('Not implemented');
|
|
159
|
+
}
|
|
149
160
|
/**
|
|
150
161
|
* Get all data from db
|
|
151
162
|
*/
|
|
152
163
|
static all(_page, _perPage) {
|
|
153
|
-
throw Error('Not implemented');
|
|
164
|
+
throw new Error('Not implemented');
|
|
154
165
|
}
|
|
155
166
|
/**
|
|
156
167
|
* Inserts data to DB.
|
|
@@ -158,10 +169,10 @@ class ModelBase {
|
|
|
158
169
|
* @param _data - data to insert
|
|
159
170
|
*/
|
|
160
171
|
static insert(_data, _insertBehaviour = interfaces_1.InsertBehaviour.None) {
|
|
161
|
-
throw Error('Not implemented');
|
|
172
|
+
throw new Error('Not implemented');
|
|
162
173
|
}
|
|
163
174
|
static where(_column, _operator, _value) {
|
|
164
|
-
throw Error('Not implemented');
|
|
175
|
+
throw new Error('Not implemented');
|
|
165
176
|
}
|
|
166
177
|
/**
|
|
167
178
|
* Updates single or multiple records at once with provided value based on condition
|
|
@@ -169,48 +180,48 @@ class ModelBase {
|
|
|
169
180
|
* @param _data - data to set
|
|
170
181
|
*/
|
|
171
182
|
static update(_data) {
|
|
172
|
-
throw Error('Not implemented');
|
|
183
|
+
throw new Error('Not implemented');
|
|
173
184
|
}
|
|
174
185
|
/**
|
|
175
186
|
* Tries to find all models with given primary keys
|
|
176
187
|
*/
|
|
177
188
|
static find(_pks) {
|
|
178
|
-
throw Error('Not implemented');
|
|
189
|
+
throw new Error('Not implemented');
|
|
179
190
|
}
|
|
180
191
|
static first() {
|
|
181
|
-
throw Error('Not implemented');
|
|
192
|
+
throw new Error('Not implemented');
|
|
182
193
|
}
|
|
183
194
|
static last() {
|
|
184
|
-
throw Error('Not implemented');
|
|
195
|
+
throw new Error('Not implemented');
|
|
185
196
|
}
|
|
186
197
|
static newest() {
|
|
187
|
-
throw Error('Not implemented');
|
|
198
|
+
throw new Error('Not implemented');
|
|
188
199
|
}
|
|
189
200
|
static oldest() {
|
|
190
|
-
throw Error('Not implemented');
|
|
201
|
+
throw new Error('Not implemented');
|
|
191
202
|
}
|
|
192
203
|
static count() {
|
|
193
|
-
throw Error('Not implemented');
|
|
204
|
+
throw new Error('Not implemented');
|
|
194
205
|
}
|
|
195
206
|
/**
|
|
196
207
|
* Tries to find all models in db. If not all exists, throws exception
|
|
197
208
|
*/
|
|
198
209
|
static findOrFail(_pks) {
|
|
199
|
-
throw Error('Not implemented');
|
|
210
|
+
throw new Error('Not implemented');
|
|
200
211
|
}
|
|
201
212
|
/**
|
|
202
213
|
* gets model by specified pk, if not exists, returns null
|
|
203
214
|
*
|
|
204
215
|
*/
|
|
205
216
|
static get(_pk) {
|
|
206
|
-
throw Error('Not implemented');
|
|
217
|
+
throw new Error('Not implemented');
|
|
207
218
|
}
|
|
208
219
|
/**
|
|
209
220
|
* Finds model by specified pk. If model not exists in db throws exception
|
|
210
221
|
*
|
|
211
222
|
*/
|
|
212
223
|
static getOrFail(_pk) {
|
|
213
|
-
throw Error('Not implemented');
|
|
224
|
+
throw new Error('Not implemented');
|
|
214
225
|
}
|
|
215
226
|
/**
|
|
216
227
|
*
|
|
@@ -218,14 +229,14 @@ class ModelBase {
|
|
|
218
229
|
* NOTE: it checks for unique fields constraint
|
|
219
230
|
*/
|
|
220
231
|
static getOrNew(_pk, _data) {
|
|
221
|
-
throw Error('Not implemented');
|
|
232
|
+
throw new Error('Not implemented');
|
|
222
233
|
}
|
|
223
234
|
/**
|
|
224
|
-
* Creates
|
|
225
|
-
* that dont need full ORM model to involve
|
|
235
|
+
* Creates query on this model. used for quering db for partial data, to perform some kind of operations
|
|
236
|
+
* that dont need full ORM model to involve, or other non standard operations eg. joins or raw data queries based on this model
|
|
226
237
|
*/
|
|
227
238
|
static query() {
|
|
228
|
-
throw Error('Not implemented');
|
|
239
|
+
throw new Error('Not implemented');
|
|
229
240
|
}
|
|
230
241
|
/**
|
|
231
242
|
*
|
|
@@ -235,7 +246,7 @@ class ModelBase {
|
|
|
235
246
|
* @param data - model width data to check
|
|
236
247
|
*/
|
|
237
248
|
static getOrCreate(_pk, _data) {
|
|
238
|
-
throw Error('Not implemented');
|
|
249
|
+
throw new Error('Not implemented');
|
|
239
250
|
}
|
|
240
251
|
/**
|
|
241
252
|
* Creates new model & saves is to db
|
|
@@ -243,7 +254,7 @@ class ModelBase {
|
|
|
243
254
|
* @param data - initial model data
|
|
244
255
|
*/
|
|
245
256
|
static create(_data) {
|
|
246
|
-
throw Error('Not implemented');
|
|
257
|
+
throw new Error('Not implemented');
|
|
247
258
|
}
|
|
248
259
|
/**
|
|
249
260
|
* Deletes model from db
|
|
@@ -251,7 +262,7 @@ class ModelBase {
|
|
|
251
262
|
* @param pk - primary key
|
|
252
263
|
*/
|
|
253
264
|
static destroy(_pk) {
|
|
254
|
-
throw Error('Not implemented');
|
|
265
|
+
throw new Error('Not implemented');
|
|
255
266
|
}
|
|
256
267
|
/**
|
|
257
268
|
* Fills model with data. It only fills properties that exists in database
|
|
@@ -300,7 +311,7 @@ class ModelBase {
|
|
|
300
311
|
if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
|
|
301
312
|
throw new exceptions_1.OrmException(`Field ${c.Name} cannot be null`);
|
|
302
313
|
}
|
|
303
|
-
obj[c.Name] = c.Converter ? c.Converter.toDB(val) : val;
|
|
314
|
+
obj[c.Name] = c.Converter ? c.Converter.toDB(val, this, this.ModelDescriptor.Converters.get(c.Name).Options) : val;
|
|
304
315
|
});
|
|
305
316
|
for (const val of relArr) {
|
|
306
317
|
if (val.Type === interfaces_1.RelationType.One) {
|
|
@@ -416,7 +427,13 @@ class ModelBase {
|
|
|
416
427
|
this[this.ModelDescriptor.Timestamps.CreatedAt] = luxon_1.DateTime.now();
|
|
417
428
|
}
|
|
418
429
|
for (const [, rel] of this.ModelDescriptor.Relations) {
|
|
419
|
-
if (rel.
|
|
430
|
+
if (rel.Factory) {
|
|
431
|
+
this[rel.Name] = rel.Factory(this, rel, this.Container);
|
|
432
|
+
}
|
|
433
|
+
else if (rel.RelationClass) {
|
|
434
|
+
this[rel.Name] = this.Container.resolve(rel.RelationClass, [this, rel.TargetModel, rel, []]);
|
|
435
|
+
}
|
|
436
|
+
else if (rel.Type === interfaces_1.RelationType.Many) {
|
|
420
437
|
this[rel.Name] = new relations_1.OneToManyRelationList(this, rel.TargetModel, rel, []);
|
|
421
438
|
}
|
|
422
439
|
else if (rel.Type === interfaces_1.RelationType.ManyToMany) {
|
|
@@ -475,6 +492,9 @@ function _prepareOrderBy(description, query, order) {
|
|
|
475
492
|
}
|
|
476
493
|
}
|
|
477
494
|
}
|
|
495
|
+
class HistoricalModel {
|
|
496
|
+
}
|
|
497
|
+
exports.HistoricalModel = HistoricalModel;
|
|
478
498
|
/**
|
|
479
499
|
* Helper function to create query based on model
|
|
480
500
|
*
|
|
@@ -495,7 +515,19 @@ function createQuery(model, query, injectModel = true) {
|
|
|
495
515
|
throw new Error(`model ${model.name} have invalid connection ${dsc.Connection}, please check your db config file or model connection name`);
|
|
496
516
|
}
|
|
497
517
|
const cnt = driver.Container;
|
|
498
|
-
const qr = cnt.resolve(query, [driver, injectModel ? model : null]);
|
|
518
|
+
const qr = cnt.resolve(query, [driver, injectModel ? orm.Models.find((x) => x.name === model.name).type : null]);
|
|
519
|
+
if (qr instanceof builders_1.SelectQueryBuilder) {
|
|
520
|
+
const scope = model._queryScopes;
|
|
521
|
+
if (scope) {
|
|
522
|
+
Object.getOwnPropertyNames(scope.__proto__)
|
|
523
|
+
.filter((x) => x !== 'constructor')
|
|
524
|
+
.forEach(function (property) {
|
|
525
|
+
if (typeof scope[property] === 'function') {
|
|
526
|
+
qr[property] = scope[property].bind(qr);
|
|
527
|
+
}
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
}
|
|
499
531
|
qr.middleware(new relations_1.DiscriminationMapMiddleware(dsc));
|
|
500
532
|
qr.setTable(dsc.TableName);
|
|
501
533
|
if (driver.Options.Database) {
|
|
@@ -509,8 +541,21 @@ function createQuery(model, query, injectModel = true) {
|
|
|
509
541
|
}
|
|
510
542
|
exports.createQuery = createQuery;
|
|
511
543
|
exports.MODEL_STATIC_MIXINS = {
|
|
544
|
+
truncate() {
|
|
545
|
+
const { query } = createQuery(this, builders_1.TruncateTableQueryBuilder, false);
|
|
546
|
+
return query;
|
|
547
|
+
},
|
|
548
|
+
driver() {
|
|
549
|
+
const dsc = _descriptor(this);
|
|
550
|
+
const orm = di_1.DI.get(orm_1.Orm);
|
|
551
|
+
const driver = orm.Connections.get(dsc.Connection);
|
|
552
|
+
if (!driver) {
|
|
553
|
+
throw new Error(`model ${this.name} have invalid connection ${dsc.Connection}, please check your db config file or model connection name`);
|
|
554
|
+
}
|
|
555
|
+
return driver;
|
|
556
|
+
},
|
|
512
557
|
query() {
|
|
513
|
-
const { query } = createQuery(this, builders_1.SelectQueryBuilder
|
|
558
|
+
const { query } = createQuery(this, builders_1.SelectQueryBuilder);
|
|
514
559
|
return query;
|
|
515
560
|
},
|
|
516
561
|
where(column, operator, value) {
|
|
@@ -621,23 +666,20 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
621
666
|
_prepareOrderBy(description, query);
|
|
622
667
|
return (await query.firstOrFail());
|
|
623
668
|
},
|
|
624
|
-
|
|
625
|
-
var _a;
|
|
669
|
+
destroy(pks) {
|
|
670
|
+
var _a, _b;
|
|
626
671
|
const description = _descriptor(this);
|
|
627
672
|
const data = Array.isArray(pks) ? pks : [pks];
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
const converter = driver.Container.resolve(interfaces_1.DatetimeValueConverter);
|
|
633
|
-
await query.whereIn(description.PrimaryKey, data).update({
|
|
634
|
-
[description.SoftDelete.DeletedAt]: converter.toDB(luxon_1.DateTime.now()),
|
|
673
|
+
const { query } = ((_a = description.SoftDelete) === null || _a === void 0 ? void 0 : _a.DeletedAt) ? createQuery(this, builders_1.UpdateQueryBuilder) : createQuery(this, builders_1.DeleteQueryBuilder);
|
|
674
|
+
if ((_b = description.SoftDelete) === null || _b === void 0 ? void 0 : _b.DeletedAt) {
|
|
675
|
+
query.update({
|
|
676
|
+
[description.SoftDelete.DeletedAt]: luxon_1.DateTime.now(),
|
|
635
677
|
});
|
|
636
678
|
}
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
await query.whereIn(description.PrimaryKey, data);
|
|
679
|
+
if (pks) {
|
|
680
|
+
query.whereIn(description.PrimaryKey, data);
|
|
640
681
|
}
|
|
682
|
+
return query;
|
|
641
683
|
},
|
|
642
684
|
async create(data) {
|
|
643
685
|
const entity = new (Function.prototype.bind.apply(this))(data);
|
|
@@ -647,7 +689,7 @@ exports.MODEL_STATIC_MIXINS = {
|
|
|
647
689
|
async getOrCreate(pk, data) {
|
|
648
690
|
const { query, description } = createQuery(this, builders_1.SelectQueryBuilder);
|
|
649
691
|
// pk constrain
|
|
650
|
-
if (description.PrimaryKey) {
|
|
692
|
+
if (description.PrimaryKey && pk !== null) {
|
|
651
693
|
query.where(description.PrimaryKey, pk);
|
|
652
694
|
}
|
|
653
695
|
// check for all unique columns ( unique constrain )
|
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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"}
|
package/lib/orm.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Configuration } from '@spinajs/configuration';
|
|
2
|
-
import {
|
|
2
|
+
import { AsyncService, Container, Class } from '@spinajs/di';
|
|
3
3
|
import { Log } from '@spinajs/log';
|
|
4
4
|
import { ClassInfo } from '@spinajs/reflection';
|
|
5
5
|
import { OrmMigration } from './interfaces';
|
|
6
6
|
import { ModelBase } from './model';
|
|
7
7
|
import { OrmDriver } from './driver';
|
|
8
|
-
export declare class Orm extends
|
|
8
|
+
export declare class Orm extends AsyncService {
|
|
9
9
|
Models: Array<ClassInfo<ModelBase>>;
|
|
10
10
|
Migrations: Array<ClassInfo<OrmMigration>>;
|
|
11
11
|
Connections: Map<string, OrmDriver>;
|
|
@@ -31,7 +31,8 @@ export declare class Orm extends AsyncModule {
|
|
|
31
31
|
* ORM always try to load table at resolve time
|
|
32
32
|
*/
|
|
33
33
|
reloadTableInfo(): Promise<void>;
|
|
34
|
-
|
|
34
|
+
resolve(): Promise<void>;
|
|
35
|
+
protected registerDefaultConverters(): void;
|
|
35
36
|
protected wireRelations(): void;
|
|
36
37
|
/**
|
|
37
38
|
*
|