@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.
Files changed (91) hide show
  1. package/README.md +11 -2
  2. package/lib/builders.d.ts +30 -23
  3. package/lib/builders.js +74 -195
  4. package/lib/builders.js.map +1 -1
  5. package/lib/decorators.d.ts +18 -19
  6. package/lib/decorators.js +30 -30
  7. package/lib/decorators.js.map +1 -1
  8. package/lib/driver.d.ts +10 -9
  9. package/lib/driver.js +10 -20
  10. package/lib/driver.js.map +1 -1
  11. package/lib/exceptions.d.ts +6 -0
  12. package/lib/exceptions.js +11 -0
  13. package/lib/exceptions.js.map +1 -0
  14. package/lib/helpers.js +2 -2
  15. package/lib/helpers.js.map +1 -1
  16. package/lib/hydrators.d.ts +4 -4
  17. package/lib/hydrators.js +6 -6
  18. package/lib/hydrators.js.map +1 -1
  19. package/lib/index.d.ts +0 -1
  20. package/lib/index.js +1 -2
  21. package/lib/index.js.map +1 -1
  22. package/lib/interfaces.d.ts +19 -27
  23. package/lib/interfaces.js +14 -14
  24. package/lib/interfaces.js.map +1 -1
  25. package/lib/log-common/src/index.d.ts +180 -0
  26. package/lib/log-common/src/index.js +49 -0
  27. package/lib/log-common/src/index.js.map +1 -0
  28. package/lib/model.d.ts +55 -53
  29. package/lib/model.js +132 -149
  30. package/lib/model.js.map +1 -1
  31. package/lib/orm/src/builders.d.ts +429 -0
  32. package/lib/orm/src/builders.js +1082 -0
  33. package/lib/orm/src/builders.js.map +1 -0
  34. package/lib/orm/src/cli.d.ts +1 -0
  35. package/lib/orm/src/cli.js +2 -0
  36. package/lib/orm/src/cli.js.map +1 -0
  37. package/lib/orm/src/converters.d.ts +9 -0
  38. package/lib/orm/src/converters.js +22 -0
  39. package/lib/orm/src/converters.js.map +1 -0
  40. package/lib/orm/src/decorators.d.ts +122 -0
  41. package/lib/orm/src/decorators.js +380 -0
  42. package/lib/orm/src/decorators.js.map +1 -0
  43. package/lib/orm/src/driver.d.ts +77 -0
  44. package/lib/orm/src/driver.js +84 -0
  45. package/lib/orm/src/driver.js.map +1 -0
  46. package/lib/orm/src/enums.d.ts +111 -0
  47. package/lib/orm/src/enums.js +122 -0
  48. package/lib/orm/src/enums.js.map +1 -0
  49. package/lib/orm/src/exceptions.d.ts +6 -0
  50. package/lib/orm/src/exceptions.js +11 -0
  51. package/lib/orm/src/exceptions.js.map +1 -0
  52. package/lib/orm/src/hydrators.d.ts +16 -0
  53. package/lib/orm/src/hydrators.js +70 -0
  54. package/lib/orm/src/hydrators.js.map +1 -0
  55. package/lib/orm/src/index.d.ts +12 -0
  56. package/lib/orm/src/index.js +25 -0
  57. package/lib/orm/src/index.js.map +1 -0
  58. package/lib/orm/src/interfaces.d.ts +615 -0
  59. package/lib/orm/src/interfaces.js +186 -0
  60. package/lib/orm/src/interfaces.js.map +1 -0
  61. package/lib/orm/src/model.d.ts +135 -0
  62. package/lib/orm/src/model.js +449 -0
  63. package/lib/orm/src/model.js.map +1 -0
  64. package/lib/orm/src/orm.d.ts +59 -0
  65. package/lib/orm/src/orm.js +278 -0
  66. package/lib/orm/src/orm.js.map +1 -0
  67. package/lib/orm/src/relations.d.ts +96 -0
  68. package/lib/orm/src/relations.js +503 -0
  69. package/lib/orm/src/relations.js.map +1 -0
  70. package/lib/orm/src/statements.d.ts +132 -0
  71. package/lib/orm/src/statements.js +257 -0
  72. package/lib/orm/src/statements.js.map +1 -0
  73. package/lib/orm/src/types.d.ts +2 -0
  74. package/lib/orm/src/types.js +3 -0
  75. package/lib/orm/src/types.js.map +1 -0
  76. package/lib/orm/src/wrappers.d.ts +5 -0
  77. package/lib/orm/src/wrappers.js +13 -0
  78. package/lib/orm/src/wrappers.js.map +1 -0
  79. package/lib/orm.d.ts +9 -9
  80. package/lib/orm.js +69 -47
  81. package/lib/orm.js.map +1 -1
  82. package/lib/relations.d.ts +14 -13
  83. package/lib/relations.js +60 -81
  84. package/lib/relations.js.map +1 -1
  85. package/lib/statements.d.ts +1 -1
  86. package/lib/statements.js +19 -21
  87. package/lib/statements.js.map +1 -1
  88. package/lib/wrappers.d.ts +1 -1
  89. package/lib/wrappers.js.map +1 -1
  90. package/package.json +37 -61
  91. package/LICENSE +0 -674
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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"}
@@ -0,0 +1,429 @@
1
+ import { Container, Constructor } from '@spinajs/di';
2
+ import { QueryMethod, SORT_ORDER, WhereBoolean, WhereOperators } from './enums';
3
+ import { IColumnsBuilder, ICompilerOutput, ILimitBuilder, IOrderByBuilder, IQueryBuilder, IQueryLimit, ISort, IWhereBuilder, QueryContext, IJoinBuilder, IBuilderMiddleware, IWithRecursiveBuilder, ReferentialAction, IGroupByBuilder } from './interfaces';
4
+ import { ColumnStatement, IQueryStatement, WrapStatement } from './statements';
5
+ import { WhereFunction } from './types';
6
+ import { OrmDriver } from './driver';
7
+ import { ModelBase } from './model';
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
+ }
24
+ export declare class Builder<T = any> {
25
+ protected _driver: OrmDriver;
26
+ protected _container: Container;
27
+ protected _model?: Constructor<ModelBase>;
28
+ protected _nonSelect: boolean;
29
+ protected _queryContext: QueryContext;
30
+ protected _middlewares: IBuilderMiddleware[];
31
+ protected _asRaw: boolean;
32
+ constructor(container: Container, driver: OrmDriver, model?: Constructor<ModelBase>);
33
+ middleware(middleware: IBuilderMiddleware): this;
34
+ /**
35
+ * Builds query that is ready to use in DB
36
+ */
37
+ toDB(): ICompilerOutput;
38
+ then(resolve: (rows: any[]) => void, reject: (err: Error) => void): Promise<T>;
39
+ }
40
+ /**
41
+ * Base class for queires. Implements basic query functionality
42
+ *
43
+ */
44
+ export declare class QueryBuilder<T = any> extends Builder<T> implements IQueryBuilder {
45
+ protected _method: QueryMethod;
46
+ protected _table: string;
47
+ protected _tableAlias: string;
48
+ protected _schema: string;
49
+ constructor(container: Container, driver: OrmDriver, model?: Constructor<ModelBase>);
50
+ /**
51
+ * SQL table name that query is executed on
52
+ *
53
+ * @example
54
+ * SELECT * FROM `users`
55
+ */
56
+ get Table(): string;
57
+ /**
58
+ * DB table alias
59
+ */
60
+ get TableAlias(): string;
61
+ /**
62
+ * SQL schema/database name that query is executed on.
63
+ *
64
+ * @example
65
+ * SELECT * FROM `spinejs`.`users` as u
66
+ */
67
+ get Schema(): string;
68
+ /**
69
+ * Sets schema to this query.
70
+ *
71
+ * @param schema - schema or database name in database
72
+ */
73
+ schema(schema: string): this;
74
+ /**
75
+ * Sets table that query is executed on
76
+ *
77
+ * @param table - sql table name
78
+ * @param alias - sql table alias
79
+ *
80
+ * @example
81
+ *
82
+ * this.setTable("user","u")
83
+ *
84
+ */
85
+ setTable(table: string, alias?: string): this;
86
+ /**
87
+ * Sets table alias for query
88
+ *
89
+ * @param alias - sql table alias
90
+ */
91
+ setAlias(alias: string): this;
92
+ from(table: string, alias?: string): this;
93
+ }
94
+ export declare class LimitBuilder implements ILimitBuilder {
95
+ protected _fail: boolean;
96
+ protected _first: boolean;
97
+ protected _limit: IQueryLimit;
98
+ constructor();
99
+ take(count: number): this;
100
+ skip(count: number): this;
101
+ first(): Promise<any>;
102
+ firstOrFail(): Promise<any>;
103
+ getLimits(): IQueryLimit;
104
+ }
105
+ export declare class OrderByBuilder implements IOrderByBuilder {
106
+ protected _sort: ISort;
107
+ constructor();
108
+ order(column: string, direction: SORT_ORDER): this;
109
+ orderBy(column: string): this;
110
+ orderByDescending(column: string): this;
111
+ getSort(): ISort;
112
+ }
113
+ export declare class ColumnsBuilder implements IColumnsBuilder {
114
+ protected _container: Container;
115
+ protected _columns: IQueryStatement[];
116
+ protected _tableAlias: string;
117
+ protected _model?: Constructor<ModelBase>;
118
+ constructor();
119
+ /**
120
+ * Clears all select clauses from the query.
121
+ *
122
+ * @example
123
+ *
124
+ * query.columns()
125
+ *
126
+ */
127
+ clearColumns(): this;
128
+ columns(names: string[]): this;
129
+ select(column: string | RawQuery | Map<string, string>, alias?: string): this;
130
+ getColumns(): IQueryStatement[];
131
+ }
132
+ export declare class RawQuery {
133
+ get Query(): string;
134
+ get Bindings(): any[];
135
+ static create(query: string, bindings?: any[]): RawQuery;
136
+ private _query;
137
+ private _bindings;
138
+ constructor(query: string, bindings?: any[]);
139
+ }
140
+ export declare class GroupByBuilder implements IGroupByBuilder {
141
+ protected _container: Container;
142
+ protected _groupStatements: IQueryStatement[];
143
+ get GroupStatements(): IQueryStatement[];
144
+ clearGroupBy(): this;
145
+ groupBy(expression: string | RawQuery): this;
146
+ }
147
+ export declare class JoinBuilder implements IJoinBuilder {
148
+ get JoinStatements(): IQueryStatement[];
149
+ protected _joinStatements: IQueryStatement[];
150
+ protected _container: Container;
151
+ protected _tableAlias: string;
152
+ constructor(container: Container);
153
+ clearJoins(): this;
154
+ innerJoin(query: RawQuery): this;
155
+ innerJoin(table: string, foreignKey: string, primaryKey: string): this;
156
+ leftJoin(query: RawQuery): this;
157
+ leftJoin(table: string, foreignKey: string, primaryKey: string): this;
158
+ leftOuterJoin(query: RawQuery): this;
159
+ leftOuterJoin(table: string, foreignKey: string, primaryKey: string): this;
160
+ rightJoin(query: RawQuery): this;
161
+ rightJoin(table: string, foreignKey: string, primaryKey: string): this;
162
+ rightOuterJoin(query: RawQuery): this;
163
+ rightOuterJoin(table: string, foreignKey: string, primaryKey: string): this;
164
+ fullOuterJoin(query: RawQuery): this;
165
+ fullOuterJoin(table: string, foreignKey: string, primaryKey: string): this;
166
+ crossJoin(query: RawQuery): this;
167
+ crossJoin(table: string, foreignKey: string, primaryKey: string): this;
168
+ private addJoinStatement;
169
+ }
170
+ export declare class WithRecursiveBuilder implements IWithRecursiveBuilder {
171
+ protected _container: Container;
172
+ protected _cteStatement: IQueryStatement;
173
+ get CteRecursive(): IQueryStatement;
174
+ withRecursive(rcKeyName: string, pkName: string): this;
175
+ }
176
+ export declare class WhereBuilder implements IWhereBuilder {
177
+ protected _statements: IQueryStatement[];
178
+ protected _boolean: WhereBoolean;
179
+ protected _container: Container;
180
+ protected _tableAlias: string;
181
+ get Statements(): IQueryStatement[];
182
+ get Op(): WhereBoolean;
183
+ constructor(container: Container, tableAlias?: string);
184
+ where(column: string | boolean | WhereFunction | RawQuery | WrapStatement | {}, operator?: WhereOperators | any, value?: any): this;
185
+ orWhere(column: string | boolean | WhereFunction | {}, ..._args: any[]): this;
186
+ andWhere(column: string | boolean | WhereFunction | {}, ..._args: any[]): this;
187
+ whereObject(obj: any): this;
188
+ whereNotNull(column: string): this;
189
+ whereNull(column: string): this;
190
+ whereNot(column: string, val: any): this;
191
+ whereIn(column: string, val: any[]): this;
192
+ whereNotIn(column: string, val: any[]): this;
193
+ whereExist(query: SelectQueryBuilder): this;
194
+ whereNotExists(query: SelectQueryBuilder): this;
195
+ whereBetween(column: string, val: any[]): this;
196
+ whereNotBetween(column: string, val: any[]): this;
197
+ whereInSet(column: string, val: any[]): this;
198
+ whereNotInSet(column: string, val: any[]): this;
199
+ clearWhere(): this;
200
+ }
201
+ export declare class SelectQueryBuilder<T = any> extends QueryBuilder<T> {
202
+ /**
203
+ * column query props
204
+ */
205
+ protected _distinct: boolean;
206
+ protected _columns: IQueryStatement[];
207
+ /**
208
+ * limit query props
209
+ */
210
+ protected _fail: boolean;
211
+ protected _first: boolean;
212
+ protected _limit: IQueryLimit;
213
+ /**
214
+ * order by query props
215
+ */
216
+ protected _sort: ISort;
217
+ /**
218
+ * where query props
219
+ */
220
+ protected _statements: IQueryStatement[];
221
+ protected _boolean: WhereBoolean;
222
+ protected _joinStatements: IQueryStatement[];
223
+ protected _groupStatements: IQueryStatement[];
224
+ protected _cteStatement: IQueryStatement;
225
+ protected _owner: IOrmRelation;
226
+ protected _relations: IOrmRelation[];
227
+ this: this;
228
+ get IsDistinct(): boolean;
229
+ get Owner(): IOrmRelation;
230
+ get Relations(): IOrmRelation[];
231
+ constructor(container: Container, driver: OrmDriver, model: Constructor<any>, owner?: IOrmRelation);
232
+ asRaw<T>(): Promise<T>;
233
+ setAlias(alias: string): this;
234
+ clone(): this;
235
+ populate<R = this>(relation: string, callback?: (this: SelectQueryBuilder<R>, relation: OrmRelation) => void): this;
236
+ mergeStatements(builder: SelectQueryBuilder): void;
237
+ min(column: string, as?: string): this;
238
+ max(column: string, as?: string): this;
239
+ count(column: string, as?: string): this;
240
+ sum(column: string, as?: string): this;
241
+ avg(column: string, as?: string): this;
242
+ distinct(): this;
243
+ toDB(): ICompilerOutput;
244
+ then(resolve: (rows: any[]) => void, reject: (err: Error) => void): Promise<T>;
245
+ execute(): Promise<T>;
246
+ }
247
+ export declare class DeleteQueryBuilder extends QueryBuilder {
248
+ /**
249
+ * where query props
250
+ */
251
+ protected _statements: IQueryStatement[];
252
+ protected _boolean: WhereBoolean;
253
+ protected _truncate: boolean;
254
+ protected _limit: IQueryLimit;
255
+ get Truncate(): boolean;
256
+ private this;
257
+ constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
258
+ toDB(): ICompilerOutput;
259
+ truncate(): this;
260
+ }
261
+ export declare class OnDuplicateQueryBuilder {
262
+ protected _column: string[];
263
+ protected _parent: InsertQueryBuilder;
264
+ protected _columnsToUpdate: Array<string | RawQuery>;
265
+ protected _container: Container;
266
+ constructor(container: Container, insertQueryBuilder: InsertQueryBuilder, column?: string | string[]);
267
+ getColumn(): string[];
268
+ getColumnsToUpdate(): (string | RawQuery)[];
269
+ getParent(): InsertQueryBuilder;
270
+ update(columns: string[] | RawQuery[]): this;
271
+ then(resolve: (rows: any[]) => void, reject: (err: Error) => void): Promise<any>;
272
+ toDB(): ICompilerOutput;
273
+ }
274
+ export declare class UpdateQueryBuilder extends QueryBuilder {
275
+ /**
276
+ * where query props
277
+ */
278
+ protected _statements: IQueryStatement[];
279
+ protected _boolean: WhereBoolean;
280
+ protected _value: {};
281
+ get Value(): {};
282
+ this: this;
283
+ constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
284
+ in(name: string): this;
285
+ update(value: {}): this;
286
+ toDB(): ICompilerOutput;
287
+ }
288
+ export declare class InsertQueryBuilder extends QueryBuilder {
289
+ DuplicateQueryBuilder: OnDuplicateQueryBuilder;
290
+ protected _values: any[][];
291
+ protected _columns: ColumnStatement[];
292
+ protected _ignore: boolean;
293
+ this: this;
294
+ get Values(): any[][];
295
+ get Ignore(): boolean;
296
+ constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
297
+ /**
298
+ * Sets insert to ignore on duplicate
299
+ */
300
+ ignore(): this;
301
+ values(data: {} | Array<{}>): this;
302
+ into(table: string, schema?: string): this;
303
+ onDuplicate(column?: string | string[]): OnDuplicateQueryBuilder;
304
+ toDB(): ICompilerOutput;
305
+ }
306
+ export declare class IndexQueryBuilder extends Builder {
307
+ Name: string;
308
+ Unique: boolean;
309
+ Table: string;
310
+ Columns: string[];
311
+ constructor(container: Container, driver: OrmDriver);
312
+ name(name: string): this;
313
+ unique(): this;
314
+ table(name: string): this;
315
+ columns(colNames: string[]): this;
316
+ toDB(): ICompilerOutput;
317
+ }
318
+ export declare class ForeignKeyBuilder {
319
+ ForeignKeyField: string;
320
+ Table: string;
321
+ PrimaryKey: string;
322
+ OnDeleteAction: ReferentialAction;
323
+ OnUpdateAction: ReferentialAction;
324
+ constructor();
325
+ /**
326
+ *
327
+ * Referenced field in child table
328
+ *
329
+ * @param fkName - name of foreign field in child table
330
+ */
331
+ foreignKey(fkName: string): this;
332
+ /**
333
+ *
334
+ * Referenced parent table & key
335
+ *
336
+ * @param table - parent table
337
+ * @param pKey - parant table key field
338
+ */
339
+ references(table: string, pKey: string): this;
340
+ /**
341
+ *
342
+ * On delete action
343
+ *
344
+ * @param action - action to take on delete
345
+ */
346
+ onDelete(action: ReferentialAction): this;
347
+ /**
348
+ *
349
+ * On update action
350
+ *
351
+ * @param action - action to take on update
352
+ */
353
+ onUpdate(action: ReferentialAction): this;
354
+ /**
355
+ * Shorhand for on update and on delete cascade settings
356
+ */
357
+ cascade(): this;
358
+ }
359
+ export declare class ColumnQueryBuilder {
360
+ Name: string;
361
+ Unique: boolean;
362
+ Unsigned: boolean;
363
+ AutoIncrement: boolean;
364
+ Default: string | RawQuery | number;
365
+ PrimaryKey: boolean;
366
+ Comment: string;
367
+ Charset: string;
368
+ Collation: string;
369
+ NotNull: boolean;
370
+ Type: string;
371
+ Args: any[];
372
+ constructor(name: string, type: string, ...args: any[]);
373
+ notNull(): this;
374
+ unique(): this;
375
+ unsigned(): this;
376
+ autoIncrement(): this;
377
+ default(val: string | RawQuery | number): this;
378
+ primaryKey(): this;
379
+ comment(comment: string): this;
380
+ charset(charset: string): this;
381
+ collation(collation: string): this;
382
+ }
383
+ export declare class TableQueryBuilder extends QueryBuilder {
384
+ int: (name: string) => ColumnQueryBuilder;
385
+ bigint: (name: string) => ColumnQueryBuilder;
386
+ tinyint: (name: string) => ColumnQueryBuilder;
387
+ smallint: (name: string) => ColumnQueryBuilder;
388
+ mediumint: (name: string) => ColumnQueryBuilder;
389
+ text: (name: string) => ColumnQueryBuilder;
390
+ tinytext: (name: string) => ColumnQueryBuilder;
391
+ mediumtext: (name: string) => ColumnQueryBuilder;
392
+ smalltext: (name: string) => ColumnQueryBuilder;
393
+ longtext: (name: string) => ColumnQueryBuilder;
394
+ string: (name: string, length?: number) => ColumnQueryBuilder;
395
+ float: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
396
+ double: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
397
+ decimal: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
398
+ boolean: (name: string) => ColumnQueryBuilder;
399
+ bit: (name: string) => ColumnQueryBuilder;
400
+ date: (name: string) => ColumnQueryBuilder;
401
+ dateTime: (name: string) => ColumnQueryBuilder;
402
+ time: (name: string) => ColumnQueryBuilder;
403
+ timestamp: (name: string) => ColumnQueryBuilder;
404
+ enum: (name: string, values: any[]) => ColumnQueryBuilder;
405
+ json: (name: string) => ColumnQueryBuilder;
406
+ binary: (name: string, size: number) => ColumnQueryBuilder;
407
+ tinyblob: (name: string) => ColumnQueryBuilder;
408
+ mediumblob: (name: string) => ColumnQueryBuilder;
409
+ longblob: (name: string) => ColumnQueryBuilder;
410
+ set: (name: string, allowed: string[]) => ColumnQueryBuilder;
411
+ get Columns(): ColumnQueryBuilder[];
412
+ get ForeignKeys(): ForeignKeyBuilder[];
413
+ protected _columns: ColumnQueryBuilder[];
414
+ protected _foreignKeys: ForeignKeyBuilder[];
415
+ protected _comment: string;
416
+ protected _charset: string;
417
+ constructor(container: Container, driver: OrmDriver, name: string);
418
+ increments(name: string): ColumnQueryBuilder;
419
+ comment(comment: string): void;
420
+ charset(charset: string): void;
421
+ foreignKey(foreignKey: string): ForeignKeyBuilder;
422
+ toDB(): ICompilerOutput;
423
+ }
424
+ export declare class SchemaQueryBuilder {
425
+ protected container: Container;
426
+ protected driver: OrmDriver;
427
+ constructor(container: Container, driver: OrmDriver);
428
+ createTable(name: string, callback: (table: TableQueryBuilder) => void): TableQueryBuilder;
429
+ }