@spinajs/orm 1.2.26 → 1.2.33
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.js +7 -2
- package/lib/builders.js.map +1 -1
- package/lib/decorators.js +9 -9
- package/lib/decorators.js.map +1 -1
- package/lib/driver.d.ts +2 -0
- package/lib/driver.js +5 -0
- package/lib/driver.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 +3 -3
- 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.js +10 -7
- package/lib/orm.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SetValueConverter = exports.DatetimeValueConverter = exports.ValueConverter = exports.GroupByQueryCompiler = exports.OrderByQueryCompiler = exports.ColumnQueryCompiler = exports.TableQueryCompiler = exports.OnDuplicateQueryCompiler = exports.InsertQueryCompiler = exports.UpdateQueryCompiler = exports.DeleteQueryCompiler = exports.ForeignKeyQueryCompiler = exports.IndexQueryCompiler = exports.JoinQueryCompiler = exports.SelectQueryCompiler = exports.RecursiveQueryCompiler = exports.OrmMigration = exports.RelationType = exports.MigrationTransactionMode = exports.ReferentialAction = exports.InsertBehaviour = exports.QueryContext = void 0;
|
|
10
|
+
const di_1 = require("@spinajs/di");
|
|
11
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
12
|
+
var QueryContext;
|
|
13
|
+
(function (QueryContext) {
|
|
14
|
+
QueryContext[QueryContext["Insert"] = 0] = "Insert";
|
|
15
|
+
QueryContext[QueryContext["Select"] = 1] = "Select";
|
|
16
|
+
QueryContext[QueryContext["Update"] = 2] = "Update";
|
|
17
|
+
QueryContext[QueryContext["Delete"] = 3] = "Delete";
|
|
18
|
+
QueryContext[QueryContext["Schema"] = 4] = "Schema";
|
|
19
|
+
QueryContext[QueryContext["Transaction"] = 5] = "Transaction";
|
|
20
|
+
})(QueryContext = exports.QueryContext || (exports.QueryContext = {}));
|
|
21
|
+
var InsertBehaviour;
|
|
22
|
+
(function (InsertBehaviour) {
|
|
23
|
+
/**
|
|
24
|
+
* On duplicate entry ignore & fetch only model primary key
|
|
25
|
+
*/
|
|
26
|
+
InsertBehaviour[InsertBehaviour["OnDuplicateIgnore"] = 0] = "OnDuplicateIgnore";
|
|
27
|
+
/**
|
|
28
|
+
* On duplicate update entry ( when unique constraint is hit update db from model data)
|
|
29
|
+
*/
|
|
30
|
+
InsertBehaviour[InsertBehaviour["OnDuplicateUpdate"] = 1] = "OnDuplicateUpdate";
|
|
31
|
+
/**
|
|
32
|
+
* Throw error if model hits constraint ( primary or unique keys )
|
|
33
|
+
*/
|
|
34
|
+
InsertBehaviour[InsertBehaviour["None"] = 2] = "None";
|
|
35
|
+
})(InsertBehaviour = exports.InsertBehaviour || (exports.InsertBehaviour = {}));
|
|
36
|
+
/**
|
|
37
|
+
* Foreign key referential actions
|
|
38
|
+
*/
|
|
39
|
+
var ReferentialAction;
|
|
40
|
+
(function (ReferentialAction) {
|
|
41
|
+
ReferentialAction["Cascade"] = "CASCADE";
|
|
42
|
+
ReferentialAction["SetNull"] = "SET NULL";
|
|
43
|
+
ReferentialAction["Restrict"] = "RESTRICT";
|
|
44
|
+
ReferentialAction["NoAction"] = "NO ACTION";
|
|
45
|
+
ReferentialAction["SetDefault"] = "SET DEFAULT";
|
|
46
|
+
})(ReferentialAction = exports.ReferentialAction || (exports.ReferentialAction = {}));
|
|
47
|
+
/**
|
|
48
|
+
* Transaction mode when migration DB
|
|
49
|
+
*/
|
|
50
|
+
var MigrationTransactionMode;
|
|
51
|
+
(function (MigrationTransactionMode) {
|
|
52
|
+
/**
|
|
53
|
+
* Migration is run whithout transaction
|
|
54
|
+
*/
|
|
55
|
+
MigrationTransactionMode[MigrationTransactionMode["None"] = 0] = "None";
|
|
56
|
+
/**
|
|
57
|
+
* On transaction for one migration - every migration has its own
|
|
58
|
+
*/
|
|
59
|
+
MigrationTransactionMode[MigrationTransactionMode["PerMigration"] = 1] = "PerMigration";
|
|
60
|
+
})(MigrationTransactionMode = exports.MigrationTransactionMode || (exports.MigrationTransactionMode = {}));
|
|
61
|
+
var RelationType;
|
|
62
|
+
(function (RelationType) {
|
|
63
|
+
RelationType[RelationType["One"] = 0] = "One";
|
|
64
|
+
RelationType[RelationType["Many"] = 1] = "Many";
|
|
65
|
+
RelationType[RelationType["ManyToMany"] = 2] = "ManyToMany";
|
|
66
|
+
})(RelationType = exports.RelationType || (exports.RelationType = {}));
|
|
67
|
+
let OrmMigration = class OrmMigration {
|
|
68
|
+
};
|
|
69
|
+
OrmMigration = __decorate([
|
|
70
|
+
(0, di_1.NewInstance)()
|
|
71
|
+
], OrmMigration);
|
|
72
|
+
exports.OrmMigration = OrmMigration;
|
|
73
|
+
/**
|
|
74
|
+
* Definitions of query compiler are needed for DI resolving
|
|
75
|
+
* ==========================================================
|
|
76
|
+
*/
|
|
77
|
+
let RecursiveQueryCompiler = class RecursiveQueryCompiler {
|
|
78
|
+
};
|
|
79
|
+
RecursiveQueryCompiler = __decorate([
|
|
80
|
+
(0, di_1.NewInstance)()
|
|
81
|
+
], RecursiveQueryCompiler);
|
|
82
|
+
exports.RecursiveQueryCompiler = RecursiveQueryCompiler;
|
|
83
|
+
let SelectQueryCompiler = class SelectQueryCompiler {
|
|
84
|
+
};
|
|
85
|
+
SelectQueryCompiler = __decorate([
|
|
86
|
+
(0, di_1.NewInstance)()
|
|
87
|
+
], SelectQueryCompiler);
|
|
88
|
+
exports.SelectQueryCompiler = SelectQueryCompiler;
|
|
89
|
+
let JoinQueryCompiler = class JoinQueryCompiler {
|
|
90
|
+
};
|
|
91
|
+
JoinQueryCompiler = __decorate([
|
|
92
|
+
(0, di_1.NewInstance)()
|
|
93
|
+
], JoinQueryCompiler);
|
|
94
|
+
exports.JoinQueryCompiler = JoinQueryCompiler;
|
|
95
|
+
let IndexQueryCompiler = class IndexQueryCompiler {
|
|
96
|
+
};
|
|
97
|
+
IndexQueryCompiler = __decorate([
|
|
98
|
+
(0, di_1.NewInstance)()
|
|
99
|
+
], IndexQueryCompiler);
|
|
100
|
+
exports.IndexQueryCompiler = IndexQueryCompiler;
|
|
101
|
+
let ForeignKeyQueryCompiler = class ForeignKeyQueryCompiler {
|
|
102
|
+
};
|
|
103
|
+
ForeignKeyQueryCompiler = __decorate([
|
|
104
|
+
(0, di_1.NewInstance)()
|
|
105
|
+
], ForeignKeyQueryCompiler);
|
|
106
|
+
exports.ForeignKeyQueryCompiler = ForeignKeyQueryCompiler;
|
|
107
|
+
let DeleteQueryCompiler = class DeleteQueryCompiler {
|
|
108
|
+
};
|
|
109
|
+
DeleteQueryCompiler = __decorate([
|
|
110
|
+
(0, di_1.NewInstance)()
|
|
111
|
+
], DeleteQueryCompiler);
|
|
112
|
+
exports.DeleteQueryCompiler = DeleteQueryCompiler;
|
|
113
|
+
let UpdateQueryCompiler = class UpdateQueryCompiler {
|
|
114
|
+
};
|
|
115
|
+
UpdateQueryCompiler = __decorate([
|
|
116
|
+
(0, di_1.NewInstance)()
|
|
117
|
+
], UpdateQueryCompiler);
|
|
118
|
+
exports.UpdateQueryCompiler = UpdateQueryCompiler;
|
|
119
|
+
let InsertQueryCompiler = class InsertQueryCompiler {
|
|
120
|
+
};
|
|
121
|
+
InsertQueryCompiler = __decorate([
|
|
122
|
+
(0, di_1.NewInstance)()
|
|
123
|
+
], InsertQueryCompiler);
|
|
124
|
+
exports.InsertQueryCompiler = InsertQueryCompiler;
|
|
125
|
+
let OnDuplicateQueryCompiler = class OnDuplicateQueryCompiler {
|
|
126
|
+
};
|
|
127
|
+
OnDuplicateQueryCompiler = __decorate([
|
|
128
|
+
(0, di_1.NewInstance)()
|
|
129
|
+
], OnDuplicateQueryCompiler);
|
|
130
|
+
exports.OnDuplicateQueryCompiler = OnDuplicateQueryCompiler;
|
|
131
|
+
let TableQueryCompiler = class TableQueryCompiler {
|
|
132
|
+
};
|
|
133
|
+
TableQueryCompiler = __decorate([
|
|
134
|
+
(0, di_1.NewInstance)()
|
|
135
|
+
], TableQueryCompiler);
|
|
136
|
+
exports.TableQueryCompiler = TableQueryCompiler;
|
|
137
|
+
let ColumnQueryCompiler = class ColumnQueryCompiler {
|
|
138
|
+
};
|
|
139
|
+
ColumnQueryCompiler = __decorate([
|
|
140
|
+
(0, di_1.NewInstance)()
|
|
141
|
+
], ColumnQueryCompiler);
|
|
142
|
+
exports.ColumnQueryCompiler = ColumnQueryCompiler;
|
|
143
|
+
let OrderByQueryCompiler = class OrderByQueryCompiler {
|
|
144
|
+
};
|
|
145
|
+
OrderByQueryCompiler = __decorate([
|
|
146
|
+
(0, di_1.NewInstance)()
|
|
147
|
+
], OrderByQueryCompiler);
|
|
148
|
+
exports.OrderByQueryCompiler = OrderByQueryCompiler;
|
|
149
|
+
let GroupByQueryCompiler = class GroupByQueryCompiler {
|
|
150
|
+
};
|
|
151
|
+
GroupByQueryCompiler = __decorate([
|
|
152
|
+
(0, di_1.NewInstance)()
|
|
153
|
+
], GroupByQueryCompiler);
|
|
154
|
+
exports.GroupByQueryCompiler = GroupByQueryCompiler;
|
|
155
|
+
class ValueConverter {
|
|
156
|
+
/**
|
|
157
|
+
* Converts value to database type
|
|
158
|
+
*
|
|
159
|
+
* @param value - value to convert
|
|
160
|
+
*/
|
|
161
|
+
toDB(_value) {
|
|
162
|
+
throw new exceptions_1.MethodNotImplemented();
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Converts value from database type eg. mysql timestamp to DateTime
|
|
166
|
+
*
|
|
167
|
+
* @param value - value to convert
|
|
168
|
+
*/
|
|
169
|
+
fromDB(_value) {
|
|
170
|
+
throw new exceptions_1.MethodNotImplemented();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.ValueConverter = ValueConverter;
|
|
174
|
+
/**
|
|
175
|
+
* Converter for DATETIME field (eg. mysql datetime)
|
|
176
|
+
*/
|
|
177
|
+
class DatetimeValueConverter extends ValueConverter {
|
|
178
|
+
}
|
|
179
|
+
exports.DatetimeValueConverter = DatetimeValueConverter;
|
|
180
|
+
/**
|
|
181
|
+
* Converter for set field (eg. mysql SET)
|
|
182
|
+
*/
|
|
183
|
+
class SetValueConverter extends ValueConverter {
|
|
184
|
+
}
|
|
185
|
+
exports.SetValueConverter = SetValueConverter;
|
|
186
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { IModelDescrtiptor, InsertBehaviour } from './interfaces';
|
|
2
|
+
import { WhereFunction } from './types';
|
|
3
|
+
import { RawQuery, UpdateQueryBuilder, SelectQueryBuilder, InsertQueryBuilder } from './builders';
|
|
4
|
+
import { WhereOperators } from './enums';
|
|
5
|
+
export declare function extractModelDescriptor(targetOrForward: any): IModelDescrtiptor;
|
|
6
|
+
export declare class ModelBase {
|
|
7
|
+
/**
|
|
8
|
+
* Gets descriptor for this model. It contains information about relations, orm driver, connection properties,
|
|
9
|
+
* db table attached, column information and others.
|
|
10
|
+
*/
|
|
11
|
+
get ModelDescriptor(): IModelDescrtiptor;
|
|
12
|
+
get PrimaryKeyName(): string;
|
|
13
|
+
get PrimaryKeyValue(): any;
|
|
14
|
+
set PrimaryKeyValue(newVal: any);
|
|
15
|
+
/**
|
|
16
|
+
* Get all data from db
|
|
17
|
+
*/
|
|
18
|
+
static all<T extends typeof ModelBase>(this: T, _page?: number, _perPage?: number): SelectQueryBuilder<Array<InstanceType<T>>>;
|
|
19
|
+
/**
|
|
20
|
+
* Inserts data to DB.
|
|
21
|
+
*
|
|
22
|
+
* @param _data - data to insert
|
|
23
|
+
*/
|
|
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
|
+
/**
|
|
26
|
+
* Search entities in db
|
|
27
|
+
*
|
|
28
|
+
* @param column - column to search or function
|
|
29
|
+
* @param operator - boolean operator
|
|
30
|
+
* @param value - value to compare
|
|
31
|
+
*/
|
|
32
|
+
static where<T extends typeof ModelBase>(this: T, _column: string | boolean | WhereFunction | RawQuery | object, _operator?: WhereOperators | any, _value?: any): SelectQueryBuilder<Array<InstanceType<T>>>;
|
|
33
|
+
/**
|
|
34
|
+
* Updates single or multiple records at once with provided value based on condition
|
|
35
|
+
*
|
|
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
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
static get<T extends typeof ModelBase>(this: T, _pk: any): Promise<Array<InstanceType<T>>>;
|
|
52
|
+
/**
|
|
53
|
+
* Finds model by specified pk. If model not exists in db throws exception
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
static getOrFail<T extends typeof ModelBase>(this: T, _pk: any): Promise<Array<InstanceType<T>>>;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
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
|
|
61
|
+
*/
|
|
62
|
+
static getOrNew<T extends typeof ModelBase>(this: T, _pk?: any, _data?: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
|
|
63
|
+
/**
|
|
64
|
+
* Creates raw query on this model. used for quering db for partial data or to perform some kind of operations
|
|
65
|
+
* that dont need full ORM model to involve
|
|
66
|
+
*/
|
|
67
|
+
static query<T>(this: T): SelectQueryBuilder<T>;
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* Checks if model with pk key / unique fields exists and if not creates one and saves to db
|
|
71
|
+
* NOTE: it checks for unique fields too.
|
|
72
|
+
*
|
|
73
|
+
* @param data - model width data to check
|
|
74
|
+
*/
|
|
75
|
+
static getOrCreate<T extends typeof ModelBase>(this: T, _pk: any, _data?: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
|
|
76
|
+
/**
|
|
77
|
+
* Creates new model & saves is to db
|
|
78
|
+
*
|
|
79
|
+
* @param data - initial model data
|
|
80
|
+
*/
|
|
81
|
+
static create<T extends typeof ModelBase>(this: T, _data: Partial<InstanceType<T>>): Promise<InstanceType<T>>;
|
|
82
|
+
/**
|
|
83
|
+
* Deletes model from db
|
|
84
|
+
*
|
|
85
|
+
* @param pk - primary key
|
|
86
|
+
*/
|
|
87
|
+
static destroy(_pk?: any | any[]): Promise<void>;
|
|
88
|
+
constructor(data?: any);
|
|
89
|
+
/**
|
|
90
|
+
* Fills model with data. It only fills properties that exists in database
|
|
91
|
+
*
|
|
92
|
+
* @param data - data to fill
|
|
93
|
+
*/
|
|
94
|
+
hydrate(data: Partial<this>): void;
|
|
95
|
+
/**
|
|
96
|
+
* Extracts all data from model. It takes only properties that exists in DB
|
|
97
|
+
*/
|
|
98
|
+
dehydrate(): Partial<this>;
|
|
99
|
+
/**
|
|
100
|
+
* deletes enitt from db. If model have SoftDelete decorator, model is marked as deleted
|
|
101
|
+
*/
|
|
102
|
+
destroy(): Promise<void>;
|
|
103
|
+
update(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Save all changes to db. It creates new entry id db or updates existing one if
|
|
106
|
+
* primary key exists
|
|
107
|
+
*/
|
|
108
|
+
insert(insertBehaviour?: InsertBehaviour): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Gets model data from database and returns as fresh instance.
|
|
111
|
+
*/
|
|
112
|
+
fresh(): Promise<this>;
|
|
113
|
+
/**
|
|
114
|
+
* sets default values for model. values are taken from DB default column prop
|
|
115
|
+
*/
|
|
116
|
+
protected setDefaults(): void;
|
|
117
|
+
}
|
|
118
|
+
export declare const MODEL_STATIC_MIXINS: {
|
|
119
|
+
query(): SelectQueryBuilder;
|
|
120
|
+
where(column: string | boolean | WhereFunction | RawQuery | {}, operator?: WhereOperators | any, value?: any): SelectQueryBuilder;
|
|
121
|
+
update<T extends typeof ModelBase>(data: Partial<InstanceType<T>>): UpdateQueryBuilder;
|
|
122
|
+
all(page: number, perPage: number): SelectQueryBuilder;
|
|
123
|
+
/**
|
|
124
|
+
* Try to insert new value
|
|
125
|
+
*/
|
|
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>>;
|
|
135
|
+
};
|