@spinajs/orm 2.0.85 → 2.0.87

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 (163) hide show
  1. package/lib/{builders.d.ts → cjs/builders.d.ts} +0 -0
  2. package/lib/cjs/builders.d.ts.map +1 -0
  3. package/lib/cjs/builders.js +1554 -0
  4. package/lib/cjs/builders.js.map +1 -0
  5. package/lib/cjs/converters.d.ts +21 -0
  6. package/lib/cjs/converters.d.ts.map +1 -0
  7. package/lib/cjs/converters.js +86 -0
  8. package/lib/cjs/converters.js.map +1 -0
  9. package/lib/{decorators.d.ts → cjs/decorators.d.ts} +0 -0
  10. package/lib/cjs/decorators.d.ts.map +1 -0
  11. package/lib/cjs/decorators.js +453 -0
  12. package/lib/cjs/decorators.js.map +1 -0
  13. package/lib/{dehydrators.d.ts → cjs/dehydrators.d.ts} +0 -0
  14. package/lib/cjs/dehydrators.d.ts.map +1 -0
  15. package/lib/cjs/dehydrators.js +48 -0
  16. package/lib/cjs/dehydrators.js.map +1 -0
  17. package/lib/{driver.d.ts → cjs/driver.d.ts} +0 -0
  18. package/lib/cjs/driver.d.ts.map +1 -0
  19. package/lib/cjs/driver.js +100 -0
  20. package/lib/cjs/driver.js.map +1 -0
  21. package/lib/{enums.d.ts → cjs/enums.d.ts} +0 -0
  22. package/lib/cjs/enums.d.ts.map +1 -0
  23. package/lib/cjs/enums.js +125 -0
  24. package/lib/cjs/enums.js.map +1 -0
  25. package/lib/{exceptions.d.ts → cjs/exceptions.d.ts} +0 -0
  26. package/lib/cjs/exceptions.d.ts.map +1 -0
  27. package/lib/cjs/exceptions.js +11 -0
  28. package/lib/cjs/exceptions.js.map +1 -0
  29. package/lib/{hydrators.d.ts → cjs/hydrators.d.ts} +0 -0
  30. package/lib/cjs/hydrators.d.ts.map +1 -0
  31. package/lib/cjs/hydrators.js +130 -0
  32. package/lib/cjs/hydrators.js.map +1 -0
  33. package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
  34. package/lib/cjs/index.d.ts.map +1 -0
  35. package/lib/cjs/index.js +32 -0
  36. package/lib/cjs/index.js.map +1 -0
  37. package/lib/{interfaces.d.ts → cjs/interfaces.d.ts} +0 -0
  38. package/lib/cjs/interfaces.d.ts.map +1 -0
  39. package/lib/cjs/interfaces.js +299 -0
  40. package/lib/cjs/interfaces.js.map +1 -0
  41. package/lib/{model.d.ts → cjs/model.d.ts} +0 -0
  42. package/lib/cjs/model.d.ts.map +1 -0
  43. package/lib/cjs/model.js +760 -0
  44. package/lib/cjs/model.js.map +1 -0
  45. package/lib/{orm.d.ts → cjs/orm.d.ts} +0 -0
  46. package/lib/cjs/orm.d.ts.map +1 -0
  47. package/lib/cjs/orm.js +329 -0
  48. package/lib/cjs/orm.js.map +1 -0
  49. package/lib/{relations.d.ts → cjs/relations.d.ts} +0 -0
  50. package/lib/cjs/relations.d.ts.map +1 -0
  51. package/lib/cjs/relations.js +630 -0
  52. package/lib/cjs/relations.js.map +1 -0
  53. package/lib/{statements.d.ts → cjs/statements.d.ts} +0 -0
  54. package/lib/cjs/statements.d.ts.map +1 -0
  55. package/lib/cjs/statements.js +296 -0
  56. package/lib/cjs/statements.js.map +1 -0
  57. package/lib/{types.d.ts → cjs/types.d.ts} +0 -0
  58. package/lib/cjs/types.d.ts.map +1 -0
  59. package/lib/cjs/types.js +3 -0
  60. package/lib/cjs/types.js.map +1 -0
  61. package/lib/{wrappers.d.ts → cjs/wrappers.d.ts} +0 -0
  62. package/lib/cjs/wrappers.d.ts.map +1 -0
  63. package/lib/cjs/wrappers.js +13 -0
  64. package/lib/cjs/wrappers.js.map +1 -0
  65. package/lib/mjs/builders.d.ts +639 -0
  66. package/lib/mjs/builders.d.ts.map +1 -0
  67. package/lib/{builders.js → mjs/builders.js} +0 -0
  68. package/lib/mjs/builders.js.map +1 -0
  69. package/lib/{converters.d.ts → mjs/converters.d.ts} +0 -0
  70. package/lib/mjs/converters.d.ts.map +1 -0
  71. package/lib/{converters.js → mjs/converters.js} +0 -0
  72. package/lib/mjs/converters.js.map +1 -0
  73. package/lib/mjs/decorators.d.ts +153 -0
  74. package/lib/mjs/decorators.d.ts.map +1 -0
  75. package/lib/{decorators.js → mjs/decorators.js} +0 -0
  76. package/lib/mjs/decorators.js.map +1 -0
  77. package/lib/mjs/dehydrators.d.ts +11 -0
  78. package/lib/mjs/dehydrators.d.ts.map +1 -0
  79. package/lib/{dehydrators.js → mjs/dehydrators.js} +0 -0
  80. package/lib/mjs/dehydrators.js.map +1 -0
  81. package/lib/mjs/driver.d.ts +83 -0
  82. package/lib/mjs/driver.d.ts.map +1 -0
  83. package/lib/{driver.js → mjs/driver.js} +0 -0
  84. package/lib/mjs/driver.js.map +1 -0
  85. package/lib/mjs/enums.d.ts +116 -0
  86. package/lib/mjs/enums.d.ts.map +1 -0
  87. package/lib/{enums.js → mjs/enums.js} +7 -7
  88. package/lib/mjs/enums.js.map +1 -0
  89. package/lib/mjs/exceptions.d.ts +7 -0
  90. package/lib/mjs/exceptions.d.ts.map +1 -0
  91. package/lib/{exceptions.js → mjs/exceptions.js} +0 -0
  92. package/lib/mjs/exceptions.js.map +1 -0
  93. package/lib/mjs/hydrators.d.ts +20 -0
  94. package/lib/mjs/hydrators.d.ts.map +1 -0
  95. package/lib/{hydrators.js → mjs/hydrators.js} +0 -0
  96. package/lib/mjs/hydrators.js.map +1 -0
  97. package/lib/mjs/index.d.ts +16 -0
  98. package/lib/mjs/index.d.ts.map +1 -0
  99. package/lib/{index.js → mjs/index.js} +0 -0
  100. package/lib/mjs/index.js.map +1 -0
  101. package/lib/mjs/interfaces.d.ts +801 -0
  102. package/lib/mjs/interfaces.d.ts.map +1 -0
  103. package/lib/{interfaces.js → mjs/interfaces.js} +6 -6
  104. package/lib/mjs/interfaces.js.map +1 -0
  105. package/lib/mjs/model.d.ts +344 -0
  106. package/lib/mjs/model.d.ts.map +1 -0
  107. package/lib/{model.js → mjs/model.js} +0 -0
  108. package/lib/mjs/model.js.map +1 -0
  109. package/lib/mjs/orm.d.ts +63 -0
  110. package/lib/mjs/orm.d.ts.map +1 -0
  111. package/lib/{orm.js → mjs/orm.js} +0 -0
  112. package/lib/mjs/orm.js.map +1 -0
  113. package/lib/mjs/relations.d.ts +176 -0
  114. package/lib/mjs/relations.d.ts.map +1 -0
  115. package/lib/{relations.js → mjs/relations.js} +0 -0
  116. package/lib/mjs/relations.js.map +1 -0
  117. package/lib/mjs/statements.d.ts +139 -0
  118. package/lib/mjs/statements.d.ts.map +1 -0
  119. package/lib/{statements.js → mjs/statements.js} +0 -0
  120. package/lib/mjs/statements.js.map +1 -0
  121. package/lib/mjs/types.d.ts +25 -0
  122. package/lib/mjs/types.d.ts.map +1 -0
  123. package/lib/{types.js → mjs/types.js} +0 -0
  124. package/lib/mjs/types.js.map +1 -0
  125. package/lib/mjs/wrappers.d.ts +6 -0
  126. package/lib/mjs/wrappers.d.ts.map +1 -0
  127. package/lib/{wrappers.js → mjs/wrappers.js} +0 -0
  128. package/lib/mjs/wrappers.js.map +1 -0
  129. package/lib/tsconfig.cjs.tsbuildinfo +1 -0
  130. package/lib/tsconfig.tsbuildinfo +1 -0
  131. package/package.json +16 -8
  132. package/lib/builders.d.ts.map +0 -1
  133. package/lib/builders.js.map +0 -1
  134. package/lib/converters.d.ts.map +0 -1
  135. package/lib/converters.js.map +0 -1
  136. package/lib/decorators.d.ts.map +0 -1
  137. package/lib/decorators.js.map +0 -1
  138. package/lib/dehydrators.d.ts.map +0 -1
  139. package/lib/dehydrators.js.map +0 -1
  140. package/lib/driver.d.ts.map +0 -1
  141. package/lib/driver.js.map +0 -1
  142. package/lib/enums.d.ts.map +0 -1
  143. package/lib/enums.js.map +0 -1
  144. package/lib/exceptions.d.ts.map +0 -1
  145. package/lib/exceptions.js.map +0 -1
  146. package/lib/hydrators.d.ts.map +0 -1
  147. package/lib/hydrators.js.map +0 -1
  148. package/lib/index.d.ts.map +0 -1
  149. package/lib/index.js.map +0 -1
  150. package/lib/interfaces.d.ts.map +0 -1
  151. package/lib/interfaces.js.map +0 -1
  152. package/lib/model.d.ts.map +0 -1
  153. package/lib/model.js.map +0 -1
  154. package/lib/orm.d.ts.map +0 -1
  155. package/lib/orm.js.map +0 -1
  156. package/lib/relations.d.ts.map +0 -1
  157. package/lib/relations.js.map +0 -1
  158. package/lib/statements.d.ts.map +0 -1
  159. package/lib/statements.js.map +0 -1
  160. package/lib/types.d.ts.map +0 -1
  161. package/lib/types.js.map +0 -1
  162. package/lib/wrappers.d.ts.map +0 -1
  163. package/lib/wrappers.js.map +0 -1
@@ -0,0 +1,639 @@
1
+ import { Container, Constructor, IContainer } from '@spinajs/di';
2
+ import { ColumnType, QueryMethod, SordOrder, WhereBoolean, SqlOperator } from './enums.js';
3
+ import { IColumnsBuilder, ICompilerOutput, ILimitBuilder, IOrderByBuilder, IQueryBuilder, IQueryLimit, ISort, IWhereBuilder, QueryContext, IJoinBuilder, IBuilderMiddleware, IWithRecursiveBuilder, ReferentialAction, IGroupByBuilder, IUpdateResult, DefaultValueBuilder, ColumnAlterationType, QueryMiddleware } from './interfaces.js';
4
+ import { ColumnStatement, IQueryStatement, RawQueryStatement, Wrap } from './statements.js';
5
+ import { PartialModel, PickRelations, WhereFunction } from './types.js';
6
+ import { OrmDriver } from './driver.js';
7
+ import { ModelBase } from './model.js';
8
+ import { OrmRelation, IOrmRelation } from './relations.js';
9
+ import { DateTime } from 'luxon';
10
+ /**
11
+ * Trick typescript by using the inbuilt interface inheritance and declaration merging
12
+ * for builder classes.
13
+ *
14
+ * We use mixins to extend functionality of builder eg. insert query builder uses function from columns builder
15
+ * and so on...
16
+ */
17
+ export interface InsertQueryBuilder extends IColumnsBuilder {
18
+ }
19
+ export interface DeleteQueryBuilder<T> extends IWhereBuilder<T>, ILimitBuilder<T> {
20
+ }
21
+ export interface UpdateQueryBuilder<T> extends IColumnsBuilder, IWhereBuilder<T> {
22
+ }
23
+ export interface SelectQueryBuilder<T> extends IColumnsBuilder, IOrderByBuilder, ILimitBuilder<T>, IWhereBuilder<T>, IJoinBuilder, IWithRecursiveBuilder, IGroupByBuilder {
24
+ }
25
+ export declare class Builder<T = any> implements PromiseLike<T> {
26
+ protected _driver: OrmDriver;
27
+ protected _container: IContainer;
28
+ protected _model?: Constructor<ModelBase>;
29
+ protected _nonSelect: boolean;
30
+ protected _middlewares: IBuilderMiddleware<T>[];
31
+ protected _queryMiddlewares: QueryMiddleware[];
32
+ protected _asRaw: boolean;
33
+ QueryContext: QueryContext;
34
+ get Driver(): OrmDriver;
35
+ get Container(): IContainer;
36
+ get Model(): Constructor<ModelBase> | undefined;
37
+ constructor(container: IContainer, driver: OrmDriver, model?: Constructor<ModelBase>);
38
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: (value: T) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2>;
39
+ middleware(middleware: IBuilderMiddleware<T>): this;
40
+ /**
41
+ * Builds query that is ready to use in DB
42
+ */
43
+ toDB(): ICompilerOutput | ICompilerOutput[];
44
+ }
45
+ /**
46
+ * Base class for queires. Implements basic query functionality
47
+ *
48
+ */
49
+ export declare class QueryBuilder<T = any> extends Builder<T> implements IQueryBuilder {
50
+ protected _method: QueryMethod;
51
+ protected _table: string;
52
+ protected _tableAlias: string;
53
+ protected _database: string;
54
+ constructor(container: IContainer, driver: OrmDriver, model?: Constructor<ModelBase>);
55
+ /**
56
+ * SQL table name that query is executed on
57
+ *
58
+ * @example
59
+ * SELECT * FROM `users`
60
+ */
61
+ get Table(): string;
62
+ /**
63
+ * DB table alias
64
+ */
65
+ get TableAlias(): string;
66
+ /**
67
+ * SQL schema/database name that query is executed on.
68
+ *
69
+ * @example
70
+ * SELECT * FROM `spinejs`.`users` as u
71
+ */
72
+ get Database(): string;
73
+ /**
74
+ * Sets schema to this query.
75
+ *
76
+ * @param database - schema or database name in database
77
+ */
78
+ database(database: string): this;
79
+ /**
80
+ * Sets table that query is executed on
81
+ *
82
+ * @param table - sql table name
83
+ * @param alias - sql table alias
84
+ *
85
+ * @example
86
+ *
87
+ * this.setTable("user","u")
88
+ *
89
+ */
90
+ setTable(table: string, alias?: string): this;
91
+ /**
92
+ * Sets table alias for query
93
+ *
94
+ * @param alias - sql table alias
95
+ */
96
+ setAlias(alias: string): this;
97
+ from(table: string, alias?: string): this;
98
+ }
99
+ export declare class LimitBuilder<T> implements ILimitBuilder<T> {
100
+ protected _first: boolean;
101
+ protected _limit: IQueryLimit;
102
+ constructor();
103
+ take(count: number): this;
104
+ skip(count: number): this;
105
+ first(): Promise<any>;
106
+ firstOrFail(): Promise<any>;
107
+ orThrow(error: Error): Promise<any>;
108
+ firstOrThrow(error: Error): Promise<any>;
109
+ getLimits(): IQueryLimit;
110
+ }
111
+ export declare class OrderByBuilder implements IOrderByBuilder {
112
+ protected _sort: ISort;
113
+ constructor();
114
+ order(column: string, direction: SordOrder): this;
115
+ orderBy(column: string): this;
116
+ orderByDescending(column: string): this;
117
+ getSort(): ISort;
118
+ }
119
+ export declare class ColumnsBuilder implements IColumnsBuilder {
120
+ protected _container: Container;
121
+ protected _columns: IQueryStatement[];
122
+ protected _tableAlias: string;
123
+ protected _model?: Constructor<ModelBase>;
124
+ constructor();
125
+ /**
126
+ * Clears all select clauses from the query.
127
+ *
128
+ * @example
129
+ *
130
+ * query.columns()
131
+ *
132
+ */
133
+ clearColumns(): this;
134
+ columns(names: string[]): this;
135
+ select(column: string | RawQuery | Map<string, string>, alias?: string): this;
136
+ getColumns(): IQueryStatement[];
137
+ }
138
+ export declare class RawQuery {
139
+ get Query(): string;
140
+ get Bindings(): any[];
141
+ static create(query: string, bindings?: any[]): RawQuery;
142
+ private _query;
143
+ private _bindings;
144
+ constructor(query: string, bindings?: any[]);
145
+ }
146
+ export declare class GroupByBuilder implements IGroupByBuilder {
147
+ protected _container: Container;
148
+ protected _groupStatements: IQueryStatement[];
149
+ get GroupStatements(): IQueryStatement[];
150
+ clearGroupBy(): this;
151
+ groupBy(expression: string | RawQuery): this;
152
+ }
153
+ export declare class JoinBuilder implements IJoinBuilder {
154
+ protected _model?: Constructor<ModelBase>;
155
+ get JoinStatements(): IQueryStatement[];
156
+ protected _joinStatements: IQueryStatement[];
157
+ protected _container: Container;
158
+ protected _tableAlias: string;
159
+ constructor(container: Container);
160
+ clearJoins(): this;
161
+ innerJoin<R extends ModelBase>(model: R, where?: (this: SelectQueryBuilder<R>) => void): this;
162
+ innerJoin(query: RawQuery): this;
163
+ innerJoin(table: string, foreignKey: string, primaryKey: string): this;
164
+ leftJoin<R extends ModelBase>(model: R, where?: (this: SelectQueryBuilder<R>) => void): this;
165
+ leftJoin(query: RawQuery): this;
166
+ leftJoin(table: string, foreignKey: string, primaryKey: string): this;
167
+ leftOuterJoin<R extends ModelBase>(model: R, where?: (this: SelectQueryBuilder<R>) => void): this;
168
+ leftOuterJoin(query: RawQuery): this;
169
+ leftOuterJoin(table: string, foreignKey: string, primaryKey: string): this;
170
+ rightJoin<R extends ModelBase>(model: R, where?: (this: SelectQueryBuilder<R>) => void): this;
171
+ rightJoin(query: RawQuery): this;
172
+ rightJoin(table: string, foreignKey: string, primaryKey: string): this;
173
+ rightOuterJoin<R extends ModelBase>(model: R, where?: (this: SelectQueryBuilder<R>) => void): this;
174
+ rightOuterJoin(query: RawQuery): this;
175
+ rightOuterJoin(table: string, foreignKey: string, primaryKey: string): this;
176
+ fullOuterJoin<R extends ModelBase>(model: R, where?: (this: SelectQueryBuilder<R>) => void): this;
177
+ fullOuterJoin(query: RawQuery): this;
178
+ fullOuterJoin(table: string, foreignKey: string, primaryKey: string): this;
179
+ crossJoin<R extends ModelBase>(model: R, where?: (this: SelectQueryBuilder<R>) => void): this;
180
+ crossJoin(query: RawQuery): this;
181
+ crossJoin(table: string, foreignKey: string, primaryKey: string): this;
182
+ private addJoinStatement;
183
+ }
184
+ export declare class WithRecursiveBuilder implements IWithRecursiveBuilder {
185
+ protected _container: Container;
186
+ protected _cteStatement: IQueryStatement;
187
+ get CteRecursive(): IQueryStatement;
188
+ withRecursive(rcKeyName: string, pkName: string): this;
189
+ }
190
+ export declare class WhereBuilder<T> implements IWhereBuilder<T> {
191
+ protected _statements: IQueryStatement[];
192
+ protected _boolean: WhereBoolean;
193
+ protected _container: Container;
194
+ protected _tableAlias: string;
195
+ protected _model: Constructor<ModelBase>;
196
+ get Statements(): IQueryStatement[];
197
+ get Op(): WhereBoolean;
198
+ constructor(container: Container, tableAlias?: string);
199
+ where(column: string | boolean | WhereFunction<T> | RawQuery | Wrap | PartialModel<T> | PickRelations<T>, operator?: SqlOperator | any, value?: any): this;
200
+ orWhere(column: string | boolean | WhereFunction<T> | {}, ..._args: any[]): this;
201
+ andWhere(column: string | boolean | WhereFunction<T> | {}, ..._args: any[]): this;
202
+ whereObject(obj: any): this;
203
+ whereNotNull(column: string): this;
204
+ whereNull(column: string): this;
205
+ whereNot(column: string, val: any): this;
206
+ whereIn(column: string, val: any[]): this;
207
+ whereNotIn(column: string, val: any[]): this;
208
+ whereExist(query: SelectQueryBuilder): this;
209
+ whereNotExists(query: SelectQueryBuilder): this;
210
+ whereBetween(column: string, val: any[]): this;
211
+ whereNotBetween(column: string, val: any[]): this;
212
+ whereInSet(column: string, val: any[]): this;
213
+ whereNotInSet(column: string, val: any[]): this;
214
+ clearWhere(): this;
215
+ }
216
+ export declare class SelectQueryBuilder<T = any> extends QueryBuilder<T> {
217
+ /**
218
+ * column query props
219
+ */
220
+ protected _distinct: boolean;
221
+ protected _columns: IQueryStatement[];
222
+ /**
223
+ * limit query props
224
+ */
225
+ protected _fail: boolean;
226
+ protected _first: boolean;
227
+ protected _limit: IQueryLimit;
228
+ /**
229
+ * order by query props
230
+ */
231
+ protected _sort: ISort;
232
+ /**
233
+ * where query props
234
+ */
235
+ protected _statements: IQueryStatement[];
236
+ protected _boolean: WhereBoolean;
237
+ protected _joinStatements: IQueryStatement[];
238
+ protected _groupStatements: IQueryStatement[];
239
+ protected _cteStatement: IQueryStatement;
240
+ protected _relations: IOrmRelation[];
241
+ protected _owner: IOrmRelation;
242
+ get Owner(): IOrmRelation;
243
+ this: this;
244
+ get IsDistinct(): boolean;
245
+ get Relations(): IOrmRelation[];
246
+ constructor(container: IContainer, driver: OrmDriver, model?: Constructor<any>, owner?: IOrmRelation);
247
+ asRaw<T>(): Promise<T>;
248
+ setAlias(alias: string): this;
249
+ clone(): this;
250
+ populate<R = this>(relation: string, callback?: (this: SelectQueryBuilder<R>, relation: OrmRelation) => void): this;
251
+ mergeStatements(builder: SelectQueryBuilder): void;
252
+ min(column: string, as?: string): this;
253
+ max(column: string, as?: string): this;
254
+ count(column: string, as?: string): this;
255
+ sum(column: string, as?: string): this;
256
+ avg(column: string, as?: string): this;
257
+ distinct(): this;
258
+ toDB(): ICompilerOutput;
259
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: (value: T) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2>;
260
+ execute(): Promise<T>;
261
+ }
262
+ export declare class SelectQueryBuilderC<T = any> extends SelectQueryBuilder<T> {
263
+ }
264
+ export declare class DeleteQueryBuilder<T> extends QueryBuilder<IUpdateResult> {
265
+ /**
266
+ * where query props
267
+ */
268
+ protected _statements: IQueryStatement[];
269
+ protected _boolean: WhereBoolean;
270
+ protected _limit: IQueryLimit;
271
+ private this;
272
+ constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
273
+ toDB(): ICompilerOutput;
274
+ }
275
+ export declare class OnDuplicateQueryBuilder {
276
+ protected _column: string[];
277
+ protected _parent: QueryBuilder;
278
+ protected _columnsToUpdate: Array<string | RawQuery>;
279
+ protected _container: IContainer;
280
+ constructor(container: IContainer, insertQueryBuilder: QueryBuilder, column?: string | string[]);
281
+ getColumn(): string[];
282
+ getColumnsToUpdate(): (string | RawQuery)[];
283
+ getParent(): QueryBuilder<any>;
284
+ update(columns: string[] | RawQuery[]): this;
285
+ then<TResult1, TResult2 = never>(onfulfilled?: (value: any) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2>;
286
+ toDB(): ICompilerOutput | ICompilerOutput[];
287
+ }
288
+ export declare class UpdateQueryBuilder<T> extends QueryBuilder<IUpdateResult> {
289
+ /**
290
+ * where query props
291
+ */
292
+ protected _statements: IQueryStatement[];
293
+ protected _boolean: WhereBoolean;
294
+ protected _value: {};
295
+ get Value(): {};
296
+ this: this;
297
+ constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
298
+ in(name: string): this;
299
+ update(value: {}): this;
300
+ toDB(): ICompilerOutput;
301
+ }
302
+ export declare class InsertQueryBuilder extends QueryBuilder<IUpdateResult> {
303
+ DuplicateQueryBuilder: OnDuplicateQueryBuilder;
304
+ protected _values: any[][];
305
+ protected _columns: ColumnStatement[];
306
+ protected _ignore: boolean;
307
+ protected _update: boolean;
308
+ protected _replace: boolean;
309
+ this: this;
310
+ get Values(): any[][];
311
+ get Ignore(): boolean;
312
+ get Update(): boolean;
313
+ get Replace(): boolean;
314
+ constructor(container: Container, driver: OrmDriver, model: Constructor<any>);
315
+ /**
316
+ * Sets insert to ignore on duplicate
317
+ */
318
+ orIgnore(): this;
319
+ orReplace(): this;
320
+ values(data: {} | Array<{}>): this;
321
+ into(table: string, schema?: string): this;
322
+ onDuplicate(column?: string | string[]): OnDuplicateQueryBuilder;
323
+ toDB(): ICompilerOutput;
324
+ }
325
+ export declare class IndexQueryBuilder extends Builder {
326
+ Name: string;
327
+ Unique: boolean;
328
+ Table: string;
329
+ Columns: string[];
330
+ constructor(container: Container, driver: OrmDriver);
331
+ name(name: string): this;
332
+ unique(): this;
333
+ table(name: string): this;
334
+ columns(colNames: string[]): this;
335
+ toDB(): ICompilerOutput;
336
+ }
337
+ export declare class ForeignKeyBuilder {
338
+ ForeignKeyField: string;
339
+ Table: string;
340
+ PrimaryKey: string;
341
+ OnDeleteAction: ReferentialAction;
342
+ OnUpdateAction: ReferentialAction;
343
+ constructor();
344
+ /**
345
+ *
346
+ * Referenced field in child table
347
+ *
348
+ * @param fkName - name of foreign field in child table
349
+ */
350
+ foreignKey(fkName: string): this;
351
+ /**
352
+ *
353
+ * Referenced parent table & key
354
+ *
355
+ * @param table - parent table
356
+ * @param pKey - parant table key field
357
+ */
358
+ references(table: string, pKey: string): this;
359
+ /**
360
+ *
361
+ * On delete action
362
+ *
363
+ * @param action - action to take on delete
364
+ */
365
+ onDelete(action: ReferentialAction): this;
366
+ /**
367
+ *
368
+ * On update action
369
+ *
370
+ * @param action - action to take on update
371
+ */
372
+ onUpdate(action: ReferentialAction): this;
373
+ /**
374
+ * Shorhand for on update and on delete cascade settings
375
+ */
376
+ cascade(): this;
377
+ }
378
+ export declare class ColumnQueryBuilder {
379
+ protected container: IContainer;
380
+ Name: string;
381
+ Unique: boolean;
382
+ Unsigned: boolean;
383
+ AutoIncrement: boolean;
384
+ Default: DefaultValueBuilder<ColumnQueryBuilder>;
385
+ PrimaryKey: boolean;
386
+ Comment: string;
387
+ Charset: string;
388
+ Collation: string;
389
+ NotNull: boolean;
390
+ Type: ColumnType;
391
+ Args: any[];
392
+ constructor(container: IContainer, name: string, type: ColumnType, ...args: any[]);
393
+ notNull(): this;
394
+ unique(): this;
395
+ unsigned(): this;
396
+ autoIncrement(): this;
397
+ default(): DefaultValueBuilder<ColumnQueryBuilder>;
398
+ primaryKey(): this;
399
+ comment(comment: string): this;
400
+ charset(charset: string): this;
401
+ collation(collation: string): this;
402
+ }
403
+ export declare class AlterColumnQueryBuilder extends ColumnQueryBuilder {
404
+ AlterType: ColumnAlterationType;
405
+ AfterColumn: string;
406
+ OldName: string;
407
+ constructor(container: IContainer, name: string, type: ColumnType, ...args: any[]);
408
+ addColumn(): this;
409
+ modify(): this;
410
+ rename(newName: string): this;
411
+ after(columnName: string): this;
412
+ }
413
+ export declare class TableExistsQueryBuilder extends QueryBuilder {
414
+ constructor(container: Container, driver: OrmDriver, name: string);
415
+ toDB(): ICompilerOutput;
416
+ }
417
+ export declare class DropTableQueryBuilder extends QueryBuilder {
418
+ Exists: boolean;
419
+ constructor(container: Container, driver: OrmDriver, name: string, database?: string);
420
+ ifExists(): this;
421
+ toDB(): ICompilerOutput;
422
+ }
423
+ export declare class AlterTableQueryBuilder extends QueryBuilder {
424
+ protected _columns: ColumnQueryBuilder[];
425
+ NewTableName: string;
426
+ DroppedColumns: string[];
427
+ get Columns(): ColumnQueryBuilder[];
428
+ constructor(container: Container, driver: OrmDriver, name: string);
429
+ int: (name: string) => AlterColumnQueryBuilder;
430
+ bigint: (name: string) => AlterColumnQueryBuilder;
431
+ tinyint: (name: string) => AlterColumnQueryBuilder;
432
+ smallint: (name: string) => AlterColumnQueryBuilder;
433
+ mediumint: (name: string) => AlterColumnQueryBuilder;
434
+ text: (name: string) => AlterColumnQueryBuilder;
435
+ tinytext: (name: string) => AlterColumnQueryBuilder;
436
+ mediumtext: (name: string) => AlterColumnQueryBuilder;
437
+ smalltext: (name: string) => AlterColumnQueryBuilder;
438
+ longtext: (name: string) => AlterColumnQueryBuilder;
439
+ string: (name: string, length?: number) => AlterColumnQueryBuilder;
440
+ float: (name: string, precision?: number, scale?: number) => AlterColumnQueryBuilder;
441
+ double: (name: string, precision?: number, scale?: number) => AlterColumnQueryBuilder;
442
+ decimal: (name: string, precision?: number, scale?: number) => AlterColumnQueryBuilder;
443
+ boolean: (name: string) => AlterColumnQueryBuilder;
444
+ bit: (name: string) => AlterColumnQueryBuilder;
445
+ date: (name: string) => AlterColumnQueryBuilder;
446
+ dateTime: (name: string) => AlterColumnQueryBuilder;
447
+ time: (name: string) => AlterColumnQueryBuilder;
448
+ timestamp: (name: string) => AlterColumnQueryBuilder;
449
+ enum: (name: string, values: any[]) => AlterColumnQueryBuilder;
450
+ json: (name: string) => AlterColumnQueryBuilder;
451
+ binary: (name: string, size: number) => AlterColumnQueryBuilder;
452
+ tinyblob: (name: string) => AlterColumnQueryBuilder;
453
+ mediumblob: (name: string) => AlterColumnQueryBuilder;
454
+ longblob: (name: string) => AlterColumnQueryBuilder;
455
+ /**
456
+ * Renames table
457
+ *
458
+ * @param newTableName - new table name
459
+ */
460
+ rename(newTableName: string): void;
461
+ dropColumn(column: string): void;
462
+ toDB(): ICompilerOutput[];
463
+ }
464
+ export declare class TableQueryBuilder extends QueryBuilder {
465
+ int: (name: string) => ColumnQueryBuilder;
466
+ bigint: (name: string) => ColumnQueryBuilder;
467
+ tinyint: (name: string) => ColumnQueryBuilder;
468
+ smallint: (name: string) => ColumnQueryBuilder;
469
+ mediumint: (name: string) => ColumnQueryBuilder;
470
+ text: (name: string) => ColumnQueryBuilder;
471
+ tinytext: (name: string) => ColumnQueryBuilder;
472
+ mediumtext: (name: string) => ColumnQueryBuilder;
473
+ smalltext: (name: string) => ColumnQueryBuilder;
474
+ longtext: (name: string) => ColumnQueryBuilder;
475
+ string: (name: string, length?: number) => ColumnQueryBuilder;
476
+ /**
477
+ * Alias for string(name, 36 )
478
+ */
479
+ uuid(name: string): ColumnQueryBuilder;
480
+ float: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
481
+ double: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
482
+ decimal: (name: string, precision?: number, scale?: number) => ColumnQueryBuilder;
483
+ boolean: (name: string) => ColumnQueryBuilder;
484
+ bit: (name: string) => ColumnQueryBuilder;
485
+ date: (name: string) => ColumnQueryBuilder;
486
+ dateTime: (name: string) => ColumnQueryBuilder;
487
+ time: (name: string) => ColumnQueryBuilder;
488
+ timestamp: (name: string) => ColumnQueryBuilder;
489
+ enum: (name: string, values: any[]) => ColumnQueryBuilder;
490
+ json: (name: string) => ColumnQueryBuilder;
491
+ binary: (name: string, size: number) => ColumnQueryBuilder;
492
+ tinyblob: (name: string) => ColumnQueryBuilder;
493
+ mediumblob: (name: string) => ColumnQueryBuilder;
494
+ longblob: (name: string) => ColumnQueryBuilder;
495
+ ifExists(): TableQueryBuilder;
496
+ /**
497
+ * Mark table as temporary
498
+ */
499
+ temporary(): TableQueryBuilder;
500
+ /**
501
+ * Turn on history trackign for this table
502
+ * Each change & row will be tracked, and all history of changes can be accessed
503
+ */
504
+ trackHistory(): this;
505
+ set: (name: string, allowed: string[]) => ColumnQueryBuilder;
506
+ get Columns(): ColumnQueryBuilder[];
507
+ get ForeignKeys(): ForeignKeyBuilder[];
508
+ protected _columns: ColumnQueryBuilder[];
509
+ protected _foreignKeys: ForeignKeyBuilder[];
510
+ protected _comment: string;
511
+ protected _charset: string;
512
+ protected _checkExists: boolean;
513
+ protected _temporary: boolean;
514
+ protected _trackHistory: boolean;
515
+ get CheckExists(): boolean;
516
+ get Temporary(): boolean;
517
+ get TrackHistory(): boolean;
518
+ constructor(container: Container, driver: OrmDriver, name: string);
519
+ increments(name: string): ColumnQueryBuilder;
520
+ comment(comment: string): void;
521
+ charset(charset: string): void;
522
+ foreignKey(foreignKey: string): ForeignKeyBuilder;
523
+ toDB(): ICompilerOutput | ICompilerOutput[];
524
+ }
525
+ export declare class TruncateTableQueryBuilder extends QueryBuilder {
526
+ protected container: Container;
527
+ protected driver: OrmDriver;
528
+ constructor(container: Container, driver: OrmDriver);
529
+ toDB(): ICompilerOutput;
530
+ }
531
+ export declare class CloneTableQueryBuilder extends QueryBuilder {
532
+ protected container: Container;
533
+ protected driver: OrmDriver;
534
+ protected _cloneSrc: string;
535
+ protected _temporary: boolean;
536
+ protected _shallow: boolean;
537
+ protected _filter: SelectQueryBuilder;
538
+ get CloneSource(): string;
539
+ get Temporary(): boolean;
540
+ get Shallow(): boolean;
541
+ get Filter(): SelectQueryBuilder<any>;
542
+ constructor(container: Container, driver: OrmDriver);
543
+ /**
544
+ * Clones table structure without data
545
+ * Shorthand for createTable(( table) => table.clone("new"));
546
+ *
547
+ * @param srcTable - source table name
548
+ * @param newTable - target table name
549
+ */
550
+ shallowClone(srcTable: string, newTable: string): this;
551
+ /**
552
+ * Clones table with data
553
+ *
554
+ * @param srcTable - source table name
555
+ * @param newTable - target table name
556
+ * @param filter - data filter, set null if all data is to be cloned
557
+ */
558
+ deepClone(srcTable: string, newTable: string, filter?: (query: SelectQueryBuilder) => void): Promise<this>;
559
+ toDB(): ICompilerOutput[];
560
+ }
561
+ export declare class EventIntervalDesc {
562
+ Year: number;
563
+ Month: number;
564
+ Minute: number;
565
+ Hour: number;
566
+ Second: number;
567
+ }
568
+ export declare class EventQueryBuilder extends QueryBuilder {
569
+ protected container: Container;
570
+ protected driver: OrmDriver;
571
+ Name: string;
572
+ EveryInterval: EventIntervalDesc;
573
+ FromNowInverval: EventIntervalDesc;
574
+ Comment: string;
575
+ At: DateTime;
576
+ RawSql: RawQueryStatement;
577
+ Queries: QueryBuilder[];
578
+ constructor(container: Container, driver: OrmDriver, Name: string);
579
+ /**
580
+ * execute every time with specified interval ( days, hours, seconds, minutes etc)
581
+ */
582
+ every(): EventIntervalDesc;
583
+ /**
584
+ *
585
+ * Execute at specific time
586
+ *
587
+ * @param dateTime - specific time
588
+ */
589
+ at(dateTime: DateTime): void;
590
+ /**
591
+ * execute once at specific interfal from now eg. now + 1 day
592
+ */
593
+ fromNow(): EventIntervalDesc;
594
+ /**
595
+ *
596
+ * @param sql - code to execute, could be raw sql query, single builder, or multiple builders that will be executed on by one
597
+ */
598
+ do(sql: RawQueryStatement | QueryBuilder[] | QueryBuilder): void;
599
+ /**
600
+ *
601
+ * Add comment to schedule for documentation. It is passed to sql engine
602
+ *
603
+ * @param comment - comment text
604
+ */
605
+ comment(comment: string): void;
606
+ toDB(): ICompilerOutput[];
607
+ }
608
+ export declare class DropEventQueryBuilder extends QueryBuilder {
609
+ protected container: Container;
610
+ protected driver: OrmDriver;
611
+ Name: string;
612
+ constructor(container: Container, driver: OrmDriver, Name: string);
613
+ toDB(): ICompilerOutput[];
614
+ }
615
+ /**
616
+ * Creates schedule job in database engine.
617
+ * Note, some engines does not support this, so it will implemented
618
+ * as nodejs interval
619
+ */
620
+ export declare class ScheduleQueryBuilder {
621
+ protected container: Container;
622
+ protected driver: OrmDriver;
623
+ constructor(container: Container, driver: OrmDriver);
624
+ create(name: string, callback: (event: EventQueryBuilder) => void): EventQueryBuilder;
625
+ drop(name: string): DropEventQueryBuilder;
626
+ }
627
+ export declare class SchemaQueryBuilder {
628
+ protected container: Container;
629
+ protected driver: OrmDriver;
630
+ constructor(container: Container, driver: OrmDriver);
631
+ createTable(name: string, callback: (table: TableQueryBuilder) => void): TableQueryBuilder;
632
+ cloneTable(callback: (clone: CloneTableQueryBuilder) => void): CloneTableQueryBuilder;
633
+ alterTable(name: string, callback: (table: AlterTableQueryBuilder) => void): AlterTableQueryBuilder;
634
+ dropTable(name: string, schema?: string): DropTableQueryBuilder;
635
+ tableExists(name: string, schema?: string): Promise<boolean>;
636
+ event(name: string): Promise<any>;
637
+ dropEvent(name: string): Promise<any>;
638
+ }
639
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
File without changes