@spinajs/orm 1.0.56 → 1.2.26
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 +71 -200
- package/lib/builders.js.map +1 -1
- package/lib/decorators.d.ts +18 -19
- package/lib/decorators.js +21 -21
- package/lib/decorators.js.map +1 -1
- package/lib/driver.d.ts +8 -9
- package/lib/driver.js +5 -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/model.d.ts +55 -53
- package/lib/model.js +132 -149
- package/lib/model.js.map +1 -1
- package/lib/orm.d.ts +9 -9
- package/lib/orm.js +66 -40
- 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/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -7,13 +7,12 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
7
7
|
o[k2] = m[k];
|
|
8
8
|
}));
|
|
9
9
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./interfaces"), exports);
|
|
14
14
|
__exportStar(require("./statements"), exports);
|
|
15
15
|
__exportStar(require("./builders"), exports);
|
|
16
|
-
__exportStar(require("./helpers"), exports);
|
|
17
16
|
__exportStar(require("./model"), exports);
|
|
18
17
|
__exportStar(require("./relations"), exports);
|
|
19
18
|
__exportStar(require("./orm"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,6CAA2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB;AACxB,8CAA4B;AAC5B,wCAAsB;AACtB,0CAAwB;AACxB,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,+CAA6B;AAC7B,6CAA2B"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { SORT_ORDER, WhereBoolean } from './enums';
|
|
|
3
3
|
import { IQueryStatement, WrapStatement } from './statements';
|
|
4
4
|
import { WhereFunction } from './types';
|
|
5
5
|
import { OrmDriver } from './driver';
|
|
6
|
+
import { Constructor } from '@spinajs/di';
|
|
6
7
|
import { ModelBase } from './model';
|
|
7
8
|
export declare enum QueryContext {
|
|
8
9
|
Insert = 0,
|
|
@@ -113,12 +114,6 @@ export interface IDriverOptions {
|
|
|
113
114
|
};
|
|
114
115
|
};
|
|
115
116
|
DefaultConnection: boolean;
|
|
116
|
-
/**
|
|
117
|
-
* Debug queries sent to orm driver. It writes raw queries queries to log for debug purposes
|
|
118
|
-
*/
|
|
119
|
-
Debug?: {
|
|
120
|
-
Queries?: boolean;
|
|
121
|
-
};
|
|
122
117
|
}
|
|
123
118
|
export interface IMigrationDescriptor {
|
|
124
119
|
/**
|
|
@@ -189,18 +184,18 @@ export interface IDiscriminationMap {
|
|
|
189
184
|
/**
|
|
190
185
|
* Field values mapped for proper models
|
|
191
186
|
*/
|
|
192
|
-
Models: Map<string, Constructor<ModelBase
|
|
187
|
+
Models: Map<string, Constructor<ModelBase>>;
|
|
193
188
|
}
|
|
194
189
|
export interface IDiscriminationEntry {
|
|
195
190
|
Key: string;
|
|
196
|
-
Value: Constructor<ModelBase
|
|
191
|
+
Value: Constructor<ModelBase>;
|
|
197
192
|
}
|
|
198
193
|
export declare enum RelationType {
|
|
199
194
|
One = 0,
|
|
200
195
|
Many = 1,
|
|
201
196
|
ManyToMany = 2
|
|
202
197
|
}
|
|
203
|
-
export declare type ForwardRefFunction = () => Constructor<ModelBase
|
|
198
|
+
export declare type ForwardRefFunction = () => Constructor<ModelBase>;
|
|
204
199
|
export interface IRelationDescriptor {
|
|
205
200
|
/**
|
|
206
201
|
* Name of relations, defaults for property name in model that owns relation
|
|
@@ -213,11 +208,11 @@ export interface IRelationDescriptor {
|
|
|
213
208
|
/**
|
|
214
209
|
* Relation model ( foreign )
|
|
215
210
|
*/
|
|
216
|
-
TargetModel: Constructor<ModelBase
|
|
211
|
+
TargetModel: Constructor<ModelBase> | ForwardRefFunction;
|
|
217
212
|
/**
|
|
218
213
|
* Relation owner
|
|
219
214
|
*/
|
|
220
|
-
SourceModel: Constructor<ModelBase
|
|
215
|
+
SourceModel: Constructor<ModelBase>;
|
|
221
216
|
/**
|
|
222
217
|
* Relation foreign key (one to one, one to many)
|
|
223
218
|
*/
|
|
@@ -229,7 +224,7 @@ export interface IRelationDescriptor {
|
|
|
229
224
|
/**
|
|
230
225
|
* Used in many to many relations, model for join table
|
|
231
226
|
*/
|
|
232
|
-
JunctionModel?: Constructor<ModelBase
|
|
227
|
+
JunctionModel?: Constructor<ModelBase>;
|
|
233
228
|
/**
|
|
234
229
|
* Join table foreign keys, defaults to auto generated field names. Can be override.
|
|
235
230
|
*/
|
|
@@ -242,7 +237,7 @@ export interface IRelationDescriptor {
|
|
|
242
237
|
}
|
|
243
238
|
export interface IJunctionProperty {
|
|
244
239
|
Name: string;
|
|
245
|
-
Model: Constructor<ModelBase
|
|
240
|
+
Model: Constructor<ModelBase>;
|
|
246
241
|
}
|
|
247
242
|
/**
|
|
248
243
|
* Table column description, used in models to build schema, validate & other stuff
|
|
@@ -351,13 +346,10 @@ export declare abstract class OrmMigration {
|
|
|
351
346
|
* Migrate up - create tables, indices etc.
|
|
352
347
|
* Be aware that model function are not avaible yet. To fill tables with
|
|
353
348
|
* data use fill function
|
|
354
|
-
*
|
|
355
|
-
* @param connection
|
|
356
349
|
*/
|
|
357
350
|
abstract up(connection: OrmDriver): Promise<void>;
|
|
358
351
|
/**
|
|
359
352
|
* Migrate down - undo changes made in up
|
|
360
|
-
* @param connection
|
|
361
353
|
*/
|
|
362
354
|
abstract down(connection: OrmDriver): Promise<void>;
|
|
363
355
|
}
|
|
@@ -408,7 +400,7 @@ export interface IColumnsBuilder {
|
|
|
408
400
|
*
|
|
409
401
|
* Select columns from db result ( multiple at once )
|
|
410
402
|
*
|
|
411
|
-
* @param names column names to select
|
|
403
|
+
* @param names - column names to select
|
|
412
404
|
*/
|
|
413
405
|
columns(names: string[]): this;
|
|
414
406
|
/**
|
|
@@ -419,20 +411,20 @@ export interface IColumnsBuilder {
|
|
|
419
411
|
* Selects single column from DB result with optional alias
|
|
420
412
|
* Can be used multiple times
|
|
421
413
|
*
|
|
422
|
-
* @param column column to select
|
|
423
|
-
* @param alias column alias ( optional )
|
|
414
|
+
* @param column - column to select
|
|
415
|
+
* @param alias - column alias ( optional )
|
|
424
416
|
*/
|
|
425
417
|
select(column: string, alias?: string): this;
|
|
426
418
|
/**
|
|
427
419
|
* Selects custom values from DB. eg. Count(*)
|
|
428
420
|
*
|
|
429
|
-
* @param rawQuery
|
|
421
|
+
* @param rawQuery - raw query to be executed
|
|
430
422
|
*/
|
|
431
423
|
select(rawQuery: RawQuery): this;
|
|
432
424
|
/**
|
|
433
425
|
* Selects multiple columns at once with aliases. Map key property is column name, value is its alias
|
|
434
426
|
*
|
|
435
|
-
* @param columns column list with aliases
|
|
427
|
+
* @param columns - column list with aliases
|
|
436
428
|
*/
|
|
437
429
|
select(columns: Map<string, string>): this;
|
|
438
430
|
}
|
|
@@ -576,10 +568,10 @@ export declare abstract class GroupByQueryCompiler implements IQueryCompiler {
|
|
|
576
568
|
export interface IBuilderMiddleware {
|
|
577
569
|
/**
|
|
578
570
|
*
|
|
579
|
-
* Executed AFTER query is executed in DB and
|
|
571
|
+
* Executed AFTER query is executed in DB and raw data is fetched
|
|
580
572
|
* Use it to transform DB data before everything else
|
|
581
573
|
*
|
|
582
|
-
* @param data raw data fetched from DB
|
|
574
|
+
* @param data - raw data fetched from DB
|
|
583
575
|
*/
|
|
584
576
|
afterData(data: any[]): any[];
|
|
585
577
|
/**
|
|
@@ -587,15 +579,15 @@ export interface IBuilderMiddleware {
|
|
|
587
579
|
* override model creation logic. If null is returned, default model
|
|
588
580
|
* is executed
|
|
589
581
|
*
|
|
590
|
-
* @param data raw data to create
|
|
582
|
+
* @param data - raw data to create
|
|
591
583
|
*/
|
|
592
|
-
modelCreation(data: any): ModelBase
|
|
584
|
+
modelCreation(data: any): ModelBase;
|
|
593
585
|
/**
|
|
594
586
|
* executed after model was created ( all returned data by query is executed)
|
|
595
587
|
*
|
|
596
|
-
* @param data hydrated data. Models are created and hydrated with data
|
|
588
|
+
* @param data - hydrated data. Models are created and hydrated with data
|
|
597
589
|
*/
|
|
598
|
-
afterHydration(data:
|
|
590
|
+
afterHydration(data: ModelBase[]): Promise<any[] | void>;
|
|
599
591
|
}
|
|
600
592
|
export declare class ValueConverter implements IValueConverter {
|
|
601
593
|
/**
|
package/lib/interfaces.js
CHANGED
|
@@ -67,7 +67,7 @@ var RelationType;
|
|
|
67
67
|
let OrmMigration = class OrmMigration {
|
|
68
68
|
};
|
|
69
69
|
OrmMigration = __decorate([
|
|
70
|
-
di_1.NewInstance()
|
|
70
|
+
(0, di_1.NewInstance)()
|
|
71
71
|
], OrmMigration);
|
|
72
72
|
exports.OrmMigration = OrmMigration;
|
|
73
73
|
/**
|
|
@@ -77,79 +77,79 @@ exports.OrmMigration = OrmMigration;
|
|
|
77
77
|
let RecursiveQueryCompiler = class RecursiveQueryCompiler {
|
|
78
78
|
};
|
|
79
79
|
RecursiveQueryCompiler = __decorate([
|
|
80
|
-
di_1.NewInstance()
|
|
80
|
+
(0, di_1.NewInstance)()
|
|
81
81
|
], RecursiveQueryCompiler);
|
|
82
82
|
exports.RecursiveQueryCompiler = RecursiveQueryCompiler;
|
|
83
83
|
let SelectQueryCompiler = class SelectQueryCompiler {
|
|
84
84
|
};
|
|
85
85
|
SelectQueryCompiler = __decorate([
|
|
86
|
-
di_1.NewInstance()
|
|
86
|
+
(0, di_1.NewInstance)()
|
|
87
87
|
], SelectQueryCompiler);
|
|
88
88
|
exports.SelectQueryCompiler = SelectQueryCompiler;
|
|
89
89
|
let JoinQueryCompiler = class JoinQueryCompiler {
|
|
90
90
|
};
|
|
91
91
|
JoinQueryCompiler = __decorate([
|
|
92
|
-
di_1.NewInstance()
|
|
92
|
+
(0, di_1.NewInstance)()
|
|
93
93
|
], JoinQueryCompiler);
|
|
94
94
|
exports.JoinQueryCompiler = JoinQueryCompiler;
|
|
95
95
|
let IndexQueryCompiler = class IndexQueryCompiler {
|
|
96
96
|
};
|
|
97
97
|
IndexQueryCompiler = __decorate([
|
|
98
|
-
di_1.NewInstance()
|
|
98
|
+
(0, di_1.NewInstance)()
|
|
99
99
|
], IndexQueryCompiler);
|
|
100
100
|
exports.IndexQueryCompiler = IndexQueryCompiler;
|
|
101
101
|
let ForeignKeyQueryCompiler = class ForeignKeyQueryCompiler {
|
|
102
102
|
};
|
|
103
103
|
ForeignKeyQueryCompiler = __decorate([
|
|
104
|
-
di_1.NewInstance()
|
|
104
|
+
(0, di_1.NewInstance)()
|
|
105
105
|
], ForeignKeyQueryCompiler);
|
|
106
106
|
exports.ForeignKeyQueryCompiler = ForeignKeyQueryCompiler;
|
|
107
107
|
let DeleteQueryCompiler = class DeleteQueryCompiler {
|
|
108
108
|
};
|
|
109
109
|
DeleteQueryCompiler = __decorate([
|
|
110
|
-
di_1.NewInstance()
|
|
110
|
+
(0, di_1.NewInstance)()
|
|
111
111
|
], DeleteQueryCompiler);
|
|
112
112
|
exports.DeleteQueryCompiler = DeleteQueryCompiler;
|
|
113
113
|
let UpdateQueryCompiler = class UpdateQueryCompiler {
|
|
114
114
|
};
|
|
115
115
|
UpdateQueryCompiler = __decorate([
|
|
116
|
-
di_1.NewInstance()
|
|
116
|
+
(0, di_1.NewInstance)()
|
|
117
117
|
], UpdateQueryCompiler);
|
|
118
118
|
exports.UpdateQueryCompiler = UpdateQueryCompiler;
|
|
119
119
|
let InsertQueryCompiler = class InsertQueryCompiler {
|
|
120
120
|
};
|
|
121
121
|
InsertQueryCompiler = __decorate([
|
|
122
|
-
di_1.NewInstance()
|
|
122
|
+
(0, di_1.NewInstance)()
|
|
123
123
|
], InsertQueryCompiler);
|
|
124
124
|
exports.InsertQueryCompiler = InsertQueryCompiler;
|
|
125
125
|
let OnDuplicateQueryCompiler = class OnDuplicateQueryCompiler {
|
|
126
126
|
};
|
|
127
127
|
OnDuplicateQueryCompiler = __decorate([
|
|
128
|
-
di_1.NewInstance()
|
|
128
|
+
(0, di_1.NewInstance)()
|
|
129
129
|
], OnDuplicateQueryCompiler);
|
|
130
130
|
exports.OnDuplicateQueryCompiler = OnDuplicateQueryCompiler;
|
|
131
131
|
let TableQueryCompiler = class TableQueryCompiler {
|
|
132
132
|
};
|
|
133
133
|
TableQueryCompiler = __decorate([
|
|
134
|
-
di_1.NewInstance()
|
|
134
|
+
(0, di_1.NewInstance)()
|
|
135
135
|
], TableQueryCompiler);
|
|
136
136
|
exports.TableQueryCompiler = TableQueryCompiler;
|
|
137
137
|
let ColumnQueryCompiler = class ColumnQueryCompiler {
|
|
138
138
|
};
|
|
139
139
|
ColumnQueryCompiler = __decorate([
|
|
140
|
-
di_1.NewInstance()
|
|
140
|
+
(0, di_1.NewInstance)()
|
|
141
141
|
], ColumnQueryCompiler);
|
|
142
142
|
exports.ColumnQueryCompiler = ColumnQueryCompiler;
|
|
143
143
|
let OrderByQueryCompiler = class OrderByQueryCompiler {
|
|
144
144
|
};
|
|
145
145
|
OrderByQueryCompiler = __decorate([
|
|
146
|
-
di_1.NewInstance()
|
|
146
|
+
(0, di_1.NewInstance)()
|
|
147
147
|
], OrderByQueryCompiler);
|
|
148
148
|
exports.OrderByQueryCompiler = OrderByQueryCompiler;
|
|
149
149
|
let GroupByQueryCompiler = class GroupByQueryCompiler {
|
|
150
150
|
};
|
|
151
151
|
GroupByQueryCompiler = __decorate([
|
|
152
|
-
di_1.NewInstance()
|
|
152
|
+
(0, di_1.NewInstance)()
|
|
153
153
|
], GroupByQueryCompiler);
|
|
154
154
|
exports.GroupByQueryCompiler = GroupByQueryCompiler;
|
|
155
155
|
class ValueConverter {
|
package/lib/interfaces.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/model.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IModelDescrtiptor, InsertBehaviour } from './interfaces';
|
|
2
2
|
import { WhereFunction } from './types';
|
|
3
|
-
import { RawQuery, UpdateQueryBuilder, SelectQueryBuilder,
|
|
3
|
+
import { RawQuery, UpdateQueryBuilder, SelectQueryBuilder, InsertQueryBuilder } from './builders';
|
|
4
4
|
import { WhereOperators } from './enums';
|
|
5
5
|
export declare function extractModelDescriptor(targetOrForward: any): IModelDescrtiptor;
|
|
6
|
-
export declare
|
|
6
|
+
export declare class ModelBase {
|
|
7
7
|
/**
|
|
8
8
|
* Gets descriptor for this model. It contains information about relations, orm driver, connection properties,
|
|
9
9
|
* db table attached, column information and others.
|
|
@@ -15,119 +15,121 @@ export declare abstract class ModelBase<T> {
|
|
|
15
15
|
/**
|
|
16
16
|
* Get all data from db
|
|
17
17
|
*/
|
|
18
|
-
static all<T>(_page?: number, _perPage?: number): SelectQueryBuilder<T
|
|
18
|
+
static all<T extends typeof ModelBase>(this: T, _page?: number, _perPage?: number): SelectQueryBuilder<Array<InstanceType<T>>>;
|
|
19
19
|
/**
|
|
20
|
-
* Inserts data to DB
|
|
20
|
+
* Inserts data to DB.
|
|
21
21
|
*
|
|
22
|
-
* @param _data data to insert
|
|
22
|
+
* @param _data - data to insert
|
|
23
23
|
*/
|
|
24
|
-
static insert<T extends ModelBase
|
|
24
|
+
static insert<T extends typeof ModelBase>(this: T, _data: InstanceType<T> | Partial<InstanceType<T>> | Array<InstanceType<T>> | Array<Partial<InstanceType<T>>>): Promise<void>;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Search entities in db
|
|
27
27
|
*
|
|
28
|
-
* @param
|
|
28
|
+
* @param column - column to search or function
|
|
29
|
+
* @param operator - boolean operator
|
|
30
|
+
* @param value - value to compare
|
|
29
31
|
*/
|
|
30
|
-
static
|
|
32
|
+
static where<T extends typeof ModelBase>(this: T, _column: string | boolean | WhereFunction | RawQuery | object, _operator?: WhereOperators | any, _value?: any): SelectQueryBuilder<Array<InstanceType<T>>>;
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
34
|
+
* Updates single or multiple records at once with provided value based on condition
|
|
33
35
|
*
|
|
34
|
-
* @param
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
* @param _data - data to set
|
|
37
|
+
*/
|
|
38
|
+
static update<T extends typeof ModelBase>(this: T, _data: Partial<InstanceType<T>>): UpdateQueryBuilder;
|
|
39
|
+
/**
|
|
40
|
+
* Tries to find all models with given primary keys
|
|
41
|
+
*/
|
|
42
|
+
static find<T extends typeof ModelBase>(this: T, _pks: any[]): Promise<Array<InstanceType<T>>>;
|
|
43
|
+
/**
|
|
44
|
+
* Tries to find all models in db. If not all exists, throws exception
|
|
45
|
+
*/
|
|
46
|
+
static findOrFail<T extends typeof ModelBase>(this: T, _pks: any[]): Promise<Array<InstanceType<T>>>;
|
|
47
|
+
/**
|
|
48
|
+
* gets model by specified pk, if not exists, returns null
|
|
37
49
|
*
|
|
38
|
-
* @returns {SelectQueryBuilder} fluent query builder to add more conditions if needed
|
|
39
50
|
*/
|
|
40
|
-
static
|
|
51
|
+
static get<T extends typeof ModelBase>(this: T, _pk: any): Promise<Array<InstanceType<T>>>;
|
|
41
52
|
/**
|
|
42
|
-
*
|
|
53
|
+
* Finds model by specified pk. If model not exists in db throws exception
|
|
43
54
|
*
|
|
44
|
-
* @param _data data to set
|
|
45
55
|
*/
|
|
46
|
-
static
|
|
47
|
-
static find<T>(pks: any[]): Promise<T[]>;
|
|
48
|
-
static find<T>(pks: any): Promise<T>;
|
|
56
|
+
static getOrFail<T extends typeof ModelBase>(this: T, _pk: any): Promise<Array<InstanceType<T>>>;
|
|
49
57
|
/**
|
|
50
|
-
* Finds model by specified pk
|
|
51
58
|
*
|
|
52
|
-
*
|
|
59
|
+
* Checks if model with pk key or unique fields exists and if not creates one AND NOT save in db
|
|
60
|
+
* NOTE: it checks for unique fields constraint
|
|
53
61
|
*/
|
|
54
|
-
static
|
|
62
|
+
static getOrNew<T extends typeof ModelBase>(this: T, _pk?: any, _data?: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
|
|
55
63
|
/**
|
|
56
64
|
* Creates raw query on this model. used for quering db for partial data or to perform some kind of operations
|
|
57
65
|
* that dont need full ORM model to involve
|
|
58
66
|
*/
|
|
59
|
-
static query<T>(): SelectQueryBuilder<T>;
|
|
67
|
+
static query<T>(this: T): SelectQueryBuilder<T>;
|
|
60
68
|
/**
|
|
61
69
|
*
|
|
62
70
|
* Checks if model with pk key / unique fields exists and if not creates one and saves to db
|
|
63
71
|
* NOTE: it checks for unique fields too.
|
|
64
72
|
*
|
|
65
|
-
* @param
|
|
73
|
+
* @param data - model width data to check
|
|
66
74
|
*/
|
|
67
|
-
static
|
|
75
|
+
static getOrCreate<T extends typeof ModelBase>(this: T, _pk: any, _data?: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
|
|
68
76
|
/**
|
|
69
77
|
* Creates new model & saves is to db
|
|
70
78
|
*
|
|
71
|
-
* @param
|
|
72
|
-
*/
|
|
73
|
-
static create<T>(_data?: any): Promise<T>;
|
|
74
|
-
/**
|
|
75
|
-
*
|
|
76
|
-
* Checks if model with pk key or unique fields exists and if not creates one AND NOT save in db
|
|
77
|
-
* NOTE: it checks for unique fields constraint
|
|
78
|
-
*
|
|
79
|
-
* @param {any} data - model to check
|
|
79
|
+
* @param data - initial model data
|
|
80
80
|
*/
|
|
81
|
-
static
|
|
81
|
+
static create<T extends typeof ModelBase>(this: T, _data: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
|
|
82
82
|
/**
|
|
83
83
|
* Deletes model from db
|
|
84
84
|
*
|
|
85
|
-
* @param pk
|
|
85
|
+
* @param pk - primary key
|
|
86
86
|
*/
|
|
87
|
-
static destroy():
|
|
87
|
+
static destroy(_pk?: any | any[]): Promise<void>;
|
|
88
88
|
constructor(data?: any);
|
|
89
89
|
/**
|
|
90
90
|
* Fills model with data. It only fills properties that exists in database
|
|
91
91
|
*
|
|
92
|
-
* @param data data to fill
|
|
92
|
+
* @param data - data to fill
|
|
93
93
|
*/
|
|
94
|
-
hydrate(data:
|
|
94
|
+
hydrate(data: Partial<this>): void;
|
|
95
95
|
/**
|
|
96
96
|
* Extracts all data from model. It takes only properties that exists in DB
|
|
97
97
|
*/
|
|
98
|
-
dehydrate():
|
|
98
|
+
dehydrate(): Partial<this>;
|
|
99
99
|
/**
|
|
100
100
|
* deletes enitt from db. If model have SoftDelete decorator, model is marked as deleted
|
|
101
101
|
*/
|
|
102
102
|
destroy(): Promise<void>;
|
|
103
|
+
update(): Promise<void>;
|
|
103
104
|
/**
|
|
104
105
|
* Save all changes to db. It creates new entry id db or updates existing one if
|
|
105
106
|
* primary key exists
|
|
106
107
|
*/
|
|
107
|
-
|
|
108
|
+
insert(insertBehaviour?: InsertBehaviour): Promise<void>;
|
|
108
109
|
/**
|
|
109
110
|
* Gets model data from database and returns as fresh instance.
|
|
110
111
|
*/
|
|
111
|
-
fresh(): Promise<
|
|
112
|
+
fresh(): Promise<this>;
|
|
112
113
|
/**
|
|
113
114
|
* sets default values for model. values are taken from DB default column prop
|
|
114
115
|
*/
|
|
115
|
-
protected
|
|
116
|
+
protected setDefaults(): void;
|
|
116
117
|
}
|
|
117
118
|
export declare const MODEL_STATIC_MIXINS: {
|
|
118
119
|
query(): SelectQueryBuilder;
|
|
119
120
|
where(column: string | boolean | WhereFunction | RawQuery | {}, operator?: WhereOperators | any, value?: any): SelectQueryBuilder;
|
|
120
|
-
update(data:
|
|
121
|
+
update<T extends typeof ModelBase>(data: Partial<InstanceType<T>>): UpdateQueryBuilder;
|
|
121
122
|
all(page: number, perPage: number): SelectQueryBuilder;
|
|
122
|
-
insertBulk<T>(data: (object | ModelBase<T>)[]): InsertQueryBuilder;
|
|
123
123
|
/**
|
|
124
124
|
* Try to insert new value
|
|
125
125
|
*/
|
|
126
|
-
insert<T_1>(data:
|
|
127
|
-
find(
|
|
128
|
-
findOrFail<
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
insert<T_1 extends typeof ModelBase>(this: T_1, data: InstanceType<T_1> | Partial<InstanceType<T_1>> | InstanceType<T_1>[] | Partial<InstanceType<T_1>>[]): InsertQueryBuilder;
|
|
127
|
+
find<T_2 extends typeof ModelBase>(this: T_2, pks: any[]): Promise<InstanceType<T_2>[]>;
|
|
128
|
+
findOrFail<T_3 extends typeof ModelBase>(this: T_3, pks: any[]): Promise<InstanceType<T_3>[]>;
|
|
129
|
+
get<T_4 extends typeof ModelBase>(this: T_4, pk: any): Promise<InstanceType<T_4>>;
|
|
130
|
+
getOrFail<T_5 extends typeof ModelBase>(this: T_5, pk: any): Promise<InstanceType<T_5>>;
|
|
131
|
+
destroy(pks: any | any[]): Promise<void>;
|
|
132
|
+
create<T_6 extends typeof ModelBase>(this: T_6, data: Partial<InstanceType<T_6>>): Promise<InstanceType<T_6>>;
|
|
133
|
+
getOrCreate<T_7 extends typeof ModelBase>(this: T_7, pk: any, data: Partial<InstanceType<T_7>>): Promise<InstanceType<T_7>>;
|
|
134
|
+
getOrNew<T_8 extends typeof ModelBase>(this: T_8, pk: any, data?: Partial<InstanceType<T_8>>): Promise<InstanceType<T_8>>;
|
|
133
135
|
};
|