@technicity/data-service-generator 0.20.0 → 0.22.0
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 +2 -0
- package/dist/generation/generate.js +2 -1
- package/dist/runtime/IRuntime.d.ts +1 -0
- package/dist/runtime/RuntimeMySQL.d.ts +1 -0
- package/dist/runtime/RuntimeSQLite.d.ts +6 -2
- package/dist/runtime/RuntimeSQLite.js +11 -1
- package/dist/runtime/lib/MySQL.d.ts +1 -0
- package/dist/runtime/lib/MySQL.js +12 -0
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -296,11 +296,12 @@ async function getSDKSource(input, specialCaseUuidColumn, supplementClientOpts,
|
|
|
296
296
|
| "REPEATABLE READ"
|
|
297
297
|
| "SERIALIZABLE"
|
|
298
298
|
}) {
|
|
299
|
-
const { dbCall, commit, rollback } = await this.runtime.$startTransaction(input);
|
|
299
|
+
const { dbCall, queryRaw, commit, rollback } = await this.runtime.$startTransaction(input);
|
|
300
300
|
const runtime = this.runtime;
|
|
301
301
|
const eventTarget = this.eventTarget;
|
|
302
302
|
const onHandlerMap = this.onHandlerMap;
|
|
303
303
|
return {
|
|
304
|
+
$queryRaw: queryRaw,
|
|
304
305
|
$commit: commit,
|
|
305
306
|
$rollback: rollback,
|
|
306
307
|
${(await Promise.all(input.flatMap(async (x) => {
|
|
@@ -48,6 +48,7 @@ type TBeginTransactionResult = {
|
|
|
48
48
|
dbCall: (q: string) => Promise<any>;
|
|
49
49
|
commit: () => Promise<void>;
|
|
50
50
|
rollback: () => Promise<void>;
|
|
51
|
+
queryRaw: (q: string, values: any[]) => Promise<any>;
|
|
51
52
|
};
|
|
52
53
|
export type ISupplementClientOpts = boolean;
|
|
53
54
|
export type IOrderBy = {
|
|
@@ -19,6 +19,7 @@ export declare class RuntimeMySQL implements IRuntime {
|
|
|
19
19
|
commit: () => Promise<void>;
|
|
20
20
|
rollback: () => Promise<void>;
|
|
21
21
|
dbCall: (q: string) => Promise<import("mysql2").OkPacket | import("mysql2").ResultSetHeader | import("mysql2").ResultSetHeader[] | import("mysql2").RowDataPacket[] | import("mysql2").RowDataPacket[][] | import("mysql2").OkPacket[] | [import("mysql2").RowDataPacket[], import("mysql2").ResultSetHeader]>;
|
|
22
|
+
queryRaw: (q: string, values: any[]) => Promise<import("mysql2").OkPacket | import("mysql2").ResultSetHeader | import("mysql2").ResultSetHeader[] | import("mysql2").RowDataPacket[] | import("mysql2").RowDataPacket[][] | import("mysql2").OkPacket[] | [import("mysql2").RowDataPacket[], import("mysql2").ResultSetHeader]>;
|
|
22
23
|
}>;
|
|
23
24
|
private dbCall;
|
|
24
25
|
private formatQuery;
|
|
@@ -13,7 +13,7 @@ export declare class RuntimeSQLite implements IRuntime {
|
|
|
13
13
|
supplementClientOpts?: ISupplementClientOpts;
|
|
14
14
|
}, artifacts: IArtifacts);
|
|
15
15
|
resolve(input: TResolveParams): Promise<any>;
|
|
16
|
-
$queryRaw(sql: string, values?: any[]): Promise<
|
|
16
|
+
$queryRaw(sql: string, values?: any[]): Promise<unknown[] | {
|
|
17
17
|
insertId: number | bigint;
|
|
18
18
|
}>;
|
|
19
19
|
$use(middleware: TMiddleware): Promise<void>;
|
|
@@ -25,13 +25,17 @@ export declare class RuntimeSQLite implements IRuntime {
|
|
|
25
25
|
}): Promise<{
|
|
26
26
|
commit: () => Promise<void>;
|
|
27
27
|
rollback: () => Promise<void>;
|
|
28
|
-
dbCall: (q: string) => Promise<
|
|
28
|
+
dbCall: (q: string) => Promise<unknown[] | {
|
|
29
|
+
insertId: number | bigint;
|
|
30
|
+
}>;
|
|
31
|
+
queryRaw: (sql: string, values?: any[] | undefined) => Promise<unknown[] | {
|
|
29
32
|
insertId: number | bigint;
|
|
30
33
|
}>;
|
|
31
34
|
}>;
|
|
32
35
|
private dbCall;
|
|
33
36
|
private formatQuery;
|
|
34
37
|
private dbCallTransaction;
|
|
38
|
+
private queryRawTransaction;
|
|
35
39
|
private commit;
|
|
36
40
|
private rollback;
|
|
37
41
|
}
|
|
@@ -92,7 +92,8 @@ class RuntimeSQLite {
|
|
|
92
92
|
return {
|
|
93
93
|
commit: this.commit.bind(this),
|
|
94
94
|
rollback: this.rollback.bind(this),
|
|
95
|
-
dbCall: this.dbCallTransaction.bind(this)
|
|
95
|
+
dbCall: this.dbCallTransaction.bind(this),
|
|
96
|
+
queryRaw: this.queryRawTransaction.bind(this)
|
|
96
97
|
};
|
|
97
98
|
}
|
|
98
99
|
async dbCall(q) {
|
|
@@ -118,6 +119,15 @@ class RuntimeSQLite {
|
|
|
118
119
|
throw err;
|
|
119
120
|
}
|
|
120
121
|
}
|
|
122
|
+
async queryRawTransaction(...args) {
|
|
123
|
+
try {
|
|
124
|
+
return await this.$queryRaw(...args);
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
__classPrivateFieldGet(this, _RuntimeSQLite_db, "f").prepare("ROLLBACK").run();
|
|
128
|
+
throw err;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
121
131
|
async commit() {
|
|
122
132
|
try {
|
|
123
133
|
__classPrivateFieldGet(this, _RuntimeSQLite_db, "f").prepare("COMMIT").run();
|
|
@@ -7,6 +7,7 @@ export declare class MySQL {
|
|
|
7
7
|
commit: () => Promise<void>;
|
|
8
8
|
rollback: () => Promise<void>;
|
|
9
9
|
dbCall: (q: string) => Promise<mysql.OkPacket | mysql.ResultSetHeader | mysql.ResultSetHeader[] | mysql.RowDataPacket[] | mysql.RowDataPacket[][] | mysql.OkPacket[] | [mysql.RowDataPacket[], mysql.ResultSetHeader]>;
|
|
10
|
+
queryRaw: (q: string, values: any[]) => Promise<mysql.OkPacket | mysql.ResultSetHeader | mysql.ResultSetHeader[] | mysql.RowDataPacket[] | mysql.RowDataPacket[][] | mysql.OkPacket[] | [mysql.RowDataPacket[], mysql.ResultSetHeader]>;
|
|
10
11
|
}>;
|
|
11
12
|
endPool(): Promise<void>;
|
|
12
13
|
}
|
|
@@ -94,6 +94,18 @@ class MySQL {
|
|
|
94
94
|
connection.release();
|
|
95
95
|
}
|
|
96
96
|
throw err;
|
|
97
|
+
}),
|
|
98
|
+
queryRaw: (q, values) => connection
|
|
99
|
+
.query(q, values)
|
|
100
|
+
.then(([rows]) => rows)
|
|
101
|
+
.catch(async (err) => {
|
|
102
|
+
try {
|
|
103
|
+
await connection.rollback();
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
connection.release();
|
|
107
|
+
}
|
|
108
|
+
throw err;
|
|
97
109
|
})
|
|
98
110
|
};
|
|
99
111
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@technicity/data-service-generator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"test:unit": "jest ./src"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@types/better-sqlite3": "^7.6.
|
|
17
|
-
"better-sqlite3": "^
|
|
16
|
+
"@types/better-sqlite3": "^7.6.12",
|
|
17
|
+
"better-sqlite3": "^11.9.1",
|
|
18
18
|
"change-case": "^4.1.1",
|
|
19
19
|
"fs-extra": "10.0.0",
|
|
20
20
|
"graphql": "15.8.0",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"@jest/globals": "^29.4.3",
|
|
35
35
|
"@swc/core": "^1.3.36",
|
|
36
36
|
"@swc/jest": "^0.2.24",
|
|
37
|
+
"@testcontainers/mysql": "^10.23.0",
|
|
37
38
|
"@types/fs-extra": "9.0.13",
|
|
38
39
|
"@types/lodash": "4.14.177",
|
|
39
40
|
"@types/node": "^18.14.1",
|
|
@@ -42,7 +43,10 @@
|
|
|
42
43
|
"@types/uuid": "^8.3.1",
|
|
43
44
|
"jest": "^29.4.3",
|
|
44
45
|
"sinon": "12.0.1",
|
|
45
|
-
"testcontainers": "^
|
|
46
|
+
"testcontainers": "^10.23.0",
|
|
46
47
|
"typescript": "5.5.2"
|
|
48
|
+
},
|
|
49
|
+
"resolutions": {
|
|
50
|
+
"tar-fs": "2.1.2"
|
|
47
51
|
}
|
|
48
52
|
}
|