@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/README.md
CHANGED
package/lib/builders.d.ts
CHANGED
|
@@ -1,20 +1,35 @@
|
|
|
1
|
-
import { Container } from '@spinajs/di';
|
|
1
|
+
import { Container, Constructor } from '@spinajs/di';
|
|
2
2
|
import { QueryMethod, SORT_ORDER, WhereBoolean, WhereOperators } from './enums';
|
|
3
|
-
import { IColumnsBuilder, ICompilerOutput, ILimitBuilder, IOrderByBuilder, IQueryBuilder, IQueryLimit,
|
|
3
|
+
import { IColumnsBuilder, ICompilerOutput, ILimitBuilder, IOrderByBuilder, IQueryBuilder, IQueryLimit, ISort, IWhereBuilder, QueryContext, IJoinBuilder, IBuilderMiddleware, IWithRecursiveBuilder, ReferentialAction, IGroupByBuilder } from './interfaces';
|
|
4
4
|
import { ColumnStatement, IQueryStatement, WrapStatement } from './statements';
|
|
5
5
|
import { WhereFunction } from './types';
|
|
6
6
|
import { OrmDriver } from './driver';
|
|
7
7
|
import { ModelBase } from './model';
|
|
8
8
|
import { OrmRelation, IOrmRelation } from './relations';
|
|
9
|
+
/**
|
|
10
|
+
* Trick typescript by using the inbuilt interface inheritance and declaration merging
|
|
11
|
+
* for builder classes.
|
|
12
|
+
*
|
|
13
|
+
* We use mixins to extend functionality of builder eg. insert query builder uses function from columns builder
|
|
14
|
+
* and so on...
|
|
15
|
+
*/
|
|
16
|
+
export interface InsertQueryBuilder extends IColumnsBuilder {
|
|
17
|
+
}
|
|
18
|
+
export interface DeleteQueryBuilder extends IWhereBuilder, ILimitBuilder {
|
|
19
|
+
}
|
|
20
|
+
export interface UpdateQueryBuilder extends IColumnsBuilder, IWhereBuilder {
|
|
21
|
+
}
|
|
22
|
+
export interface SelectQueryBuilder extends IColumnsBuilder, IOrderByBuilder, ILimitBuilder, IWhereBuilder, IJoinBuilder, IWithRecursiveBuilder, IGroupByBuilder {
|
|
23
|
+
}
|
|
9
24
|
export declare class Builder<T = any> {
|
|
10
25
|
protected _driver: OrmDriver;
|
|
11
26
|
protected _container: Container;
|
|
12
|
-
protected _model?: Constructor<ModelBase
|
|
27
|
+
protected _model?: Constructor<ModelBase>;
|
|
13
28
|
protected _nonSelect: boolean;
|
|
14
29
|
protected _queryContext: QueryContext;
|
|
15
30
|
protected _middlewares: IBuilderMiddleware[];
|
|
16
31
|
protected _asRaw: boolean;
|
|
17
|
-
constructor(container: Container, driver: OrmDriver, model?: Constructor<ModelBase
|
|
32
|
+
constructor(container: Container, driver: OrmDriver, model?: Constructor<ModelBase>);
|
|
18
33
|
middleware(middleware: IBuilderMiddleware): this;
|
|
19
34
|
/**
|
|
20
35
|
* Builds query that is ready to use in DB
|
|
@@ -31,7 +46,7 @@ export declare class QueryBuilder<T = any> extends Builder<T> implements IQueryB
|
|
|
31
46
|
protected _table: string;
|
|
32
47
|
protected _tableAlias: string;
|
|
33
48
|
protected _schema: string;
|
|
34
|
-
constructor(container: Container, driver: OrmDriver, model?: Constructor<ModelBase
|
|
49
|
+
constructor(container: Container, driver: OrmDriver, model?: Constructor<ModelBase>);
|
|
35
50
|
/**
|
|
36
51
|
* SQL table name that query is executed on
|
|
37
52
|
*
|
|
@@ -71,7 +86,7 @@ export declare class QueryBuilder<T = any> extends Builder<T> implements IQueryB
|
|
|
71
86
|
/**
|
|
72
87
|
* Sets table alias for query
|
|
73
88
|
*
|
|
74
|
-
* @param alias sql table alias
|
|
89
|
+
* @param alias - sql table alias
|
|
75
90
|
*/
|
|
76
91
|
setAlias(alias: string): this;
|
|
77
92
|
from(table: string, alias?: string): this;
|
|
@@ -99,7 +114,7 @@ export declare class ColumnsBuilder implements IColumnsBuilder {
|
|
|
99
114
|
protected _container: Container;
|
|
100
115
|
protected _columns: IQueryStatement[];
|
|
101
116
|
protected _tableAlias: string;
|
|
102
|
-
protected _model?: Constructor<ModelBase
|
|
117
|
+
protected _model?: Constructor<ModelBase>;
|
|
103
118
|
constructor();
|
|
104
119
|
/**
|
|
105
120
|
* Clears all select clauses from the query.
|
|
@@ -183,8 +198,6 @@ export declare class WhereBuilder implements IWhereBuilder {
|
|
|
183
198
|
whereNotInSet(column: string, val: any[]): this;
|
|
184
199
|
clearWhere(): this;
|
|
185
200
|
}
|
|
186
|
-
export interface SelectQueryBuilder extends ISelectQueryBuilder {
|
|
187
|
-
}
|
|
188
201
|
export declare class SelectQueryBuilder<T = any> extends QueryBuilder<T> {
|
|
189
202
|
/**
|
|
190
203
|
* column query props
|
|
@@ -211,7 +224,7 @@ export declare class SelectQueryBuilder<T = any> extends QueryBuilder<T> {
|
|
|
211
224
|
protected _cteStatement: IQueryStatement;
|
|
212
225
|
protected _owner: IOrmRelation;
|
|
213
226
|
protected _relations: IOrmRelation[];
|
|
214
|
-
|
|
227
|
+
this: this;
|
|
215
228
|
get IsDistinct(): boolean;
|
|
216
229
|
get Owner(): IOrmRelation;
|
|
217
230
|
get Relations(): IOrmRelation[];
|
|
@@ -231,8 +244,6 @@ export declare class SelectQueryBuilder<T = any> extends QueryBuilder<T> {
|
|
|
231
244
|
then(resolve: (rows: any[]) => void, reject: (err: Error) => void): Promise<T>;
|
|
232
245
|
execute(): Promise<T>;
|
|
233
246
|
}
|
|
234
|
-
export interface DeleteQueryBuilder extends IWhereBuilder, ILimitBuilder {
|
|
235
|
-
}
|
|
236
247
|
export declare class DeleteQueryBuilder extends QueryBuilder {
|
|
237
248
|
/**
|
|
238
249
|
* where query props
|
|
@@ -260,8 +271,6 @@ export declare class OnDuplicateQueryBuilder {
|
|
|
260
271
|
then(resolve: (rows: any[]) => void, reject: (err: Error) => void): Promise<any>;
|
|
261
272
|
toDB(): ICompilerOutput;
|
|
262
273
|
}
|
|
263
|
-
export interface UpdateQueryBuilder extends IWhereBuilder {
|
|
264
|
-
}
|
|
265
274
|
export declare class UpdateQueryBuilder extends QueryBuilder {
|
|
266
275
|
/**
|
|
267
276
|
* where query props
|
|
@@ -270,20 +279,18 @@ export declare class UpdateQueryBuilder extends QueryBuilder {
|
|
|
270
279
|
protected _boolean: WhereBoolean;
|
|
271
280
|
protected _value: {};
|
|
272
281
|
get Value(): {};
|
|
273
|
-
|
|
282
|
+
this: this;
|
|
274
283
|
constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
|
|
275
284
|
in(name: string): this;
|
|
276
285
|
update(value: {}): this;
|
|
277
286
|
toDB(): ICompilerOutput;
|
|
278
287
|
}
|
|
279
|
-
export interface InsertQueryBuilder extends IColumnsBuilder {
|
|
280
|
-
}
|
|
281
288
|
export declare class InsertQueryBuilder extends QueryBuilder {
|
|
282
289
|
DuplicateQueryBuilder: OnDuplicateQueryBuilder;
|
|
283
290
|
protected _values: any[][];
|
|
284
291
|
protected _columns: ColumnStatement[];
|
|
285
292
|
protected _ignore: boolean;
|
|
286
|
-
|
|
293
|
+
this: this;
|
|
287
294
|
get Values(): any[][];
|
|
288
295
|
get Ignore(): boolean;
|
|
289
296
|
constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
|
|
@@ -319,29 +326,29 @@ export declare class ForeignKeyBuilder {
|
|
|
319
326
|
*
|
|
320
327
|
* Referenced field in child table
|
|
321
328
|
*
|
|
322
|
-
* @param fkName name of foreign field in child table
|
|
329
|
+
* @param fkName - name of foreign field in child table
|
|
323
330
|
*/
|
|
324
331
|
foreignKey(fkName: string): this;
|
|
325
332
|
/**
|
|
326
333
|
*
|
|
327
334
|
* Referenced parent table & key
|
|
328
335
|
*
|
|
329
|
-
* @param table parent table
|
|
330
|
-
* @param pKey parant table key field
|
|
336
|
+
* @param table - parent table
|
|
337
|
+
* @param pKey - parant table key field
|
|
331
338
|
*/
|
|
332
339
|
references(table: string, pKey: string): this;
|
|
333
340
|
/**
|
|
334
341
|
*
|
|
335
342
|
* On delete action
|
|
336
343
|
*
|
|
337
|
-
* @param action action to take on delete
|
|
344
|
+
* @param action - action to take on delete
|
|
338
345
|
*/
|
|
339
346
|
onDelete(action: ReferentialAction): this;
|
|
340
347
|
/**
|
|
341
348
|
*
|
|
342
349
|
* On update action
|
|
343
350
|
*
|
|
344
|
-
* @param action action to take on update
|
|
351
|
+
* @param action - action to take on update
|
|
345
352
|
*/
|
|
346
353
|
onUpdate(action: ReferentialAction): this;
|
|
347
354
|
/**
|