@spinajs/orm 2.0.38 → 2.0.44
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.d.ts +97 -9
- package/lib/builders.js +161 -48
- package/lib/builders.js.map +1 -1
- package/lib/converters.d.ts +6 -1
- package/lib/converters.js +36 -1
- package/lib/converters.js.map +1 -1
- package/lib/decorators.d.ts +33 -3
- package/lib/decorators.js +87 -18
- package/lib/decorators.js.map +1 -1
- package/lib/dehydrators.js +1 -1
- package/lib/dehydrators.js.map +1 -1
- package/lib/driver.d.ts +4 -5
- package/lib/driver.js +2 -3
- package/lib/driver.js.map +1 -1
- package/lib/enums.d.ts +3 -2
- package/lib/enums.js +1 -0
- package/lib/enums.js.map +1 -1
- package/lib/hydrators.js +1 -1
- package/lib/hydrators.js.map +1 -1
- package/lib/interfaces.d.ts +81 -16
- package/lib/interfaces.js +49 -3
- package/lib/interfaces.js.map +1 -1
- package/lib/model.d.ts +60 -33
- package/lib/model.js +97 -40
- package/lib/model.js.map +1 -1
- package/lib/orm.d.ts +4 -3
- package/lib/orm.js +18 -18
- package/lib/orm.js.map +1 -1
- package/lib/relations.d.ts +51 -14
- package/lib/relations.js +54 -76
- package/lib/relations.js.map +1 -1
- package/lib/statements.d.ts +11 -3
- package/lib/statements.js +42 -8
- package/lib/statements.js.map +1 -1
- package/lib/types.d.ts +8 -0
- package/package.json +10 -11
- package/lib/cli.d.ts +0 -1
- package/lib/cli.js +0 -2
- package/lib/cli.js.map +0 -1
package/lib/statements.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { ISelectQueryBuilder } from './interfaces';
|
|
1
2
|
import { SelectQueryBuilder, WhereBuilder, RawQuery } from './builders';
|
|
2
3
|
import { ColumnMethods, SqlOperator, JoinMethod } from './enums';
|
|
3
|
-
import { Container, Class } from '@spinajs/di';
|
|
4
|
+
import { Container, Class, Constructor } from '@spinajs/di';
|
|
4
5
|
import { IColumnDescriptor } from './interfaces';
|
|
6
|
+
import { ModelBase } from './model';
|
|
5
7
|
export interface IQueryStatementResult {
|
|
6
8
|
Statements: string[];
|
|
7
9
|
Bindings: any[];
|
|
@@ -53,7 +55,8 @@ export declare abstract class WhereStatement extends QueryStatement {
|
|
|
53
55
|
protected _operator: SqlOperator;
|
|
54
56
|
protected _value: any;
|
|
55
57
|
protected _container: Container;
|
|
56
|
-
|
|
58
|
+
protected _model: Constructor<ModelBase>;
|
|
59
|
+
constructor(column: string, operator: SqlOperator, value: any, tableAlias: string, container: Container, model: Constructor<ModelBase>);
|
|
57
60
|
abstract build(): IQueryStatementResult;
|
|
58
61
|
}
|
|
59
62
|
export declare class Wrap {
|
|
@@ -79,7 +82,12 @@ export declare abstract class JoinStatement extends QueryStatement {
|
|
|
79
82
|
protected _query: RawQuery;
|
|
80
83
|
protected _alias: string;
|
|
81
84
|
protected _tableAlias: string;
|
|
82
|
-
|
|
85
|
+
protected _model: Constructor<ModelBase>;
|
|
86
|
+
protected _sourceModel: Constructor<ModelBase>;
|
|
87
|
+
protected _whereCallback: (this: ISelectQueryBuilder<any>) => void;
|
|
88
|
+
protected _builder: SelectQueryBuilder<any>;
|
|
89
|
+
protected _whereBuilder: SelectQueryBuilder<any>;
|
|
90
|
+
constructor(builder: SelectQueryBuilder<any>, sourceModel: Constructor<ModelBase>, table: string | RawQuery | Constructor<ModelBase>, method: JoinMethod, foreignKey: string | ((this: SelectQueryBuilder) => void), primaryKey: string, alias: string, tableAlias: string);
|
|
83
91
|
abstract build(): IQueryStatementResult;
|
|
84
92
|
}
|
|
85
93
|
export declare abstract class InStatement extends QueryStatement {
|
package/lib/statements.js
CHANGED
|
@@ -38,6 +38,8 @@ const builders_1 = require("./builders");
|
|
|
38
38
|
const enums_1 = require("./enums");
|
|
39
39
|
const di_1 = require("@spinajs/di");
|
|
40
40
|
const _ = __importStar(require("lodash"));
|
|
41
|
+
const model_1 = require("./model");
|
|
42
|
+
const exceptions_1 = require("./exceptions");
|
|
41
43
|
class QueryStatement {
|
|
42
44
|
constructor(tableAlias) {
|
|
43
45
|
this._tableAlias = tableAlias;
|
|
@@ -112,17 +114,18 @@ WhereQueryStatement = __decorate([
|
|
|
112
114
|
], WhereQueryStatement);
|
|
113
115
|
exports.WhereQueryStatement = WhereQueryStatement;
|
|
114
116
|
let WhereStatement = class WhereStatement extends QueryStatement {
|
|
115
|
-
constructor(column, operator, value, tableAlias, container) {
|
|
117
|
+
constructor(column, operator, value, tableAlias, container, model) {
|
|
116
118
|
super(tableAlias);
|
|
117
119
|
this._column = column;
|
|
118
120
|
this._operator = operator;
|
|
119
121
|
this._value = value;
|
|
120
122
|
this._container = container;
|
|
123
|
+
this._model = model;
|
|
121
124
|
}
|
|
122
125
|
};
|
|
123
126
|
WhereStatement = __decorate([
|
|
124
127
|
(0, di_1.NewInstance)(),
|
|
125
|
-
__metadata("design:paramtypes", [String, String, Object, String, di_1.Container])
|
|
128
|
+
__metadata("design:paramtypes", [String, String, Object, String, di_1.Container, Object])
|
|
126
129
|
], WhereStatement);
|
|
127
130
|
exports.WhereStatement = WhereStatement;
|
|
128
131
|
class Wrap {
|
|
@@ -156,24 +159,55 @@ DateTimeWrapper = __decorate([
|
|
|
156
159
|
], DateTimeWrapper);
|
|
157
160
|
exports.DateTimeWrapper = DateTimeWrapper;
|
|
158
161
|
let JoinStatement = class JoinStatement extends QueryStatement {
|
|
159
|
-
constructor(table, method, foreignKey, primaryKey, alias, tableAlias) {
|
|
162
|
+
constructor(builder, sourceModel, table, method, foreignKey, primaryKey, alias, tableAlias) {
|
|
160
163
|
super(tableAlias);
|
|
161
164
|
this._method = method;
|
|
165
|
+
this._builder = builder;
|
|
166
|
+
if (_.isString(foreignKey)) {
|
|
167
|
+
this._foreignKey = foreignKey;
|
|
168
|
+
}
|
|
162
169
|
if (_.isString(table)) {
|
|
163
170
|
this._table = table;
|
|
164
|
-
this._foreignKey = foreignKey;
|
|
165
171
|
this._primaryKey = primaryKey;
|
|
166
|
-
this._alias =
|
|
167
|
-
this._tableAlias =
|
|
172
|
+
this._alias = tableAlias;
|
|
173
|
+
this._tableAlias = alias;
|
|
168
174
|
}
|
|
169
|
-
else {
|
|
175
|
+
else if (table instanceof builders_1.RawQuery) {
|
|
170
176
|
this._query = table;
|
|
171
177
|
}
|
|
178
|
+
else {
|
|
179
|
+
this._model = table;
|
|
180
|
+
this._sourceModel = sourceModel;
|
|
181
|
+
const sDesc = (0, model_1.extractModelDescriptor)(this._sourceModel);
|
|
182
|
+
const tDesc = (0, model_1.extractModelDescriptor)(this._model);
|
|
183
|
+
const sAlias = `${sDesc.Driver.Options.AliasSeparator}${sDesc.Name}${sDesc.Driver.Options.AliasSeparator}`;
|
|
184
|
+
this._tableAlias = `${sDesc.Driver.Options.AliasSeparator}${tDesc.Name}${sDesc.Driver.Options.AliasSeparator}`;
|
|
185
|
+
if (!this._builder.TableAlias) {
|
|
186
|
+
this._builder.setAlias(sAlias);
|
|
187
|
+
}
|
|
188
|
+
if (_.isFunction(foreignKey)) {
|
|
189
|
+
this._whereCallback = foreignKey;
|
|
190
|
+
const driver = this._builder.Driver;
|
|
191
|
+
const cnt = driver.Container;
|
|
192
|
+
this._whereBuilder = cnt.resolve(builders_1.SelectQueryBuilder, [driver, this._model, this]);
|
|
193
|
+
this._whereBuilder.setAlias(this._tableAlias);
|
|
194
|
+
this._whereCallback.call(this._whereBuilder, [this]);
|
|
195
|
+
this._builder.mergeStatements(this._whereBuilder);
|
|
196
|
+
}
|
|
197
|
+
const relation = Array.from(sDesc.Relations, ([key, value]) => ({ key, value })).find((x) => x.value.TargetModel.name === this._model.name);
|
|
198
|
+
if (!relation) {
|
|
199
|
+
throw new exceptions_1.OrmException(`Cannot find relation between ${this._model.name} and ${this._sourceModel.name}, thus cannot perform join statement`);
|
|
200
|
+
}
|
|
201
|
+
this._table = tDesc.TableName;
|
|
202
|
+
this._primaryKey = relation.value.ForeignKey;
|
|
203
|
+
this._alias = sAlias;
|
|
204
|
+
this._foreignKey = sDesc.PrimaryKey;
|
|
205
|
+
}
|
|
172
206
|
}
|
|
173
207
|
};
|
|
174
208
|
JoinStatement = __decorate([
|
|
175
209
|
(0, di_1.NewInstance)(),
|
|
176
|
-
__metadata("design:paramtypes", [Object,
|
|
210
|
+
__metadata("design:paramtypes", [builders_1.SelectQueryBuilder, Object, Object, String, Object, String, String, String])
|
|
177
211
|
], JoinStatement);
|
|
178
212
|
exports.JoinStatement = JoinStatement;
|
|
179
213
|
let InStatement = class InStatement extends QueryStatement {
|
package/lib/statements.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import { IWhereBuilder } from './interfaces';
|
|
2
|
+
import { Relation, SingleRelation } from './relations';
|
|
2
3
|
export declare type WhereFunction<T> = (this: IWhereBuilder<T>) => void;
|
|
3
4
|
export declare type Unbox<T> = T extends Array<infer U> ? U : T;
|
|
5
|
+
export declare type UnboxRelation<T> = T extends Relation<infer U, never> ? U : T;
|
|
6
|
+
export declare type PickRelations<T, Value> = {
|
|
7
|
+
[P in keyof T as T[P] extends Value | undefined ? P : never]: number | UnboxRelation<Value>;
|
|
8
|
+
};
|
|
9
|
+
export declare type PartialModel<T> = {
|
|
10
|
+
[P in keyof T]?: T[P] extends SingleRelation<infer W> ? W : T[P] | undefined;
|
|
11
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/orm",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.44",
|
|
4
4
|
"description": "framework orm module",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"private": false,
|
|
@@ -41,22 +41,21 @@
|
|
|
41
41
|
"homepage": "https://github.com/spinajs/main#readme",
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/lodash": "4.14.182",
|
|
44
|
-
"@types/luxon": "2.
|
|
44
|
+
"@types/luxon": "^3.2.0",
|
|
45
45
|
"@types/node": "^16.11.44",
|
|
46
46
|
"@types/uuid": "8.3.4"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@spinajs/configuration": "^2.0.
|
|
50
|
-
"@spinajs/di": "^2.0.
|
|
51
|
-
"@spinajs/exceptions": "^2.0.
|
|
52
|
-
"@spinajs/internal-logger": "^2.0.
|
|
53
|
-
"@spinajs/log": "^2.0.
|
|
54
|
-
"@spinajs/reflection": "^2.0.
|
|
49
|
+
"@spinajs/configuration": "^2.0.44",
|
|
50
|
+
"@spinajs/di": "^2.0.44",
|
|
51
|
+
"@spinajs/exceptions": "^2.0.39",
|
|
52
|
+
"@spinajs/internal-logger": "^2.0.44",
|
|
53
|
+
"@spinajs/log": "^2.0.44",
|
|
54
|
+
"@spinajs/reflection": "^2.0.44",
|
|
55
55
|
"glob": "^7.1.4",
|
|
56
|
-
"helmet": "^3.23.0",
|
|
57
56
|
"lodash": "^4.17.14",
|
|
58
|
-
"luxon": "^
|
|
57
|
+
"luxon": "^3.2.1",
|
|
59
58
|
"uuid": "^8.3.2"
|
|
60
59
|
},
|
|
61
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "1857a6e3626e0fed22ffb0b44b48d587c79898db"
|
|
62
61
|
}
|
package/lib/cli.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env nod
|
package/lib/cli.js
DELETED
package/lib/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|