@spinajs/orm-sqlite 2.0.45 → 2.0.48
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 -11
- package/lib/builders.d.ts +1 -2
- package/lib/builders.d.ts.map +1 -0
- package/lib/builders.js +7 -10
- package/lib/builders.js.map +1 -1
- package/lib/compilers.d.ts +1 -1
- package/lib/compilers.d.ts.map +1 -0
- package/lib/compilers.js +39 -46
- package/lib/compilers.js.map +1 -1
- package/lib/converters.d.ts +8 -0
- package/lib/converters.d.ts.map +1 -0
- package/lib/converters.js +48 -0
- package/lib/converters.js.map +1 -0
- package/lib/index.d.ts +4 -3
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +47 -58
- package/lib/index.js.map +1 -1
- package/lib/statements.d.ts +1 -0
- package/lib/statements.d.ts.map +1 -0
- package/lib/statements.js +10 -13
- package/lib/statements.js.map +1 -1
- package/lib/types.d.ts +1 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +1 -2
- package/package.json +61 -58
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# `@spinajs/orm-sqlite`
|
|
2
|
-
|
|
3
|
-
> TODO: description
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
const ormSqlite = require('@spinajs/orm-sqlite');
|
|
9
|
-
|
|
10
|
-
// TODO: DEMONSTRATE API
|
|
11
|
-
```
|
|
1
|
+
# `@spinajs/orm-sqlite`
|
|
2
|
+
|
|
3
|
+
> TODO: description
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
const ormSqlite = require('@spinajs/orm-sqlite');
|
|
9
|
+
|
|
10
|
+
// TODO: DEMONSTRATE API
|
|
11
|
+
```
|
package/lib/builders.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { DefaultValueBuilder, RawQuery } from '@spinajs/orm';
|
|
2
2
|
export declare class SqlLiteDefaultValueBuilder<T> extends DefaultValueBuilder<T> {
|
|
3
3
|
protected Owner: T;
|
|
4
|
-
Query: RawQuery;
|
|
5
|
-
Value: string | number;
|
|
6
4
|
constructor(Owner: T);
|
|
7
5
|
date(): T;
|
|
8
6
|
dateTime(): T;
|
|
9
7
|
value(val: string | number): T;
|
|
10
8
|
raw(query: RawQuery): T;
|
|
11
9
|
}
|
|
10
|
+
//# sourceMappingURL=builders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7D,qBACa,0BAA0B,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC3D,SAAS,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;IAIvB,IAAI,IAAI,CAAC;IAKT,QAAQ,IAAI,CAAC;IAKb,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC;IAK9B,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC;CAI/B"}
|
package/lib/builders.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,21 +7,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const orm_1 = require("@spinajs/orm");
|
|
15
|
-
let SqlLiteDefaultValueBuilder = class SqlLiteDefaultValueBuilder extends orm_1.DefaultValueBuilder {
|
|
10
|
+
import { NewInstance } from '@spinajs/di';
|
|
11
|
+
import { DefaultValueBuilder, RawQuery } from '@spinajs/orm';
|
|
12
|
+
let SqlLiteDefaultValueBuilder = class SqlLiteDefaultValueBuilder extends DefaultValueBuilder {
|
|
16
13
|
constructor(Owner) {
|
|
17
14
|
super();
|
|
18
15
|
this.Owner = Owner;
|
|
19
16
|
}
|
|
20
17
|
date() {
|
|
21
|
-
this.Query =
|
|
18
|
+
this.Query = RawQuery.create("(strftime('%Y-%m-%d', 'now'))");
|
|
22
19
|
return this.Owner;
|
|
23
20
|
}
|
|
24
21
|
dateTime() {
|
|
25
|
-
this.Query =
|
|
22
|
+
this.Query = RawQuery.create("strftime('%Y-%m-%dT%H:%M:%fZ', 'now')");
|
|
26
23
|
return this.Owner;
|
|
27
24
|
}
|
|
28
25
|
value(val) {
|
|
@@ -35,8 +32,8 @@ let SqlLiteDefaultValueBuilder = class SqlLiteDefaultValueBuilder extends orm_1.
|
|
|
35
32
|
}
|
|
36
33
|
};
|
|
37
34
|
SqlLiteDefaultValueBuilder = __decorate([
|
|
38
|
-
|
|
35
|
+
NewInstance(),
|
|
39
36
|
__metadata("design:paramtypes", [Object])
|
|
40
37
|
], SqlLiteDefaultValueBuilder);
|
|
41
|
-
|
|
38
|
+
export { SqlLiteDefaultValueBuilder };
|
|
42
39
|
//# sourceMappingURL=builders.js.map
|
package/lib/builders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGtD,IAAM,0BAA0B,GAAhC,MAAM,0BAA8B,SAAQ,mBAAsB;IACvE,YAAsB,KAAQ;QAC5B,KAAK,EAAE,CAAC;QADY,UAAK,GAAL,KAAK,CAAG;IAE9B,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,GAAoB;QAC/B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,GAAG,CAAC,KAAe;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF,CAAA;AAxBY,0BAA0B;IADtC,WAAW,EAAE;;GACD,0BAA0B,CAwBtC;SAxBY,0BAA0B"}
|
package/lib/compilers.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ export declare class SqliteOrderByCompiler extends OrderByQueryCompiler {
|
|
|
13
13
|
compile(): ICompilerOutput;
|
|
14
14
|
}
|
|
15
15
|
export declare class SqliteOnDuplicateQueryCompiler extends SqlOnDuplicateQueryCompiler {
|
|
16
|
-
protected _builder: OnDuplicateQueryBuilder;
|
|
17
16
|
constructor(builder: OnDuplicateQueryBuilder);
|
|
18
17
|
compile(): {
|
|
19
18
|
bindings: any[];
|
|
@@ -40,3 +39,4 @@ export declare class SqliteColumnCompiler extends SqlColumnQueryCompiler {
|
|
|
40
39
|
compile(): ICompilerOutput;
|
|
41
40
|
protected _defaultCompiler(): string;
|
|
42
41
|
}
|
|
42
|
+
//# sourceMappingURL=compilers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../src/compilers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACtI,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAY,uBAAuB,EAAmB,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAgB,kBAAkB,EAAE,iBAAiB,EAAsB,MAAM,cAAc,CAAC;AACpR,OAAO,EAAuB,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzE,qBAAa,gCAAiC,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,SAAS,EAAE,SAAS;IAAE,SAAS,CAAC,OAAO,EAAE,iBAAiB;gBAA1D,SAAS,EAAE,SAAS,EAAY,OAAO,EAAE,iBAAiB;IAIzE,OAAO,IAAI,eAAe;CAMlC;AAED,qBACa,qBAAsB,SAAQ,oBAAoB;IAC7D,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAEvB,OAAO,EAAE,cAAc;IAS5B,OAAO,IAAI,eAAe;CAclC;AACD,qBACa,8BAA+B,SAAQ,2BAA2B;gBACjE,OAAO,EAAE,uBAAuB;IAIrC,OAAO;;;;CA8Bf;AAED,qBACa,yBAA0B,YAAW,mBAAmB;IACvD,SAAS,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAM/C,OAAO,IAAI,eAAe;CAMlC;AAED,qBAEa,wBAAyB,SAAQ,qBAAqB;IAC1D,OAAO,IAAI,eAAe,EAAE;CAYpC;AAED,qBAEa,yBAA0B,SAAQ,sBAAsB;gBACvD,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAIvD,OAAO;;;;IAYd,SAAS,CAAC,IAAI;CAGf;AAED,qBACa,oBAAqB,SAAQ,sBAAsB;IACvD,OAAO,IAAI,eAAe;IA4EjC,SAAS,CAAC,gBAAgB;CAiB3B"}
|
package/lib/compilers.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* eslint-disable security/detect-object-injection */
|
|
3
2
|
/* eslint-disable prettier/prettier */
|
|
4
3
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -10,16 +9,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
10
9
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
11
10
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
12
11
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const orm_sql_1 = require("@spinajs/orm-sql");
|
|
19
|
-
const orm_1 = require("@spinajs/orm");
|
|
20
|
-
const di_1 = require("@spinajs/di");
|
|
21
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
22
|
-
class SqliteTruncateTableQueryCompiler extends orm_1.TableQueryCompiler {
|
|
12
|
+
import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
|
|
13
|
+
import { OrderByBuilder, OrderByQueryCompiler, RawQuery, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsQueryBuilder, OrmException, TableQueryCompiler, TableAliasCompiler } from '@spinajs/orm';
|
|
14
|
+
import { NewInstance, Inject, Container } from '@spinajs/di';
|
|
15
|
+
import _ from 'lodash';
|
|
16
|
+
export class SqliteTruncateTableQueryCompiler extends TableQueryCompiler {
|
|
23
17
|
constructor(container, builder) {
|
|
24
18
|
super();
|
|
25
19
|
this.container = container;
|
|
@@ -28,12 +22,11 @@ class SqliteTruncateTableQueryCompiler extends orm_1.TableQueryCompiler {
|
|
|
28
22
|
compile() {
|
|
29
23
|
return {
|
|
30
24
|
bindings: [],
|
|
31
|
-
expression: `DELETE FROM ${this.container.resolve(
|
|
25
|
+
expression: `DELETE FROM ${this.container.resolve(TableAliasCompiler).compile(this.builder)}`,
|
|
32
26
|
};
|
|
33
27
|
}
|
|
34
28
|
}
|
|
35
|
-
|
|
36
|
-
let SqliteOrderByCompiler = class SqliteOrderByCompiler extends orm_1.OrderByQueryCompiler {
|
|
29
|
+
let SqliteOrderByCompiler = class SqliteOrderByCompiler extends OrderByQueryCompiler {
|
|
37
30
|
constructor(builder) {
|
|
38
31
|
super();
|
|
39
32
|
if (!builder) {
|
|
@@ -55,32 +48,32 @@ let SqliteOrderByCompiler = class SqliteOrderByCompiler extends orm_1.OrderByQue
|
|
|
55
48
|
}
|
|
56
49
|
};
|
|
57
50
|
SqliteOrderByCompiler = __decorate([
|
|
58
|
-
|
|
59
|
-
__metadata("design:paramtypes", [
|
|
51
|
+
NewInstance(),
|
|
52
|
+
__metadata("design:paramtypes", [OrderByBuilder])
|
|
60
53
|
], SqliteOrderByCompiler);
|
|
61
|
-
|
|
62
|
-
let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extends
|
|
54
|
+
export { SqliteOrderByCompiler };
|
|
55
|
+
let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extends SqlOnDuplicateQueryCompiler {
|
|
63
56
|
constructor(builder) {
|
|
64
57
|
super(builder);
|
|
65
58
|
}
|
|
66
59
|
compile() {
|
|
67
60
|
if (this._builder.getColumn().length === 0) {
|
|
68
|
-
throw new
|
|
61
|
+
throw new OrmException(`no unique or primary key columns defined in table ${this._builder.getParent().Table}`);
|
|
69
62
|
}
|
|
70
63
|
const columns = this._builder.getColumnsToUpdate().map((c) => {
|
|
71
|
-
if (
|
|
64
|
+
if (_.isString(c)) {
|
|
72
65
|
return `${c} = ?`;
|
|
73
66
|
}
|
|
74
67
|
else {
|
|
75
68
|
return c.Query;
|
|
76
69
|
}
|
|
77
70
|
});
|
|
78
|
-
const bindings =
|
|
79
|
-
if (
|
|
71
|
+
const bindings = _.flatMap(this._builder.getColumnsToUpdate(), (c) => {
|
|
72
|
+
if (_.isString(c)) {
|
|
80
73
|
const cIndex = this._builder
|
|
81
74
|
.getParent()
|
|
82
75
|
.getColumns()
|
|
83
|
-
.findIndex((col) => (
|
|
76
|
+
.findIndex((col) => (_.isString(col.Column) ? col.Column === c : null));
|
|
84
77
|
return this._builder.getParent().Values[0][cIndex];
|
|
85
78
|
}
|
|
86
79
|
else {
|
|
@@ -94,10 +87,10 @@ let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extend
|
|
|
94
87
|
}
|
|
95
88
|
};
|
|
96
89
|
SqliteOnDuplicateQueryCompiler = __decorate([
|
|
97
|
-
|
|
98
|
-
__metadata("design:paramtypes", [
|
|
90
|
+
NewInstance(),
|
|
91
|
+
__metadata("design:paramtypes", [OnDuplicateQueryBuilder])
|
|
99
92
|
], SqliteOnDuplicateQueryCompiler);
|
|
100
|
-
|
|
93
|
+
export { SqliteOnDuplicateQueryCompiler };
|
|
101
94
|
let SqliteTableExistsCompiler = class SqliteTableExistsCompiler {
|
|
102
95
|
constructor(builder) {
|
|
103
96
|
this.builder = builder;
|
|
@@ -113,11 +106,11 @@ let SqliteTableExistsCompiler = class SqliteTableExistsCompiler {
|
|
|
113
106
|
}
|
|
114
107
|
};
|
|
115
108
|
SqliteTableExistsCompiler = __decorate([
|
|
116
|
-
|
|
117
|
-
__metadata("design:paramtypes", [
|
|
109
|
+
NewInstance(),
|
|
110
|
+
__metadata("design:paramtypes", [TableExistsQueryBuilder])
|
|
118
111
|
], SqliteTableExistsCompiler);
|
|
119
|
-
|
|
120
|
-
let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends
|
|
112
|
+
export { SqliteTableExistsCompiler };
|
|
113
|
+
let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends SqlTableQueryCompiler {
|
|
121
114
|
compile() {
|
|
122
115
|
const _table = this._table();
|
|
123
116
|
const _columns = this._columns();
|
|
@@ -131,11 +124,11 @@ let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends orm_sql_1.
|
|
|
131
124
|
}
|
|
132
125
|
};
|
|
133
126
|
SqliteTableQueryCompiler = __decorate([
|
|
134
|
-
|
|
135
|
-
|
|
127
|
+
NewInstance(),
|
|
128
|
+
Inject(Container)
|
|
136
129
|
], SqliteTableQueryCompiler);
|
|
137
|
-
|
|
138
|
-
let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends
|
|
130
|
+
export { SqliteTableQueryCompiler };
|
|
131
|
+
let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends SqlInsertQueryCompiler {
|
|
139
132
|
constructor(container, builder) {
|
|
140
133
|
super(container, builder);
|
|
141
134
|
}
|
|
@@ -154,12 +147,12 @@ let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends orm_sql_
|
|
|
154
147
|
}
|
|
155
148
|
};
|
|
156
149
|
SqliteInsertQueryCompiler = __decorate([
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
__metadata("design:paramtypes", [Object,
|
|
150
|
+
NewInstance(),
|
|
151
|
+
Inject(Container),
|
|
152
|
+
__metadata("design:paramtypes", [Object, InsertQueryBuilder])
|
|
160
153
|
], SqliteInsertQueryCompiler);
|
|
161
|
-
|
|
162
|
-
let SqliteColumnCompiler = class SqliteColumnCompiler extends
|
|
154
|
+
export { SqliteInsertQueryCompiler };
|
|
155
|
+
let SqliteColumnCompiler = class SqliteColumnCompiler extends SqlColumnQueryCompiler {
|
|
163
156
|
compile() {
|
|
164
157
|
const _stmt = [];
|
|
165
158
|
_stmt.push(`\`${this.builder.Name}\``);
|
|
@@ -228,28 +221,28 @@ let SqliteColumnCompiler = class SqliteColumnCompiler extends orm_sql_1.SqlColum
|
|
|
228
221
|
}
|
|
229
222
|
return {
|
|
230
223
|
bindings: [],
|
|
231
|
-
expression: _stmt.filter((x) => !
|
|
224
|
+
expression: _stmt.filter((x) => !_.isEmpty(x)).join(' '),
|
|
232
225
|
};
|
|
233
226
|
}
|
|
234
227
|
_defaultCompiler() {
|
|
235
228
|
let _stmt = '';
|
|
236
|
-
if (
|
|
229
|
+
if (_.isNil(this.builder.Default) || (_.isString(this.builder.Default) && _.isEmpty(this.builder.Default.trim()))) {
|
|
237
230
|
return _stmt;
|
|
238
231
|
}
|
|
239
|
-
if (
|
|
232
|
+
if (_.isString(this.builder.Default)) {
|
|
240
233
|
_stmt = `DEFAULT '${this.builder.Default.trim()}'`;
|
|
241
234
|
}
|
|
242
|
-
else if (
|
|
235
|
+
else if (_.isNumber(this.builder.Default)) {
|
|
243
236
|
_stmt = `DEFAULT ${this.builder.Default}`;
|
|
244
237
|
}
|
|
245
|
-
else if (this.builder.Default instanceof
|
|
238
|
+
else if (this.builder.Default instanceof RawQuery) {
|
|
246
239
|
_stmt = `DEFAULT ${this.builder.Default.Query}`;
|
|
247
240
|
}
|
|
248
241
|
return _stmt;
|
|
249
242
|
}
|
|
250
243
|
};
|
|
251
244
|
SqliteColumnCompiler = __decorate([
|
|
252
|
-
|
|
245
|
+
NewInstance()
|
|
253
246
|
], SqliteColumnCompiler);
|
|
254
|
-
|
|
247
|
+
export { SqliteColumnCompiler };
|
|
255
248
|
//# sourceMappingURL=compilers.js.map
|
package/lib/compilers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../src/compilers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../src/compilers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModelBase, ModelToSqlConverter, ObjectToSqlConverter } from '@spinajs/orm';
|
|
2
|
+
export declare class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
3
|
+
toSql(model: ModelBase<unknown>): unknown;
|
|
4
|
+
}
|
|
5
|
+
export declare class SqliteObjectToSqlConverter extends ObjectToSqlConverter {
|
|
6
|
+
toSql(model: unknown): unknown;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=converters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../src/converters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,oBAAoB,EAA8B,MAAM,cAAc,CAAC;AAEhH,qBAAa,yBAA0B,SAAQ,mBAAmB;IACzD,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO;CA6BjD;AAED,qBAAa,0BAA2B,SAAQ,oBAAoB;IAC3D,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAgBtC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/* eslint-disable security/detect-object-injection */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
|
+
import { ModelToSqlConverter, ObjectToSqlConverter, OrmException, RelationType } from '@spinajs/orm';
|
|
6
|
+
export class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
7
|
+
toSql(model) {
|
|
8
|
+
const obj = {};
|
|
9
|
+
const relArr = [...model.ModelDescriptor.Relations.values()];
|
|
10
|
+
model.ModelDescriptor.Columns?.forEach((c) => {
|
|
11
|
+
const val = model[c.Name];
|
|
12
|
+
if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
|
|
13
|
+
throw new OrmException(`Field ${c.Name} cannot be null`);
|
|
14
|
+
}
|
|
15
|
+
// undefined properties we omit,
|
|
16
|
+
// assume that those values have default value in DB defined,
|
|
17
|
+
// SQLITE does not support DEFAULT keyword in insert statements
|
|
18
|
+
// this way insertquerycompiler will not try to fill DEFAULT in missing data
|
|
19
|
+
if (val === undefined)
|
|
20
|
+
return;
|
|
21
|
+
obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, model.ModelDescriptor.Converters.get(c.Name).Options) : val;
|
|
22
|
+
});
|
|
23
|
+
for (const val of relArr) {
|
|
24
|
+
if (val.Type === RelationType.One) {
|
|
25
|
+
if (model[val.Name].Value) {
|
|
26
|
+
obj[val.ForeignKey] = model[val.Name].Value.PrimaryKeyValue;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return obj;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class SqliteObjectToSqlConverter extends ObjectToSqlConverter {
|
|
34
|
+
toSql(model) {
|
|
35
|
+
const sqlModel = {};
|
|
36
|
+
// undefined properties we omit,
|
|
37
|
+
// assume that those values have default value in DB defined,
|
|
38
|
+
// SQLITE does not support DEFAULT keyword in insert statements
|
|
39
|
+
// this way insertquerycompiler will not try to fill DEFAULT in missing data
|
|
40
|
+
Object.keys(model).forEach((key) => {
|
|
41
|
+
if (model[key] !== undefined) {
|
|
42
|
+
sqlModel[key] = model[key];
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return sqlModel;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=converters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../src/converters.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,uDAAuD;AACvD,+DAA+D;AAC/D,4DAA4D;AAC5D,OAAO,EAAa,mBAAmB,EAAE,oBAAoB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhH,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IACzD,KAAK,CAAC,KAAyB;QACpC,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAI,KAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE;gBACrF,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;aAC1D;YAED,gCAAgC;YAChC,6DAA6D;YAC7D,+DAA+D;YAC/D,4EAA4E;YAC5E,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAE7B,GAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAChI,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,EAAE;gBACjC,IAAK,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;oBACjC,GAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;iBAC/E;aACF;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IAC3D,KAAK,CAAC,KAAc;QACzB,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,gCAAgC;QAChC,6DAA6D;QAC7D,+DAA+D;QAC/D,4EAA4E;QAE5E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,IAAK,KAAa,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACpC,QAAgB,CAAC,GAAG,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export * from './compilers';
|
|
1
|
+
export * from './compilers.js';
|
|
2
2
|
import { IColumnDescriptor, QueryContext, OrmDriver, QueryBuilder, TransactionCallback } from '@spinajs/orm';
|
|
3
|
-
import
|
|
3
|
+
import sqlite3 from 'sqlite3';
|
|
4
4
|
import { SqlDriver } from '@spinajs/orm-sql';
|
|
5
5
|
export declare class SqliteOrmDriver extends SqlDriver {
|
|
6
6
|
protected executionId: number;
|
|
7
|
-
protected Db: Database;
|
|
7
|
+
protected Db: sqlite3.Database;
|
|
8
8
|
execute(stmt: string, params: unknown[], queryContext: QueryContext): Promise<unknown>;
|
|
9
9
|
ping(): Promise<boolean>;
|
|
10
10
|
connect(): Promise<OrmDriver>;
|
|
@@ -20,3 +20,4 @@ export declare class SqliteOrmDriver extends SqlDriver {
|
|
|
20
20
|
*/
|
|
21
21
|
tableInfo(name: string, _schema?: string): Promise<IColumnDescriptor[]>;
|
|
22
22
|
}
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAA2C,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAuM,MAAM,cAAc,CAAC;AAC3V,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS7C,qBAEa,eAAgB,SAAQ,SAAS;IAC5C,SAAS,CAAC,WAAW,SAAK;IAE1B,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC;IAExB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAqGhF,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAa7B,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAkBtC,OAAO;IAgBD,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,mBAAmB;IAuB3E;;;;;;OAMG;IACU,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAuCrF"}
|
package/lib/index.js
CHANGED
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
14
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
16
4
|
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;
|
|
17
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
18
6
|
};
|
|
19
|
-
|
|
20
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.SqliteOrmDriver = void 0;
|
|
24
|
-
const compilers_1 = require("./compilers");
|
|
7
|
+
import { SqliteTableExistsCompiler, SqliteColumnCompiler, SqliteTableQueryCompiler, SqliteOrderByCompiler, SqliteOnDuplicateQueryCompiler, SqliteInsertQueryCompiler, SqliteTruncateTableQueryCompiler } from './compilers.js';
|
|
25
8
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
26
9
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
27
10
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
@@ -29,23 +12,24 @@ const compilers_1 = require("./compilers");
|
|
|
29
12
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
30
13
|
/* eslint-disable @typescript-eslint/require-await */
|
|
31
14
|
/* eslint-disable prettier/prettier */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
15
|
+
import { LogLevel } from '@spinajs/log-common';
|
|
16
|
+
export * from './compilers.js';
|
|
17
|
+
import { QueryContext, ColumnQueryCompiler, TableQueryCompiler, OrderByQueryCompiler, JoinStatement, OnDuplicateQueryCompiler, InsertQueryCompiler, TableExistsCompiler, DefaultValueBuilder, TruncateTableQueryCompiler, ModelToSqlConverter, ObjectToSqlConverter } from '@spinajs/orm';
|
|
18
|
+
import sqlite3 from 'sqlite3';
|
|
19
|
+
import { SqlDriver } from '@spinajs/orm-sql';
|
|
20
|
+
import { Injectable, NewInstance } from '@spinajs/di';
|
|
21
|
+
import { SqlLiteJoinStatement } from './statements.js';
|
|
22
|
+
import { ResourceDuplicated } from '../../exceptions/lib/index.js';
|
|
23
|
+
import { format } from '@spinajs/configuration';
|
|
24
|
+
import { SqlLiteDefaultValueBuilder } from './builders.js';
|
|
25
|
+
import { SqliteModelToSqlConverter, SqliteObjectToSqlConverter } from './converters.js';
|
|
26
|
+
let SqliteOrmDriver = class SqliteOrmDriver extends SqlDriver {
|
|
43
27
|
constructor() {
|
|
44
28
|
super(...arguments);
|
|
45
29
|
this.executionId = 0;
|
|
46
30
|
}
|
|
47
31
|
execute(stmt, params, queryContext) {
|
|
48
|
-
const queryParams = params
|
|
32
|
+
const queryParams = params ?? [];
|
|
49
33
|
if (!this.Db) {
|
|
50
34
|
throw new Error('cannot execute sqlite statement, no db connection avaible');
|
|
51
35
|
}
|
|
@@ -53,8 +37,8 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
53
37
|
this.Log.timeStart(`query-${tName}`);
|
|
54
38
|
return new Promise((resolve, reject) => {
|
|
55
39
|
switch (queryContext) {
|
|
56
|
-
case
|
|
57
|
-
case
|
|
40
|
+
case QueryContext.Update:
|
|
41
|
+
case QueryContext.Delete:
|
|
58
42
|
this.Db.run(stmt, ...queryParams, function (err) {
|
|
59
43
|
if (err) {
|
|
60
44
|
reject(err);
|
|
@@ -65,7 +49,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
65
49
|
});
|
|
66
50
|
});
|
|
67
51
|
break;
|
|
68
|
-
case
|
|
52
|
+
case QueryContext.Select:
|
|
69
53
|
this.Db.all(stmt, ...queryParams, (err, rows) => {
|
|
70
54
|
if (err) {
|
|
71
55
|
reject(err);
|
|
@@ -74,11 +58,11 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
74
58
|
resolve(rows);
|
|
75
59
|
});
|
|
76
60
|
break;
|
|
77
|
-
case
|
|
61
|
+
case QueryContext.Insert:
|
|
78
62
|
this.Db.run(stmt, ...queryParams, function (err) {
|
|
79
63
|
if (err) {
|
|
80
64
|
if (err.code === 'SQLITE_CONSTRAINT') {
|
|
81
|
-
reject(new
|
|
65
|
+
reject(new ResourceDuplicated(err));
|
|
82
66
|
}
|
|
83
67
|
else {
|
|
84
68
|
reject(err);
|
|
@@ -91,8 +75,8 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
91
75
|
});
|
|
92
76
|
});
|
|
93
77
|
break;
|
|
94
|
-
case
|
|
95
|
-
case
|
|
78
|
+
case QueryContext.Schema:
|
|
79
|
+
case QueryContext.Transaction:
|
|
96
80
|
default:
|
|
97
81
|
this.Db.run(stmt, ...queryParams, (err, data) => {
|
|
98
82
|
if (err) {
|
|
@@ -107,7 +91,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
107
91
|
.then((val) => {
|
|
108
92
|
const tDiff = this.Log.timeEnd(`query-${tName}`);
|
|
109
93
|
void this.Log.write({
|
|
110
|
-
Level:
|
|
94
|
+
Level: LogLevel.Trace,
|
|
111
95
|
Variables: {
|
|
112
96
|
error: null,
|
|
113
97
|
message: `Executed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
|
|
@@ -121,7 +105,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
121
105
|
.catch((err) => {
|
|
122
106
|
const tDiff = this.Log.timeEnd(`query-${tName}`);
|
|
123
107
|
void this.Log.write({
|
|
124
|
-
Level:
|
|
108
|
+
Level: LogLevel.Error,
|
|
125
109
|
Variables: {
|
|
126
110
|
error: err,
|
|
127
111
|
message: `Failed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
|
|
@@ -138,7 +122,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
138
122
|
}
|
|
139
123
|
async connect() {
|
|
140
124
|
return new Promise((resolve, reject) => {
|
|
141
|
-
this.Db = new
|
|
125
|
+
this.Db = new sqlite3.Database(format({}, this.Options.Filename), (err) => {
|
|
142
126
|
if (err) {
|
|
143
127
|
reject(err);
|
|
144
128
|
return;
|
|
@@ -148,6 +132,9 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
148
132
|
});
|
|
149
133
|
}
|
|
150
134
|
async disconnect() {
|
|
135
|
+
if (!this.Db) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
151
138
|
return new Promise((resolve, reject) => {
|
|
152
139
|
this.Db.close((err) => {
|
|
153
140
|
if (err) {
|
|
@@ -161,21 +148,23 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
161
148
|
}
|
|
162
149
|
resolve() {
|
|
163
150
|
super.resolve();
|
|
164
|
-
this.Container.register(
|
|
165
|
-
this.Container.register(
|
|
166
|
-
this.Container.register(
|
|
167
|
-
this.Container.register(
|
|
168
|
-
this.Container.register(
|
|
169
|
-
this.Container.register(
|
|
170
|
-
this.Container.register(
|
|
171
|
-
this.Container.register(
|
|
172
|
-
this.Container.register(
|
|
151
|
+
this.Container.register(SqliteColumnCompiler).as(ColumnQueryCompiler);
|
|
152
|
+
this.Container.register(SqliteTableQueryCompiler).as(TableQueryCompiler);
|
|
153
|
+
this.Container.register(SqliteOrderByCompiler).as(OrderByQueryCompiler);
|
|
154
|
+
this.Container.register(SqlLiteJoinStatement).as(JoinStatement);
|
|
155
|
+
this.Container.register(SqliteOnDuplicateQueryCompiler).as(OnDuplicateQueryCompiler);
|
|
156
|
+
this.Container.register(SqliteInsertQueryCompiler).as(InsertQueryCompiler);
|
|
157
|
+
this.Container.register(SqliteTableExistsCompiler).as(TableExistsCompiler);
|
|
158
|
+
this.Container.register(SqlLiteDefaultValueBuilder).as(DefaultValueBuilder);
|
|
159
|
+
this.Container.register(SqliteTruncateTableQueryCompiler).as(TruncateTableQueryCompiler);
|
|
160
|
+
this.Container.register(SqliteModelToSqlConverter).as(ModelToSqlConverter);
|
|
161
|
+
this.Container.register(SqliteObjectToSqlConverter).as(ObjectToSqlConverter);
|
|
173
162
|
}
|
|
174
163
|
async transaction(qrOrCallback) {
|
|
175
164
|
if (!qrOrCallback) {
|
|
176
165
|
return;
|
|
177
166
|
}
|
|
178
|
-
await this.execute('BEGIN TRANSACTION', null,
|
|
167
|
+
await this.execute('BEGIN TRANSACTION', null, QueryContext.Transaction);
|
|
179
168
|
try {
|
|
180
169
|
if (Array.isArray(qrOrCallback)) {
|
|
181
170
|
for (const q of qrOrCallback) {
|
|
@@ -185,10 +174,10 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
185
174
|
else {
|
|
186
175
|
await qrOrCallback(this);
|
|
187
176
|
}
|
|
188
|
-
await this.execute('COMMIT', null,
|
|
177
|
+
await this.execute('COMMIT', null, QueryContext.Transaction);
|
|
189
178
|
}
|
|
190
179
|
catch (ex) {
|
|
191
|
-
await this.execute('ROLLBACK', null,
|
|
180
|
+
await this.execute('ROLLBACK', null, QueryContext.Transaction);
|
|
192
181
|
throw ex;
|
|
193
182
|
}
|
|
194
183
|
}
|
|
@@ -200,16 +189,16 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
200
189
|
* @param _schema - optional schema name
|
|
201
190
|
*/
|
|
202
191
|
async tableInfo(name, _schema) {
|
|
203
|
-
const tblInfo = (await this.execute(`PRAGMA table_info(${name});`, null,
|
|
192
|
+
const tblInfo = (await this.execute(`PRAGMA table_info(${name});`, null, QueryContext.Select));
|
|
204
193
|
if (!tblInfo || !Array.isArray(tblInfo) || tblInfo.length === 0) {
|
|
205
194
|
return null;
|
|
206
195
|
}
|
|
207
196
|
// get all indices for table
|
|
208
|
-
const indexList = (await this.execute(`PRAGMA index_list("${name}")`, null,
|
|
197
|
+
const indexList = (await this.execute(`PRAGMA index_list("${name}")`, null, QueryContext.Select));
|
|
209
198
|
let uIndices = [];
|
|
210
199
|
// get all unique & fetch for whitch column
|
|
211
200
|
for (const idx of indexList.filter((i) => i.unique === 1)) {
|
|
212
|
-
const iInfo = (await this.execute(`PRAGMA index_info("${idx.name}")`, null,
|
|
201
|
+
const iInfo = (await this.execute(`PRAGMA index_info("${idx.name}")`, null, QueryContext.Select));
|
|
213
202
|
uIndices = iInfo.map((x) => x.name);
|
|
214
203
|
}
|
|
215
204
|
return tblInfo.map((r) => {
|
|
@@ -235,8 +224,8 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
235
224
|
}
|
|
236
225
|
};
|
|
237
226
|
SqliteOrmDriver = __decorate([
|
|
238
|
-
|
|
239
|
-
|
|
227
|
+
Injectable('orm-driver-sqlite'),
|
|
228
|
+
NewInstance()
|
|
240
229
|
], SqliteOrmDriver);
|
|
241
|
-
|
|
230
|
+
export { SqliteOrmDriver };
|
|
242
231
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/statements.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ import { SqlJoinStatement } from '@spinajs/orm-sql';
|
|
|
4
4
|
export declare class SqlLiteJoinStatement extends SqlJoinStatement {
|
|
5
5
|
constructor(builder: SelectQueryBuilder<any>, sourceModel: Constructor<ModelBase>, table: string | RawQuery, method: JoinMethod, foreignKey: string, primaryKey: string, alias: string, tableAlias: string);
|
|
6
6
|
}
|
|
7
|
+
//# sourceMappingURL=statements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qBACa,oBAAqB,SAAQ,gBAAgB;gBAC5C,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAO3M"}
|
package/lib/statements.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,24 +7,22 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SqlLiteJoinStatement = void 0;
|
|
13
10
|
/* eslint-disable prettier/prettier */
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
let SqlLiteJoinStatement = class SqlLiteJoinStatement extends
|
|
11
|
+
import { NewInstance } from '@spinajs/di';
|
|
12
|
+
import { JoinMethod, SelectQueryBuilder } from '@spinajs/orm';
|
|
13
|
+
import { SqlJoinStatement } from '@spinajs/orm-sql';
|
|
14
|
+
import { NotSupported } from '../../exceptions/lib/index.js';
|
|
15
|
+
let SqlLiteJoinStatement = class SqlLiteJoinStatement extends SqlJoinStatement {
|
|
19
16
|
constructor(builder, sourceModel, table, method, foreignKey, primaryKey, alias, tableAlias) {
|
|
20
17
|
super(builder, sourceModel, table, method, foreignKey, primaryKey, alias, tableAlias);
|
|
21
|
-
if (method ===
|
|
22
|
-
throw new
|
|
18
|
+
if (method === JoinMethod.RIGHT || method === JoinMethod.RIGHT_OUTER) {
|
|
19
|
+
throw new NotSupported(`join method ${method} is not supported by sqlite driver`);
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
};
|
|
26
23
|
SqlLiteJoinStatement = __decorate([
|
|
27
|
-
|
|
28
|
-
__metadata("design:paramtypes", [
|
|
24
|
+
NewInstance(),
|
|
25
|
+
__metadata("design:paramtypes", [SelectQueryBuilder, Object, Object, String, String, String, String, String])
|
|
29
26
|
], SqlLiteJoinStatement);
|
|
30
|
-
|
|
27
|
+
export { SqlLiteJoinStatement };
|
|
31
28
|
//# sourceMappingURL=statements.js.map
|
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":";;;;;;;;;AAAA,sCAAsC;AACtC,OAAO,EAAe,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAY,UAAU,EAAa,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGtD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,gBAAgB;IACxD,YAAY,OAAgC,EAAE,WAAmC,EAAE,KAAwB,EAAE,MAAkB,EAAE,UAAkB,EAAE,UAAkB,EAAE,KAAa,EAAE,UAAkB;QACxM,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAEtF,IAAI,MAAM,KAAK,UAAU,CAAC,KAAK,IAAI,MAAM,KAAK,UAAU,CAAC,WAAW,EAAE;YACpE,MAAM,IAAI,YAAY,CAAC,eAAe,MAAM,oCAAoC,CAAC,CAAC;SACnF;IACH,CAAC;CACF,CAAA;AARY,oBAAoB;IADhC,WAAW,EAAE;qCAES,kBAAkB;GAD5B,oBAAoB,CAQhC;SARY,oBAAoB"}
|
package/lib/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd"}
|
package/lib/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,58 +1,61 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@spinajs/orm-sqlite",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "framework orm sql-lite language module",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"di"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"@spinajs/
|
|
47
|
-
"@spinajs/
|
|
48
|
-
"@spinajs/
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
},
|
|
57
|
-
"
|
|
58
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@spinajs/orm-sqlite",
|
|
3
|
+
"version": "2.0.48",
|
|
4
|
+
"description": "framework orm sql-lite language module",
|
|
5
|
+
"exports": "./lib/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"private": false,
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=16.11"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "npm run clean && npm run compile",
|
|
13
|
+
"compile": "tsc -b tsconfig.json",
|
|
14
|
+
"rimraf": "./node_modules/rimraf/bin.js",
|
|
15
|
+
"clean": "rimraf lib/ && rimraf tsconfig.tsbuildinfo",
|
|
16
|
+
"test": "ts-mocha -p tsconfig.json test/**/*.test.ts",
|
|
17
|
+
"coverage": "nyc npm run test",
|
|
18
|
+
"build-docs": "rimraf docs && typedoc --options typedoc.json src/",
|
|
19
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
20
|
+
"lint": "eslint -c .eslintrc.cjs --ext .ts src --fix",
|
|
21
|
+
"preversion": "npm run lint",
|
|
22
|
+
"version": "npm run format && git add -A src",
|
|
23
|
+
"postinstall": "npm run build"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"lib/**/*"
|
|
27
|
+
],
|
|
28
|
+
"types": "lib",
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "git+https://github.com/spinajs/main.git"
|
|
32
|
+
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"di",
|
|
35
|
+
"container",
|
|
36
|
+
"spinajs",
|
|
37
|
+
"di"
|
|
38
|
+
],
|
|
39
|
+
"author": "SpinaJS <spinajs@coderush.pl> (https://github.com/spinajs/main)",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"bugs": {
|
|
42
|
+
"url": "https://github.com/spinajs/main/issues"
|
|
43
|
+
},
|
|
44
|
+
"homepage": "https://github.com/spinajs/main#readme",
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@spinajs/configuration": "^2.0.46",
|
|
47
|
+
"@spinajs/di": "^2.0.46",
|
|
48
|
+
"@spinajs/exceptions": "^2.0.39",
|
|
49
|
+
"@spinajs/log": "^2.0.46",
|
|
50
|
+
"@spinajs/orm": "^2.0.46",
|
|
51
|
+
"@spinajs/orm-sql": "^2.0.46",
|
|
52
|
+
"lodash": "^4.17.21",
|
|
53
|
+
"luxon": "^3.2.1",
|
|
54
|
+
"sqlite3": "^5.1.4",
|
|
55
|
+
"typescript-mix": "^3.1.3"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@types/sqlite3": "^3.1.8"
|
|
59
|
+
},
|
|
60
|
+
"gitHead": "002dc553b0ffffd72193d0121ac425a4083bc9ee"
|
|
61
|
+
}
|