@zintrust/core 3.5.0 → 3.5.2
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/package.json +3 -3
- package/src/cli/ErrorHandler.d.ts +5 -0
- package/src/cli/ErrorHandler.d.ts.map +1 -1
- package/src/cli/ErrorHandler.js +18 -0
- package/src/cli/commands/TraceCommands.d.ts.map +1 -1
- package/src/cli/commands/TraceCommands.js +9 -1
- package/src/cli/d1/D1SchemaState.d.ts +25 -0
- package/src/cli/d1/D1SchemaState.d.ts.map +1 -0
- package/src/cli/d1/D1SchemaState.js +308 -0
- package/src/cli/d1/D1SqlMigrations.d.ts.map +1 -1
- package/src/cli/d1/D1SqlMigrations.js +33 -13
- package/src/database-index.d.ts +2 -2
- package/src/database-index.d.ts.map +1 -1
- package/src/index.d.ts +2 -2
- package/src/index.d.ts.map +1 -1
- package/src/index.js +3 -3
- package/src/orm/Database.d.ts +2 -1
- package/src/orm/Database.d.ts.map +1 -1
- package/src/orm/Database.js +63 -1
- package/src/orm/DatabaseAdapter.d.ts +16 -0
- package/src/orm/DatabaseAdapter.d.ts.map +1 -1
- package/src/orm/QueryBuilder.d.ts +6 -1
- package/src/orm/QueryBuilder.d.ts.map +1 -1
- package/src/orm/QueryBuilder.js +65 -1
- package/src/orm/adapters/D1Adapter.d.ts.map +1 -1
- package/src/orm/adapters/D1Adapter.js +38 -4
- package/src/orm/adapters/D1RemoteAdapter.d.ts.map +1 -1
- package/src/orm/adapters/D1RemoteAdapter.js +5 -8
- package/src/orm-index.d.ts +2 -2
- package/src/orm-index.d.ts.map +1 -1
- package/src/runtime-index.d.ts +1 -1
- package/src/runtime-index.d.ts.map +1 -1
- package/src/zintrust.plugins.d.ts +6 -3
- package/src/zintrust.plugins.d.ts.map +1 -1
- package/src/zintrust.plugins.js +6 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zintrust/core",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.2",
|
|
4
4
|
"description": "Production-grade TypeScript backend framework for JavaScript",
|
|
5
5
|
"homepage": "https://zintrust.com",
|
|
6
6
|
"repository": {
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
"@cloudflare/containers": "^0.3.7",
|
|
217
217
|
"@zedgi/zedgi-client": "^1.1.1",
|
|
218
218
|
"bcryptjs": "^3.0.3",
|
|
219
|
-
"bullmq": "^6.7.
|
|
219
|
+
"bullmq": "^6.7.3",
|
|
220
220
|
"chalk": "^6.0.1",
|
|
221
221
|
"commander": "^15.1.0",
|
|
222
222
|
"inquirer": "^14.2.5",
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
"glob": "^11.1.0",
|
|
244
244
|
"minimatch": "^11.0.1",
|
|
245
245
|
"rollup": "^4.59.0",
|
|
246
|
-
"vite": "^8.3.
|
|
246
|
+
"vite": "^8.3.7",
|
|
247
247
|
"flatted": "^3.4.2",
|
|
248
248
|
"uuid": "14.0.0",
|
|
249
249
|
"ioredis": "^6.0.0",
|
|
@@ -19,5 +19,10 @@ export declare const ErrorHandler: Readonly<{
|
|
|
19
19
|
warn: (message: string) => void;
|
|
20
20
|
debug: (message: string, verbose?: boolean) => void;
|
|
21
21
|
banner: (version: string) => void;
|
|
22
|
+
visible: Readonly<{
|
|
23
|
+
info: (message: string) => void;
|
|
24
|
+
success: (message: string) => void;
|
|
25
|
+
warn: (message: string) => void;
|
|
26
|
+
}>;
|
|
22
27
|
}>;
|
|
23
28
|
//# sourceMappingURL=ErrorHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/ErrorHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,UAAU;;;;CAIb,CAAC;
|
|
1
|
+
{"version":3,"file":"ErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/cli/ErrorHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AA0HX;;GAEG;AACH,eAAO,MAAM,YAAY;oBAtHhB,KAAK,GAAG,MAAM,aACX,MAAM,QACX,OAAO,KACX,IAAI;0BAYsB,MAAM,YAAY,MAAM,KAAG,IAAI;oBAY9B,MAAM,KAAG,IAAI;uBA+CV,MAAM,KAAG,IAAI;oBAQb,MAAM,KAAG,IAAI;qBA0Bf,MAAM,YAAW,OAAO,KAAW,IAAI;sBAzEtC,MAAM,KAAG,IAAI;;wBA0D3B,MAAM,KAAG,IAAI;2BAGV,MAAM,KAAG,IAAI;wBAGhB,MAAM,KAAG,IAAI;;EA4B7B,CAAC"}
|
package/src/cli/ErrorHandler.js
CHANGED
|
@@ -76,6 +76,23 @@ const displayWarning = (message) => {
|
|
|
76
76
|
const formatted = `${chalk.yellow('[!]')} ${message}`;
|
|
77
77
|
Logger.warn(formatted);
|
|
78
78
|
};
|
|
79
|
+
/**
|
|
80
|
+
* Print outcome lines directly to the console, bypassing LOG_LEVEL.
|
|
81
|
+
* Use for results an operator must always see, such as migrate:trace output.
|
|
82
|
+
*/
|
|
83
|
+
/* eslint-disable no-console */
|
|
84
|
+
const visibleOutput = Object.freeze({
|
|
85
|
+
info: (message) => {
|
|
86
|
+
console.log(`${chalk.blue('[i]')} ${message}`);
|
|
87
|
+
},
|
|
88
|
+
success: (message) => {
|
|
89
|
+
console.log(`${chalk.green('[✓]')} ${message}`);
|
|
90
|
+
},
|
|
91
|
+
warn: (message) => {
|
|
92
|
+
console.warn(`${chalk.yellow('[!]')} ${message}`);
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
/* eslint-enable no-console */
|
|
79
96
|
/**
|
|
80
97
|
* Display debug message (only if verbose)
|
|
81
98
|
*/
|
|
@@ -96,4 +113,5 @@ export const ErrorHandler = Object.freeze({
|
|
|
96
113
|
warn: displayWarning,
|
|
97
114
|
debug: displayDebug,
|
|
98
115
|
banner: displayBanner,
|
|
116
|
+
visible: visibleOutput,
|
|
99
117
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TraceCommands.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/TraceCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"TraceCommands.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/TraceCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAuBrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4qBzC,eAAO,MAAM,aAAa;mCACK,YAAY;mCAQZ,YAAY;oCAQX,YAAY;qCAQX,YAAY;;cAhCzB,MAAM;oBAAc,MAAM,OAAO;;;cAAjC,MAAM;oBAAc,MAAM,OAAO;;;cAAjC,MAAM;oBAAc,MAAM,OAAO;;;cAAjC,MAAM;oBAAc,MAAM,OAAO;;EAmDnD,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { BaseCommand } from '../BaseCommand.js';
|
|
|
2
2
|
import { D1SqlMigrations } from '../d1/D1SqlMigrations.js';
|
|
3
3
|
import { WranglerConfig } from '../d1/WranglerConfig.js';
|
|
4
4
|
import { WranglerD1 } from '../d1/WranglerD1.js';
|
|
5
|
+
import { ErrorHandler } from '../ErrorHandler.js';
|
|
5
6
|
import { confirmProductionRun, mapConnectionToOrmConfig, parseRollbackSteps, } from '../utils/DatabaseCliUtils.js';
|
|
6
7
|
import { readEnvString } from '../../common/ExternalServiceUtils.js';
|
|
7
8
|
import { databaseConfig } from '../../config/database.js';
|
|
@@ -465,7 +466,14 @@ const runMigrationsForConnection = async (conn, options, cmd, interactive) => {
|
|
|
465
466
|
await db.disconnect();
|
|
466
467
|
}
|
|
467
468
|
};
|
|
468
|
-
const
|
|
469
|
+
const withVisibleOutcome = (cmd) => Object.freeze({
|
|
470
|
+
...cmd,
|
|
471
|
+
info: ErrorHandler.visible.info,
|
|
472
|
+
success: ErrorHandler.visible.success,
|
|
473
|
+
warn: ErrorHandler.visible.warn,
|
|
474
|
+
});
|
|
475
|
+
const executeMigrateTrace = async (options, baseCmd) => {
|
|
476
|
+
const cmd = withVisibleOutcome(baseCmd);
|
|
469
477
|
const interactive = getInteractive(options);
|
|
470
478
|
const targets = [];
|
|
471
479
|
if (options['all'] === true) {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type ColumnState = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
};
|
|
5
|
+
type TableState = {
|
|
6
|
+
name: string;
|
|
7
|
+
columns: ColumnState[];
|
|
8
|
+
};
|
|
9
|
+
type ObjectState = {
|
|
10
|
+
name: string;
|
|
11
|
+
table: string;
|
|
12
|
+
};
|
|
13
|
+
export type SchemaState = {
|
|
14
|
+
tables: Map<string, TableState>;
|
|
15
|
+
indexes: Map<string, ObjectState>;
|
|
16
|
+
triggers: Map<string, ObjectState>;
|
|
17
|
+
};
|
|
18
|
+
type Row = Record<string, unknown>;
|
|
19
|
+
export declare const D1SchemaState: Readonly<{
|
|
20
|
+
create: () => SchemaState;
|
|
21
|
+
applyDdl: (state: SchemaState, sql: string) => void;
|
|
22
|
+
introspect: (state: SchemaState, sql: string, parameters: unknown[]) => Row[] | null;
|
|
23
|
+
}>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=D1SchemaState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"D1SchemaState.d.ts","sourceRoot":"","sources":["../../../../src/cli/d1/D1SchemaState.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAClD,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AAC3D,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACpC,CAAC;AAGF,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAuUnC,eAAO,MAAM,aAAa;kBA5EI,WAAW;sBAMhB,WAAW,OAAO,MAAM,KAAG,IAAI;wBAW7B,WAAW,OAAO,MAAM,cAAc,OAAO,EAAE,KAAG,GAAG,EAAE,GAAG,IAAI;EA+DvF,CAAC"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
const IDENT_PATTERN = /^("(?:[^"]|"")+"|`[^`]+`|\[[^\]]+\]|[A-Za-z_][\w$]*)\s*/;
|
|
2
|
+
const IF_NOT_EXISTS = /^IF\s+NOT\s+EXISTS\s+/i;
|
|
3
|
+
const IF_EXISTS = /^IF\s+EXISTS\s+/i;
|
|
4
|
+
const TABLE_CONSTRAINT = /^(?:CONSTRAINT|PRIMARY|UNIQUE|CHECK|FOREIGN)\b/i;
|
|
5
|
+
const COLUMN_KEYWORDS = new Set([
|
|
6
|
+
'constraint',
|
|
7
|
+
'primary',
|
|
8
|
+
'not',
|
|
9
|
+
'null',
|
|
10
|
+
'unique',
|
|
11
|
+
'check',
|
|
12
|
+
'default',
|
|
13
|
+
'collate',
|
|
14
|
+
'references',
|
|
15
|
+
'generated',
|
|
16
|
+
'as',
|
|
17
|
+
]);
|
|
18
|
+
const QUOTE_CLOSERS = new Map([
|
|
19
|
+
['"', '"'],
|
|
20
|
+
["'", "'"],
|
|
21
|
+
['`', '`'],
|
|
22
|
+
['[', ']'],
|
|
23
|
+
]);
|
|
24
|
+
const keyOf = (name) => name.toLowerCase();
|
|
25
|
+
const readIdent = (text) => {
|
|
26
|
+
const m = IDENT_PATTERN.exec(text);
|
|
27
|
+
if (m === null)
|
|
28
|
+
return null;
|
|
29
|
+
const raw = m[1];
|
|
30
|
+
const quoted = raw.startsWith('"') || raw.startsWith('`') || raw.startsWith('[');
|
|
31
|
+
const name = quoted ? raw.slice(1, -1).replaceAll('""', '"') : raw;
|
|
32
|
+
return { name, rest: text.slice(m[0].length) };
|
|
33
|
+
};
|
|
34
|
+
const skipPrefix = (text, pattern) => {
|
|
35
|
+
const m = pattern.exec(text);
|
|
36
|
+
return m === null
|
|
37
|
+
? { matched: false, rest: text }
|
|
38
|
+
: { matched: true, rest: text.slice(m[0].length) };
|
|
39
|
+
};
|
|
40
|
+
const readParenBody = (text) => {
|
|
41
|
+
const open = text.indexOf('(');
|
|
42
|
+
const close = text.lastIndexOf(')');
|
|
43
|
+
if (open === -1 || close <= open)
|
|
44
|
+
return null;
|
|
45
|
+
return text.slice(open + 1, close);
|
|
46
|
+
};
|
|
47
|
+
const splitTopLevel = (body) => {
|
|
48
|
+
const parts = [];
|
|
49
|
+
let depth = 0;
|
|
50
|
+
let closer = null;
|
|
51
|
+
let current = '';
|
|
52
|
+
for (const ch of body) {
|
|
53
|
+
if (closer !== null) {
|
|
54
|
+
if (ch === closer)
|
|
55
|
+
closer = null;
|
|
56
|
+
}
|
|
57
|
+
else if (QUOTE_CLOSERS.has(ch)) {
|
|
58
|
+
closer = QUOTE_CLOSERS.get(ch) ?? null;
|
|
59
|
+
}
|
|
60
|
+
else if (ch === '(') {
|
|
61
|
+
depth += 1;
|
|
62
|
+
}
|
|
63
|
+
else if (ch === ')') {
|
|
64
|
+
depth -= 1;
|
|
65
|
+
}
|
|
66
|
+
else if (ch === ',' && depth === 0) {
|
|
67
|
+
parts.push(current.trim());
|
|
68
|
+
current = '';
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
current += ch;
|
|
72
|
+
}
|
|
73
|
+
if (current.trim() !== '')
|
|
74
|
+
parts.push(current.trim());
|
|
75
|
+
return parts;
|
|
76
|
+
};
|
|
77
|
+
const parseColumn = (definition) => {
|
|
78
|
+
if (TABLE_CONSTRAINT.test(definition))
|
|
79
|
+
return null;
|
|
80
|
+
const ident = readIdent(definition);
|
|
81
|
+
if (ident === null)
|
|
82
|
+
return null;
|
|
83
|
+
const word = /^([A-Za-z_]\w*)/.exec(ident.rest)?.[1] ?? '';
|
|
84
|
+
const type = word !== '' && !COLUMN_KEYWORDS.has(word.toLowerCase()) ? word : '';
|
|
85
|
+
return { name: ident.name, type };
|
|
86
|
+
};
|
|
87
|
+
const parseColumns = (body) => splitTopLevel(body)
|
|
88
|
+
.map((definition) => parseColumn(definition))
|
|
89
|
+
.filter((column) => column !== null);
|
|
90
|
+
const parseVirtualColumns = (body) => splitTopLevel(body)
|
|
91
|
+
.filter((arg) => !arg.includes('='))
|
|
92
|
+
.flatMap((arg) => {
|
|
93
|
+
const ident = readIdent(arg);
|
|
94
|
+
return ident === null ? [] : [{ name: ident.name, type: '' }];
|
|
95
|
+
});
|
|
96
|
+
const deleteObjectsOf = (objects, table) => {
|
|
97
|
+
for (const [key, object] of objects) {
|
|
98
|
+
if (object.table === table)
|
|
99
|
+
objects.delete(key);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const renameTable = (state, fromKey, toName) => {
|
|
103
|
+
const table = state.tables.get(fromKey);
|
|
104
|
+
if (table === undefined)
|
|
105
|
+
return;
|
|
106
|
+
const toKey = keyOf(toName);
|
|
107
|
+
state.tables.delete(fromKey);
|
|
108
|
+
state.tables.set(toKey, { name: toName, columns: table.columns });
|
|
109
|
+
for (const object of [...state.indexes.values(), ...state.triggers.values()]) {
|
|
110
|
+
if (object.table === fromKey)
|
|
111
|
+
object.table = toKey;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const applyCreateTable = (state, text) => {
|
|
115
|
+
const { matched: ifNotExists, rest } = skipPrefix(text, IF_NOT_EXISTS);
|
|
116
|
+
const ident = readIdent(rest);
|
|
117
|
+
if (ident === null)
|
|
118
|
+
return;
|
|
119
|
+
const key = keyOf(ident.name);
|
|
120
|
+
if (ifNotExists && state.tables.has(key))
|
|
121
|
+
return;
|
|
122
|
+
const body = ident.rest.trimStart().startsWith('(') ? readParenBody(ident.rest) : null;
|
|
123
|
+
state.tables.set(key, {
|
|
124
|
+
name: ident.name,
|
|
125
|
+
columns: body === null ? [] : parseColumns(body),
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
const applyCreateVirtualTable = (state, text) => {
|
|
129
|
+
const { matched: ifNotExists, rest } = skipPrefix(text, IF_NOT_EXISTS);
|
|
130
|
+
const ident = readIdent(rest);
|
|
131
|
+
if (ident === null)
|
|
132
|
+
return;
|
|
133
|
+
const key = keyOf(ident.name);
|
|
134
|
+
if (ifNotExists && state.tables.has(key))
|
|
135
|
+
return;
|
|
136
|
+
const body = readParenBody(ident.rest);
|
|
137
|
+
state.tables.set(key, {
|
|
138
|
+
name: ident.name,
|
|
139
|
+
columns: body === null ? [] : parseVirtualColumns(body),
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
const applyCreateIndex = (state, text) => {
|
|
143
|
+
const { matched: ifNotExists, rest } = skipPrefix(text, IF_NOT_EXISTS);
|
|
144
|
+
const index = readIdent(rest);
|
|
145
|
+
if (index === null)
|
|
146
|
+
return;
|
|
147
|
+
const on = skipPrefix(index.rest, /^ON\s+/i);
|
|
148
|
+
const table = on.matched ? readIdent(on.rest) : null;
|
|
149
|
+
if (table === null)
|
|
150
|
+
return;
|
|
151
|
+
const key = keyOf(index.name);
|
|
152
|
+
if (ifNotExists && state.indexes.has(key))
|
|
153
|
+
return;
|
|
154
|
+
state.indexes.set(key, { name: index.name, table: keyOf(table.name) });
|
|
155
|
+
};
|
|
156
|
+
const applyCreateTrigger = (state, text) => {
|
|
157
|
+
const { matched: ifNotExists, rest } = skipPrefix(text, IF_NOT_EXISTS);
|
|
158
|
+
const trigger = readIdent(rest);
|
|
159
|
+
if (trigger === null)
|
|
160
|
+
return;
|
|
161
|
+
const onMatch = /\bON\s+/i.exec(trigger.rest);
|
|
162
|
+
if (onMatch === null)
|
|
163
|
+
return;
|
|
164
|
+
const table = readIdent(trigger.rest.slice(onMatch.index + onMatch[0].length));
|
|
165
|
+
if (table === null)
|
|
166
|
+
return;
|
|
167
|
+
const key = keyOf(trigger.name);
|
|
168
|
+
if (ifNotExists && state.triggers.has(key))
|
|
169
|
+
return;
|
|
170
|
+
state.triggers.set(key, { name: trigger.name, table: keyOf(table.name) });
|
|
171
|
+
};
|
|
172
|
+
const applyCreate = (state, sql) => {
|
|
173
|
+
const virtual = /^CREATE\s+VIRTUAL\s+TABLE\s+/i.exec(sql);
|
|
174
|
+
if (virtual !== null)
|
|
175
|
+
return applyCreateVirtualTable(state, sql.slice(virtual[0].length));
|
|
176
|
+
const table = /^CREATE\s+(?:TEMP(?:ORARY)?\s+)?TABLE\s+/i.exec(sql);
|
|
177
|
+
if (table !== null)
|
|
178
|
+
return applyCreateTable(state, sql.slice(table[0].length));
|
|
179
|
+
const index = /^CREATE\s+(?:UNIQUE\s+)?INDEX\s+/i.exec(sql);
|
|
180
|
+
if (index !== null)
|
|
181
|
+
return applyCreateIndex(state, sql.slice(index[0].length));
|
|
182
|
+
const trigger = /^CREATE\s+(?:TEMP(?:ORARY)?\s+)?TRIGGER\s+/i.exec(sql);
|
|
183
|
+
if (trigger !== null)
|
|
184
|
+
return applyCreateTrigger(state, sql.slice(trigger[0].length));
|
|
185
|
+
};
|
|
186
|
+
const applyAlter = (state, sql) => {
|
|
187
|
+
const prefix = /^ALTER\s+TABLE\s+/i.exec(sql);
|
|
188
|
+
if (prefix === null)
|
|
189
|
+
return;
|
|
190
|
+
const ident = readIdent(sql.slice(prefix[0].length));
|
|
191
|
+
if (ident === null)
|
|
192
|
+
return;
|
|
193
|
+
const key = keyOf(ident.name);
|
|
194
|
+
const table = state.tables.get(key);
|
|
195
|
+
const action = ident.rest;
|
|
196
|
+
const add = /^ADD\s+(?:COLUMN\s+)?/i.exec(action);
|
|
197
|
+
if (add !== null) {
|
|
198
|
+
const column = parseColumn(action.slice(add[0].length));
|
|
199
|
+
if (table === undefined || column === null)
|
|
200
|
+
return;
|
|
201
|
+
const exists = table.columns.some((c) => keyOf(c.name) === keyOf(column.name));
|
|
202
|
+
if (!exists)
|
|
203
|
+
table.columns.push(column);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const drop = /^DROP\s+(?:COLUMN\s+)?/i.exec(action);
|
|
207
|
+
if (drop !== null) {
|
|
208
|
+
const column = readIdent(action.slice(drop[0].length));
|
|
209
|
+
if (table === undefined || column === null)
|
|
210
|
+
return;
|
|
211
|
+
const columnKey = keyOf(column.name);
|
|
212
|
+
table.columns = table.columns.filter((c) => keyOf(c.name) !== columnKey);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const renameTo = /^RENAME\s+TO\s+/i.exec(action);
|
|
216
|
+
if (renameTo !== null) {
|
|
217
|
+
const target = readIdent(action.slice(renameTo[0].length));
|
|
218
|
+
if (target !== null)
|
|
219
|
+
renameTable(state, key, target.name);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
const applyDrop = (state, sql) => {
|
|
223
|
+
const prefix = /^DROP\s+(TABLE|INDEX|TRIGGER)\s+/i.exec(sql);
|
|
224
|
+
if (prefix === null)
|
|
225
|
+
return;
|
|
226
|
+
const { rest } = skipPrefix(sql.slice(prefix[0].length), IF_EXISTS);
|
|
227
|
+
const ident = readIdent(rest);
|
|
228
|
+
if (ident === null)
|
|
229
|
+
return;
|
|
230
|
+
const key = keyOf(ident.name);
|
|
231
|
+
const kind = prefix[1].toUpperCase();
|
|
232
|
+
if (kind === 'TABLE') {
|
|
233
|
+
state.tables.delete(key);
|
|
234
|
+
deleteObjectsOf(state.indexes, key);
|
|
235
|
+
deleteObjectsOf(state.triggers, key);
|
|
236
|
+
}
|
|
237
|
+
else if (kind === 'INDEX') {
|
|
238
|
+
state.indexes.delete(key);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
state.triggers.delete(key);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
const createSchemaState = () => ({
|
|
245
|
+
tables: new Map(),
|
|
246
|
+
indexes: new Map(),
|
|
247
|
+
triggers: new Map(),
|
|
248
|
+
});
|
|
249
|
+
const applyDdl = (state, sql) => {
|
|
250
|
+
const statement = sql.trim();
|
|
251
|
+
if (/^CREATE\b/i.test(statement))
|
|
252
|
+
applyCreate(state, statement);
|
|
253
|
+
else if (/^ALTER\b/i.test(statement))
|
|
254
|
+
applyAlter(state, statement);
|
|
255
|
+
else if (/^DROP\b/i.test(statement))
|
|
256
|
+
applyDrop(state, statement);
|
|
257
|
+
};
|
|
258
|
+
/**
|
|
259
|
+
* Answers the introspection queries migrations use to decide whether to skip work, using the
|
|
260
|
+
* schema produced by the DDL captured so far. Returns null for any other statement.
|
|
261
|
+
*/
|
|
262
|
+
const introspect = (state, sql, parameters) => {
|
|
263
|
+
const statement = sql.trim();
|
|
264
|
+
const tableInfo = /^PRAGMA\s+table_info\s*\((.*)\)$/i.exec(statement);
|
|
265
|
+
if (tableInfo !== null) {
|
|
266
|
+
const table = readIdent(tableInfo[1].trim());
|
|
267
|
+
if (table === null)
|
|
268
|
+
return [];
|
|
269
|
+
const columns = state.tables.get(keyOf(table.name))?.columns ?? [];
|
|
270
|
+
return columns.map((column, cid) => ({
|
|
271
|
+
cid,
|
|
272
|
+
name: column.name,
|
|
273
|
+
type: column.type,
|
|
274
|
+
notnull: 0,
|
|
275
|
+
dflt_value: null,
|
|
276
|
+
pk: 0,
|
|
277
|
+
}));
|
|
278
|
+
}
|
|
279
|
+
const indexList = /^PRAGMA\s+index_list\s*\((.*)\)$/i.exec(statement);
|
|
280
|
+
if (indexList !== null) {
|
|
281
|
+
const table = readIdent(indexList[1].trim());
|
|
282
|
+
if (table === null)
|
|
283
|
+
return [];
|
|
284
|
+
const key = keyOf(table.name);
|
|
285
|
+
return [...state.indexes.values()]
|
|
286
|
+
.filter((index) => index.table === key)
|
|
287
|
+
.map((index, seq) => ({ seq, name: index.name, unique: 0, origin: 'c', partial: 0 }));
|
|
288
|
+
}
|
|
289
|
+
if (/^SELECT\s+1\s+FROM\s+sqlite_master\s+WHERE\s+type\s*=\s*'table'\s+AND\s+name\s*=\s*\?/i.test(statement)) {
|
|
290
|
+
const exists = state.tables.has(keyOf(String(parameters[0] ?? '')));
|
|
291
|
+
return exists ? [{ 1: 1 }] : [];
|
|
292
|
+
}
|
|
293
|
+
if (/^SELECT\s+name\s+FROM\s+sqlite_master\s+WHERE\s+type\s*=\s*'trigger'\s+AND\s+name\s+IN\s*\(/i.test(statement)) {
|
|
294
|
+
const wanted = new Set(parameters.map((value) => keyOf(String(value))));
|
|
295
|
+
return [...state.triggers.values()]
|
|
296
|
+
.filter((trigger) => wanted.has(keyOf(trigger.name)))
|
|
297
|
+
.map((trigger) => ({ name: trigger.name }));
|
|
298
|
+
}
|
|
299
|
+
if (/^SELECT\s+name\s+FROM\s+sqlite_master\s+WHERE\s+type\s*=\s*'table'\s+AND\s+name\s+NOT\s+LIKE\s+'sqlite_%'$/i.test(statement)) {
|
|
300
|
+
return [...state.tables.values()].map((table) => ({ name: table.name }));
|
|
301
|
+
}
|
|
302
|
+
return null;
|
|
303
|
+
};
|
|
304
|
+
export const D1SchemaState = Object.freeze({
|
|
305
|
+
create: createSchemaState,
|
|
306
|
+
applyDdl,
|
|
307
|
+
introspect,
|
|
308
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1SqlMigrations.d.ts","sourceRoot":"","sources":["../../../../src/cli/d1/D1SqlMigrations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"D1SqlMigrations.d.ts","sourceRoot":"","sources":["../../../../src/cli/d1/D1SqlMigrations.ts"],"names":[],"mappings":"AAaA,KAAK,6BAA6B,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAoRF,eAAO,MAAM,eAAe;0BACE,6BAA6B,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;EAuC5F,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { D1SchemaState } from './D1SchemaState.js';
|
|
1
2
|
import { ErrorFactory } from '../../exceptions/ZintrustError.js';
|
|
2
3
|
import * as fs from '../../node-singletons/fs.js';
|
|
3
4
|
import * as path from '../../node-singletons/path.js';
|
|
@@ -96,20 +97,34 @@ const createNoopAdapter = (isConnected, setConnected) => ({
|
|
|
96
97
|
return '?';
|
|
97
98
|
},
|
|
98
99
|
});
|
|
99
|
-
const captureSql = (onSql, sql, parameters) => {
|
|
100
|
+
const captureSql = (onSql, schema, sql, parameters) => {
|
|
100
101
|
const compiled = parameters.length > 0 ? interpolateSql(sql, parameters) : sql;
|
|
102
|
+
D1SchemaState.applyDdl(schema, compiled);
|
|
101
103
|
if (!isMutatingSql(compiled))
|
|
102
104
|
return;
|
|
103
105
|
const normalized = normalizeSql(normalizeAlterTableAddColumn(compiled));
|
|
104
106
|
if (normalized !== '')
|
|
105
107
|
onSql(normalized);
|
|
106
108
|
};
|
|
107
|
-
const
|
|
109
|
+
const runSql = (onSql, schema, sql, parameters) => {
|
|
110
|
+
const introspected = D1SchemaState.introspect(schema, sql, parameters);
|
|
111
|
+
if (introspected !== null)
|
|
112
|
+
return introspected;
|
|
113
|
+
captureSql(onSql, schema, sql, parameters);
|
|
114
|
+
return [];
|
|
115
|
+
};
|
|
116
|
+
const captureBatch = async (onSql, schema, statements) => {
|
|
117
|
+
for (const statement of statements) {
|
|
118
|
+
captureSql(onSql, schema, statement.sql, statement.parameters ?? []);
|
|
119
|
+
}
|
|
120
|
+
await RESOLVED_VOID;
|
|
121
|
+
return statements.map(() => ({ rows: [], rowCount: 0, affectedRows: 0 }));
|
|
122
|
+
};
|
|
123
|
+
const createCaptureDb = (onSql, schema) => {
|
|
108
124
|
let connected = false;
|
|
109
|
-
const
|
|
110
|
-
connected =
|
|
111
|
-
};
|
|
112
|
-
const noopAdapter = createNoopAdapter(() => connected, setConnected);
|
|
125
|
+
const noopAdapter = createNoopAdapter(() => connected, (value) => {
|
|
126
|
+
connected = value;
|
|
127
|
+
});
|
|
113
128
|
const db = {
|
|
114
129
|
async connect() {
|
|
115
130
|
connected = true;
|
|
@@ -123,20 +138,22 @@ const createCaptureDb = (onSql) => {
|
|
|
123
138
|
return connected;
|
|
124
139
|
},
|
|
125
140
|
async query(sql, parameters = []) {
|
|
126
|
-
|
|
141
|
+
const rows = runSql(onSql, schema, sql, parameters);
|
|
127
142
|
await RESOLVED_VOID;
|
|
128
|
-
return
|
|
143
|
+
return rows;
|
|
129
144
|
},
|
|
130
145
|
async queryOne(sql, parameters = []) {
|
|
131
|
-
|
|
146
|
+
const rows = runSql(onSql, schema, sql, parameters);
|
|
132
147
|
await RESOLVED_VOID;
|
|
133
|
-
return null;
|
|
148
|
+
return rows.length > 0 ? rows[0] : null;
|
|
134
149
|
},
|
|
135
150
|
async execute(sql, parameters = []) {
|
|
136
|
-
captureSql(onSql, sql, parameters);
|
|
151
|
+
captureSql(onSql, schema, sql, parameters);
|
|
137
152
|
await RESOLVED_VOID;
|
|
138
153
|
return { rows: [], rowCount: 0 };
|
|
139
154
|
},
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
156
|
+
batch: (statements) => captureBatch(onSql, schema, statements),
|
|
140
157
|
raw(value) {
|
|
141
158
|
return { __raw: value };
|
|
142
159
|
},
|
|
@@ -220,9 +237,10 @@ export const D1SqlMigrations = Object.freeze({
|
|
|
220
237
|
const migrations = await discoverMigrations(opts);
|
|
221
238
|
ensureDir(opts.outputDir);
|
|
222
239
|
const out = [];
|
|
240
|
+
const schema = D1SchemaState.create();
|
|
223
241
|
await runSerial(migrations, async (m, idx) => {
|
|
224
242
|
const statements = [];
|
|
225
|
-
const db = createCaptureDb((sql) => statements.push(sql));
|
|
243
|
+
const db = createCaptureDb((sql) => statements.push(sql), schema);
|
|
226
244
|
await db.connect();
|
|
227
245
|
try {
|
|
228
246
|
await m.up(db);
|
|
@@ -233,7 +251,9 @@ export const D1SqlMigrations = Object.freeze({
|
|
|
233
251
|
const outputFileName = getDefaultOutputFileName(m.name, idx);
|
|
234
252
|
const outputFilePath = path.join(opts.outputDir, outputFileName);
|
|
235
253
|
const header = `-- Generated from ${m.name}\n`;
|
|
236
|
-
const body = statements.length > 0
|
|
254
|
+
const body = statements.length > 0
|
|
255
|
+
? `${statements.join('\n')}\n`
|
|
256
|
+
: '-- No statements: this migration is a no-op for the D1 driver.\n';
|
|
237
257
|
fs.writeFileSync(outputFilePath, `${header}${body}`, 'utf8');
|
|
238
258
|
out.push({
|
|
239
259
|
sourceName: m.name,
|
package/src/database-index.d.ts
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
export { Database, resetDatabase, useDatabase, useEnsureDbConnected } from './orm/Database.js';
|
|
6
6
|
export type { IDatabase } from './orm/Database.js';
|
|
7
7
|
export { BaseAdapter } from './orm/DatabaseAdapter.js';
|
|
8
|
-
export type { DatabaseConfig, IDatabaseAdapter, QueryResult } from './orm/DatabaseAdapter.js';
|
|
8
|
+
export type { BatchStatement, DatabaseConfig, IDatabaseAdapter, QueryResult, } from './orm/DatabaseAdapter.js';
|
|
9
9
|
export { DatabaseAdapterRegistry } from './orm/DatabaseAdapterRegistry.js';
|
|
10
10
|
export { QueryBuilder } from './orm/QueryBuilder.js';
|
|
11
|
-
export type { IJoinOnBuilder, InsertResult, IQueryBuilder, JoinOnInput, LatestPerOptions, PaginationOptions, } from './orm/QueryBuilder.js';
|
|
11
|
+
export type { IJoinOnBuilder, InsertIfAbsentResult, InsertResult, IQueryBuilder, JoinOnInput, LatestPerOptions, PaginationOptions, } from './orm/QueryBuilder.js';
|
|
12
12
|
export { Schema as MigrationSchema } from './migrations/schema/index.js';
|
|
13
13
|
export type { Blueprint } from './migrations/schema/index.js';
|
|
14
14
|
export { MySQLAdapter } from './orm/adapters/MySQLAdapter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-index.d.ts","sourceRoot":"","sources":["../../src/database-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,
|
|
1
|
+
{"version":3,"file":"database-index.d.ts","sourceRoot":"","sources":["../../src/database-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/src/index.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export { DatabaseConnectionRegistry } from './orm/DatabaseConnectionRegistry.js'
|
|
|
25
25
|
export { Model } from './orm/Model.js';
|
|
26
26
|
export type { DefinedModel, IModel, ModelConfig, ModelStatic } from './orm/Model.js';
|
|
27
27
|
export { QueryBuilder } from './orm/QueryBuilder.js';
|
|
28
|
-
export type { IJoinOnBuilder, IQueryBuilder, InsertResult, JoinOnInput, LatestPerOptions, PaginationOptions, } from './orm/QueryBuilder.js';
|
|
28
|
+
export type { IJoinOnBuilder, IQueryBuilder, InsertIfAbsentResult, InsertResult, JoinOnInput, LatestPerOptions, PaginationOptions, } from './orm/QueryBuilder.js';
|
|
29
29
|
export type { IRelationship } from './orm/Relationships.js';
|
|
30
30
|
export { BodyParsers, BulletproofAuthMiddleware, Controller, CsrfMiddleware, ErrorHandlerMiddleware, FileUpload, Kernel, LoggingMiddleware, MiddlewareStack, MultipartParser, RateLimiter, Request, RequestContext, Response, SecurityMiddleware, SessionMiddleware, ValidationHelper, ValidationMiddleware, bodyParsingMiddleware, fileUploadMiddleware, getValidatedBody, getValidatedHeaders, getValidatedParams, getValidatedQuery, hasValidatedBody, requireValidatedBody, } from './runtime-index.js';
|
|
31
31
|
export type { FileUploadOptions, IFileUploadHandler, IRequest, IResponse, Middleware, MultipartFieldValue, MultipartParseInput, MultipartParserProvider, ParsedMultipartData, UploadedFile, ValidatedRequest, } from './runtime-index.js';
|
|
@@ -46,7 +46,7 @@ export type { ICollection, PrimitiveKey } from './collections/index.js';
|
|
|
46
46
|
export { HttpClient } from './tools/http/Http.js';
|
|
47
47
|
export type { IHttpRequest, IHttpResponse } from './tools/http/Http.js';
|
|
48
48
|
export { BaseAdapter } from './orm/DatabaseAdapter.js';
|
|
49
|
-
export type { DatabaseConfig, ID1Database, IDatabaseAdapter, QueryResult, } from './orm/DatabaseAdapter.js';
|
|
49
|
+
export type { BatchStatement, DatabaseConfig, ID1Database, IDatabaseAdapter, QueryResult, } from './orm/DatabaseAdapter.js';
|
|
50
50
|
export { MemoryProfiler } from './profiling/MemoryProfiler.js';
|
|
51
51
|
export { N1Detector } from './profiling/N1Detector.js';
|
|
52
52
|
export { QueryLogger } from './profiling/QueryLogger.js';
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/src/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @zintrust/core v3.5.
|
|
2
|
+
* @zintrust/core v3.5.2
|
|
3
3
|
*
|
|
4
4
|
* ZinTrust Framework - Production-Grade TypeScript Backend
|
|
5
5
|
* Built for performance, type safety, and exceptional developer experience
|
|
6
6
|
*
|
|
7
7
|
* Build Information:
|
|
8
|
-
* Built: 2026-11-
|
|
8
|
+
* Built: 2026-11-10T11:10:18.431Z
|
|
9
9
|
* Node: >=20.0.0
|
|
10
10
|
* License: MIT
|
|
11
11
|
*
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* Available at runtime for debugging and health checks
|
|
22
22
|
*/
|
|
23
23
|
export const ZINTRUST_VERSION = '0.1.41';
|
|
24
|
-
export const ZINTRUST_BUILD_DATE = '2026-11-
|
|
24
|
+
export const ZINTRUST_BUILD_DATE = '2026-11-10T11:10:17.952Z'; // Replaced during build
|
|
25
25
|
export { Application } from './boot/Application.js';
|
|
26
26
|
export { AwsSigV4 } from './common/index.js';
|
|
27
27
|
export { SignedRequest } from './security/SignedRequest.js';
|
package/src/orm/Database.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Central database connection management and query execution
|
|
4
4
|
*/
|
|
5
5
|
import type { SupportedDriver } from '../migrations/enum/index.js';
|
|
6
|
-
import { type D1ReadConstraint, type DatabaseConfig, type IDatabaseAdapter, type QueryResult } from './DatabaseAdapter.js';
|
|
6
|
+
import { type D1ReadConstraint, type DatabaseConfig, type BatchStatement, type IDatabaseAdapter, type QueryResult } from './DatabaseAdapter.js';
|
|
7
7
|
import type { IQueryBuilder } from './QueryBuilder.js';
|
|
8
8
|
export type RawValue = {
|
|
9
9
|
__raw: string;
|
|
@@ -15,6 +15,7 @@ export interface IDatabase {
|
|
|
15
15
|
query(sql: string, parameters?: unknown[], isRead?: boolean): Promise<unknown[]>;
|
|
16
16
|
queryOne(sql: string, parameters?: unknown[], isRead?: boolean): Promise<unknown>;
|
|
17
17
|
execute(sql: string, parameters?: unknown[], isRead?: boolean): Promise<QueryResult>;
|
|
18
|
+
batch(statements: BatchStatement[]): Promise<QueryResult[]>;
|
|
18
19
|
raw(value: string): RawValue;
|
|
19
20
|
transaction<T>(callback: (db: IDatabase) => Promise<T>): Promise<T>;
|
|
20
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../src/orm/Database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAWxD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,SAAS;IACxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC;IACvB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,CAAC,EACf,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,GAC1C,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;IACnC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IACzE,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1F,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1E,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3F,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACvD,OAAO,IAAI,eAAe,CAAC;IAC3B,SAAS,IAAI,cAAc,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../src/orm/Database.ts"],"names":[],"mappings":"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"}
|
package/src/orm/Database.js
CHANGED
|
@@ -204,6 +204,45 @@ const executeFullQuery = async (adapter, eventEmitter, sql, parameters) => {
|
|
|
204
204
|
eventEmitter.emit('after-query', sql, parameters, duration, routingMeta(result));
|
|
205
205
|
return BaseAdapter.normalizeQueryResult(result);
|
|
206
206
|
};
|
|
207
|
+
const executeBatchOnAdapter = async (adapter, eventEmitter, statements) => {
|
|
208
|
+
const results = [];
|
|
209
|
+
for (const statement of statements) {
|
|
210
|
+
// Keep batch execution ordered so later SQL can depend on earlier writes.
|
|
211
|
+
// eslint-disable-next-line no-await-in-loop
|
|
212
|
+
const result = await executeFullQuery(adapter, eventEmitter, statement.sql, statement.parameters ?? []);
|
|
213
|
+
results.push({ ...result, affectedRows: result.rowCount });
|
|
214
|
+
}
|
|
215
|
+
return results;
|
|
216
|
+
};
|
|
217
|
+
const createTransactionDatabase = (db, adapter, eventEmitter) => {
|
|
218
|
+
const transactionDb = {
|
|
219
|
+
...db,
|
|
220
|
+
query: async (sql, parameters = []) => {
|
|
221
|
+
const result = await executeQuery(adapter, eventEmitter, sql, parameters, 'query');
|
|
222
|
+
return result;
|
|
223
|
+
},
|
|
224
|
+
queryOne: async (sql, parameters = []) => {
|
|
225
|
+
const result = await executeQueryOne(adapter, eventEmitter, sql, parameters);
|
|
226
|
+
return result;
|
|
227
|
+
},
|
|
228
|
+
execute: async (sql, parameters = []) => {
|
|
229
|
+
const result = await executeFullQuery(adapter, eventEmitter, sql, parameters);
|
|
230
|
+
return result;
|
|
231
|
+
},
|
|
232
|
+
batch: async (statements) => {
|
|
233
|
+
const results = await executeBatchOnAdapter(adapter, eventEmitter, statements);
|
|
234
|
+
return results;
|
|
235
|
+
},
|
|
236
|
+
transaction: () => {
|
|
237
|
+
throw ErrorFactory.createConfigError('Nested database transactions are not supported');
|
|
238
|
+
},
|
|
239
|
+
withReadSession: async (fn) => ({ result: await fn(transactionDb), bookmark: null }),
|
|
240
|
+
table: (name) => QueryBuilder.create(name, transactionDb),
|
|
241
|
+
getAdapterInstance: () => adapter,
|
|
242
|
+
getType: () => adapter.getType(),
|
|
243
|
+
};
|
|
244
|
+
return transactionDb;
|
|
245
|
+
};
|
|
207
246
|
const executeQueryOne = async (adapter, eventEmitter, sql, parameters) => {
|
|
208
247
|
eventEmitter.emit('before-query', sql, parameters);
|
|
209
248
|
const startTime = Date.now();
|
|
@@ -313,10 +352,31 @@ const createQueryHandlers = (writeAdapter, _readAdapters, eventEmitter, connecte
|
|
|
313
352
|
const adapter = getAdapter(isRead);
|
|
314
353
|
return executeFullQuery(adapter, eventEmitter, sql, parameters);
|
|
315
354
|
},
|
|
355
|
+
async batch(statements) {
|
|
356
|
+
if (connected.value === false)
|
|
357
|
+
await db.connect();
|
|
358
|
+
if (statements.length === 0)
|
|
359
|
+
return [];
|
|
360
|
+
if (writeAdapter.batch !== undefined) {
|
|
361
|
+
for (const statement of statements) {
|
|
362
|
+
eventEmitter.emit('before-query', statement.sql, statement.parameters ?? []);
|
|
363
|
+
}
|
|
364
|
+
const startTime = Date.now();
|
|
365
|
+
const results = await writeAdapter.batch(statements);
|
|
366
|
+
const duration = Date.now() - startTime;
|
|
367
|
+
for (const statement of statements) {
|
|
368
|
+
eventEmitter.emit('after-query', statement.sql, statement.parameters ?? [], duration);
|
|
369
|
+
}
|
|
370
|
+
return results.map((result) => BaseAdapter.normalizeQueryResult({ ...result, affectedRows: result.rowCount }));
|
|
371
|
+
}
|
|
372
|
+
return writeAdapter.transaction(async (transactionAdapter) => {
|
|
373
|
+
return executeBatchOnAdapter(transactionAdapter, eventEmitter, statements);
|
|
374
|
+
});
|
|
375
|
+
},
|
|
316
376
|
async transaction(callback) {
|
|
317
377
|
if (connected.value === false)
|
|
318
378
|
await db.connect();
|
|
319
|
-
return writeAdapter.transaction(async () => callback(db));
|
|
379
|
+
return writeAdapter.transaction(async (transactionAdapter) => callback(createTransactionDatabase(db, transactionAdapter, eventEmitter)));
|
|
320
380
|
},
|
|
321
381
|
async withReadSession(fn, options) {
|
|
322
382
|
if (connected.value === false)
|
|
@@ -346,6 +406,7 @@ const applyQueryHandlers = (db, queryHandlers) => {
|
|
|
346
406
|
db.query = queryHandlers.query;
|
|
347
407
|
db.queryOne = queryHandlers.queryOne;
|
|
348
408
|
db.execute = queryHandlers.execute;
|
|
409
|
+
db.batch = queryHandlers.batch;
|
|
349
410
|
db.transaction = queryHandlers.transaction;
|
|
350
411
|
db.withReadSession = queryHandlers.withReadSession;
|
|
351
412
|
};
|
|
@@ -360,6 +421,7 @@ const createDbFacade = (input) => {
|
|
|
360
421
|
query: queryHandlers.query,
|
|
361
422
|
queryOne: queryHandlers.queryOne,
|
|
362
423
|
execute: queryHandlers.execute,
|
|
424
|
+
batch: queryHandlers.batch,
|
|
363
425
|
raw(value) {
|
|
364
426
|
return { __raw: value };
|
|
365
427
|
},
|
|
@@ -35,6 +35,12 @@ export interface ID1BoundStatement {
|
|
|
35
35
|
export interface ID1PreparedStatement {
|
|
36
36
|
bind(...values: unknown[]): ID1BoundStatement;
|
|
37
37
|
}
|
|
38
|
+
export interface ID1BatchResult {
|
|
39
|
+
results?: Record<string, unknown>[];
|
|
40
|
+
success: boolean;
|
|
41
|
+
error?: string;
|
|
42
|
+
meta?: Record<string, unknown>;
|
|
43
|
+
}
|
|
38
44
|
/**
|
|
39
45
|
* Minimal D1 Database interface for type safety.
|
|
40
46
|
*
|
|
@@ -44,6 +50,7 @@ export interface ID1PreparedStatement {
|
|
|
44
50
|
*/
|
|
45
51
|
export interface ID1Database {
|
|
46
52
|
prepare(sql: string): ID1PreparedStatement;
|
|
53
|
+
batch?(statements: ID1BoundStatement[]): Promise<ID1BatchResult[]>;
|
|
47
54
|
withSession?(constraint?: D1ReadConstraint): ID1DatabaseSession;
|
|
48
55
|
}
|
|
49
56
|
/**
|
|
@@ -71,6 +78,7 @@ export interface DatabaseConfig {
|
|
|
71
78
|
export interface QueryResult {
|
|
72
79
|
rows: Record<string, unknown>[];
|
|
73
80
|
rowCount: number;
|
|
81
|
+
affectedRows?: number;
|
|
74
82
|
lastInsertId?: string | number | bigint;
|
|
75
83
|
/**
|
|
76
84
|
* Read-replication routing metadata, when the driver exposes it (D1).
|
|
@@ -80,6 +88,10 @@ export interface QueryResult {
|
|
|
80
88
|
servedByPrimary?: boolean;
|
|
81
89
|
servedByRegion?: string;
|
|
82
90
|
}
|
|
91
|
+
export interface BatchStatement {
|
|
92
|
+
sql: string;
|
|
93
|
+
parameters?: unknown[];
|
|
94
|
+
}
|
|
83
95
|
export interface IDatabaseAdapter {
|
|
84
96
|
/**
|
|
85
97
|
* Connect to database
|
|
@@ -107,6 +119,10 @@ export interface IDatabaseAdapter {
|
|
|
107
119
|
* Execute multiple queries in transaction
|
|
108
120
|
*/
|
|
109
121
|
transaction<T>(callback: (adapter: IDatabaseAdapter) => Promise<T>): Promise<T>;
|
|
122
|
+
/**
|
|
123
|
+
* Execute an ordered batch atomically when the driver supports native batching.
|
|
124
|
+
*/
|
|
125
|
+
batch?(statements: BatchStatement[]): Promise<QueryResult[]>;
|
|
110
126
|
/**
|
|
111
127
|
* Execute raw SQL query (only available when USE_RAW_QRY=true)
|
|
112
128
|
* WARNING: Bypasses QueryBuilder safety. Use parameterized queries.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/orm/DatabaseAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatabaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/orm/DatabaseAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,9 @@ export interface InsertResult {
|
|
|
34
34
|
affectedRows: number;
|
|
35
35
|
insertedRecords?: Record<string, unknown>[];
|
|
36
36
|
}
|
|
37
|
+
export interface InsertIfAbsentResult extends InsertResult {
|
|
38
|
+
inserted: boolean;
|
|
39
|
+
}
|
|
37
40
|
export type SoftDeleteMode = 'exclude' | 'include' | 'only';
|
|
38
41
|
export interface QueryBuilderOptions {
|
|
39
42
|
softDeleteColumn?: string;
|
|
@@ -109,7 +112,9 @@ export interface IQueryBuilder {
|
|
|
109
112
|
load(models: IModel[], relation: string, constraint?: EagerLoadConstraint): Promise<void>;
|
|
110
113
|
loadCount(models: IModel[], relation: string): Promise<void>;
|
|
111
114
|
insert(values: Record<string, unknown> | Array<Record<string, unknown>>): Promise<InsertResult>;
|
|
112
|
-
|
|
115
|
+
insertIfAbsent(values: Record<string, unknown>, conflictColumns?: string[]): Promise<InsertIfAbsentResult>;
|
|
116
|
+
update(values: Record<string, unknown>): Promise<number>;
|
|
117
|
+
increment(column: string, amount: number): Promise<number>;
|
|
113
118
|
delete(): Promise<void>;
|
|
114
119
|
}
|
|
115
120
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/orm/QueryBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/orm/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
package/src/orm/QueryBuilder.js
CHANGED
|
@@ -809,6 +809,45 @@ const compileInsert = (tableName, values, dialect) => {
|
|
|
809
809
|
const sql = wantsReturning ? `${baseSql} RETURNING id` : baseSql;
|
|
810
810
|
return { sql, parameters };
|
|
811
811
|
};
|
|
812
|
+
const compileInsertIfAbsent = (tableName, values, conflictColumns, dialect) => {
|
|
813
|
+
const compiled = compileInsert(tableName, values, dialect);
|
|
814
|
+
const dialectName = (dialect ?? '').toLowerCase();
|
|
815
|
+
if (dialectName === 'mysql') {
|
|
816
|
+
return { ...compiled, sql: compiled.sql.replace(/^INSERT INTO/i, 'INSERT IGNORE INTO') };
|
|
817
|
+
}
|
|
818
|
+
if (dialectName === 'sqlite' || dialectName === 'd1' || dialectName === 'd1-remote' || dialectName === 'postgresql') {
|
|
819
|
+
const columns = conflictColumns ?? [];
|
|
820
|
+
for (const column of columns)
|
|
821
|
+
assertSafeIdentifier(column, 'conflict column');
|
|
822
|
+
const target = columns.length === 0
|
|
823
|
+
? ''
|
|
824
|
+
: ` (${columns.map((column) => escapeIdentifier(column, dialect)).join(', ')})`;
|
|
825
|
+
const returning = dialectName === 'postgresql' && compiled.sql.endsWith(' RETURNING id');
|
|
826
|
+
const insertSql = returning ? compiled.sql.slice(0, -' RETURNING id'.length) : compiled.sql;
|
|
827
|
+
const conflictSql = `${insertSql} ON CONFLICT${target} DO NOTHING`;
|
|
828
|
+
return {
|
|
829
|
+
...compiled,
|
|
830
|
+
sql: returning ? `${conflictSql} RETURNING id` : conflictSql,
|
|
831
|
+
};
|
|
832
|
+
}
|
|
833
|
+
throw ErrorFactory.createDatabaseError(`insertIfAbsent is not supported for the ${dialectName || 'unknown'} database driver`);
|
|
834
|
+
};
|
|
835
|
+
const compileIncrement = (tableName, column, amount, conditions, dialect) => {
|
|
836
|
+
if (!Number.isFinite(amount)) {
|
|
837
|
+
throw ErrorFactory.createDatabaseError('Increment amount must be a finite number');
|
|
838
|
+
}
|
|
839
|
+
if (conditions.length === 0) {
|
|
840
|
+
throw ErrorFactory.createDatabaseError('UPDATE requires at least one WHERE clause');
|
|
841
|
+
}
|
|
842
|
+
assertSafeIdentifierPath(tableName, 'table name');
|
|
843
|
+
assertSafeIdentifierPath(column, 'increment column');
|
|
844
|
+
const columnSql = escapeIdentifier(column, dialect);
|
|
845
|
+
const where = compileWhere(conditions, dialect);
|
|
846
|
+
return {
|
|
847
|
+
sql: `UPDATE ${escapeIdentifier(tableName, dialect)} SET ${columnSql} = ${columnSql} + ?${where.sql}`,
|
|
848
|
+
parameters: [amount, ...where.parameters],
|
|
849
|
+
};
|
|
850
|
+
};
|
|
812
851
|
const compileUpdate = (tableName, values, conditions, dialect) => {
|
|
813
852
|
const keys = Object.keys(values);
|
|
814
853
|
if (keys.length === 0) {
|
|
@@ -1567,13 +1606,38 @@ function attachWriteMethods(builder, state, db) {
|
|
|
1567
1606
|
insertedRecords: items,
|
|
1568
1607
|
};
|
|
1569
1608
|
};
|
|
1609
|
+
builder.insertIfAbsent = async (values, conflictColumns) => {
|
|
1610
|
+
const currentDb = ensureDb();
|
|
1611
|
+
const tableName = state.tableName.trim();
|
|
1612
|
+
if (tableName.length === 0)
|
|
1613
|
+
throw ErrorFactory.createDatabaseError('INSERT requires a table name');
|
|
1614
|
+
const compiled = compileInsertIfAbsent(tableName, values, conflictColumns, state.dialect);
|
|
1615
|
+
const result = await currentDb.execute(compiled.sql, compiled.parameters, false);
|
|
1616
|
+
const inserted = result.rowCount > 0;
|
|
1617
|
+
return {
|
|
1618
|
+
id: result.lastInsertId ?? (inserted ? values['id'] ?? null : null),
|
|
1619
|
+
affectedRows: result.rowCount,
|
|
1620
|
+
insertedRecords: inserted ? [values] : [],
|
|
1621
|
+
inserted,
|
|
1622
|
+
};
|
|
1623
|
+
};
|
|
1570
1624
|
builder.update = async (values) => {
|
|
1571
1625
|
const currentDb = ensureDb();
|
|
1572
1626
|
const tableName = state.tableName.trim();
|
|
1573
1627
|
if (tableName.length === 0)
|
|
1574
1628
|
throw ErrorFactory.createDatabaseError('UPDATE requires a table name');
|
|
1575
1629
|
const compiled = compileUpdate(tableName, values, state.whereConditions, state.dialect);
|
|
1576
|
-
await currentDb.
|
|
1630
|
+
const result = await currentDb.execute(compiled.sql, compiled.parameters, false);
|
|
1631
|
+
return result.rowCount;
|
|
1632
|
+
};
|
|
1633
|
+
builder.increment = async (column, amount) => {
|
|
1634
|
+
const currentDb = ensureDb();
|
|
1635
|
+
const tableName = state.tableName.trim();
|
|
1636
|
+
if (tableName.length === 0)
|
|
1637
|
+
throw ErrorFactory.createDatabaseError('UPDATE requires a table name');
|
|
1638
|
+
const compiled = compileIncrement(tableName, column, amount, state.whereConditions, state.dialect);
|
|
1639
|
+
const result = await currentDb.execute(compiled.sql, compiled.parameters, false);
|
|
1640
|
+
return result.rowCount;
|
|
1577
1641
|
};
|
|
1578
1642
|
builder.delete = async () => {
|
|
1579
1643
|
const currentDb = ensureDb();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1Adapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1Adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"D1Adapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1Adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAGV,cAAc,EAGd,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAyG9B;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;oBAEa,cAAc,GAAG,gBAAgB;EA+MjD,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -144,6 +144,9 @@ export const D1Adapter = Object.freeze({
|
|
|
144
144
|
const stmt = db.prepare(sql);
|
|
145
145
|
if (isMutatingSql(sql)) {
|
|
146
146
|
const runResult = await stmt.bind(...normalizedParams).run();
|
|
147
|
+
if (runResult.success === false) {
|
|
148
|
+
throw ErrorFactory.createDatabaseError(runResult.error ?? 'D1 statement failed');
|
|
149
|
+
}
|
|
147
150
|
const runRecord = runResult;
|
|
148
151
|
const meta = extractMeta(runRecord.meta);
|
|
149
152
|
return {
|
|
@@ -154,6 +157,9 @@ export const D1Adapter = Object.freeze({
|
|
|
154
157
|
};
|
|
155
158
|
}
|
|
156
159
|
const result = await stmt.bind(...normalizedParams).all();
|
|
160
|
+
if (result.success === false) {
|
|
161
|
+
throw ErrorFactory.createDatabaseError(result.error ?? 'D1 query failed');
|
|
162
|
+
}
|
|
157
163
|
const rawResult = result;
|
|
158
164
|
const rows = BaseAdapter.normalizeRows(rawResult.results ?? []);
|
|
159
165
|
const metaValue = rawResult.meta;
|
|
@@ -161,6 +167,7 @@ export const D1Adapter = Object.freeze({
|
|
|
161
167
|
return {
|
|
162
168
|
rows,
|
|
163
169
|
rowCount: rows.length > 0 ? rows.length : meta.changes,
|
|
170
|
+
affectedRows: meta.changes,
|
|
164
171
|
lastInsertId: meta.lastInsertId,
|
|
165
172
|
...extractServedBy(metaValue),
|
|
166
173
|
};
|
|
@@ -195,15 +202,42 @@ export const D1Adapter = Object.freeze({
|
|
|
195
202
|
throw ErrorFactory.createTryCatchError('D1 ping failed', error);
|
|
196
203
|
}
|
|
197
204
|
},
|
|
198
|
-
|
|
205
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
206
|
+
async transaction(_callback) {
|
|
199
207
|
if (!connected)
|
|
200
208
|
throw ErrorFactory.createConnectionError('Database not connected');
|
|
209
|
+
throw ErrorFactory.createConfigError('D1 does not support callback transactions. Use db.batch() with a complete ordered statement list.');
|
|
210
|
+
},
|
|
211
|
+
async batch(statements) {
|
|
212
|
+
if (!connected)
|
|
213
|
+
throw ErrorFactory.createConnectionError('Database not connected');
|
|
214
|
+
const db = getD1Binding(_config);
|
|
215
|
+
if (db === null) {
|
|
216
|
+
throw ErrorFactory.createConfigError('D1 database binding not found');
|
|
217
|
+
}
|
|
218
|
+
if (typeof db.batch !== 'function') {
|
|
219
|
+
throw ErrorFactory.createConfigError('The configured D1 binding does not support atomic batches');
|
|
220
|
+
}
|
|
201
221
|
try {
|
|
202
|
-
const
|
|
203
|
-
|
|
222
|
+
const prepared = statements.map(({ sql, parameters = [] }) => db.prepare(sql).bind(...normalizeD1BindParameters(parameters)));
|
|
223
|
+
const results = await db.batch(prepared);
|
|
224
|
+
return results.map((result, index) => {
|
|
225
|
+
if (!result.success) {
|
|
226
|
+
throw ErrorFactory.createDatabaseError(result.error ?? `D1 batch statement ${index + 1} failed`);
|
|
227
|
+
}
|
|
228
|
+
const meta = extractMeta(result.meta);
|
|
229
|
+
const rows = BaseAdapter.normalizeRows(result.results ?? []);
|
|
230
|
+
return {
|
|
231
|
+
rows,
|
|
232
|
+
rowCount: rows.length > 0 ? rows.length : meta.changes,
|
|
233
|
+
affectedRows: meta.changes,
|
|
234
|
+
lastInsertId: meta.lastInsertId,
|
|
235
|
+
...extractServedBy(result.meta),
|
|
236
|
+
};
|
|
237
|
+
});
|
|
204
238
|
}
|
|
205
239
|
catch (error) {
|
|
206
|
-
throw ErrorFactory.createTryCatchError('
|
|
240
|
+
throw ErrorFactory.createTryCatchError('D1 atomic batch failed', error);
|
|
207
241
|
}
|
|
208
242
|
},
|
|
209
243
|
async runReadSession(constraint, fn) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1RemoteAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1RemoteAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"D1RemoteAdapter.d.ts","sourceRoot":"","sources":["../../../../src/orm/adapters/D1RemoteAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,sBAAsB,CAAC;AA0T1F,eAAO,MAAM,eAAe;oBACV,cAAc,GAAG,gBAAgB;EAgBjD,CAAC;AAEH,eAAe,eAAe,CAAC"}
|
|
@@ -167,14 +167,11 @@ const createPingMethod = (getConnected, methods) => async () => {
|
|
|
167
167
|
const sql = QueryBuilder.create('').select('1').toSQL();
|
|
168
168
|
await methods.queryOne(sql, []);
|
|
169
169
|
};
|
|
170
|
-
const createTransactionMethod = (getConnected
|
|
170
|
+
const createTransactionMethod = (getConnected) =>
|
|
171
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
172
|
+
async (_callback) => {
|
|
171
173
|
requireConnected(getConnected);
|
|
172
|
-
|
|
173
|
-
return await callback(methods);
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
throw ErrorFactory.createTryCatchError('Transaction failed', error);
|
|
177
|
-
}
|
|
174
|
+
throw ErrorFactory.createConfigError('D1 Remote does not support atomic callback transactions or batches');
|
|
178
175
|
};
|
|
179
176
|
const createEnsureMigrationsTableMethod = (getConnected, methods) => async () => {
|
|
180
177
|
requireConnected(getConnected);
|
|
@@ -203,7 +200,7 @@ const createAdapterMethods = (getConnected, setConnected, mode, remote) => {
|
|
|
203
200
|
methods.query = createQueryMethod(getConnected, mode, remote);
|
|
204
201
|
methods.queryOne = createQueryOneMethod(getConnected, mode, remote);
|
|
205
202
|
methods.ping = createPingMethod(getConnected, methods);
|
|
206
|
-
methods.transaction = createTransactionMethod(getConnected
|
|
203
|
+
methods.transaction = createTransactionMethod(getConnected);
|
|
207
204
|
methods.ensureMigrationsTable = createEnsureMigrationsTableMethod(getConnected, methods);
|
|
208
205
|
methods.rawQuery = createRawQueryMethod(methods);
|
|
209
206
|
methods.getType = () => AdaptersEnum.d1Remote;
|
package/src/orm-index.d.ts
CHANGED
|
@@ -8,11 +8,11 @@ export { DatabaseConnectionRegistry } from './orm/DatabaseConnectionRegistry.js'
|
|
|
8
8
|
export { Model } from './orm/Model.js';
|
|
9
9
|
export type { DefinedModel, IModel, ModelConfig, ModelStatic } from './orm/Model.js';
|
|
10
10
|
export { QueryBuilder } from './orm/QueryBuilder.js';
|
|
11
|
-
export type { IJoinOnBuilder, InsertResult, IQueryBuilder, JoinOnInput, LatestPerOptions, PaginationOptions, } from './orm/QueryBuilder.js';
|
|
11
|
+
export type { IJoinOnBuilder, InsertIfAbsentResult, InsertResult, IQueryBuilder, JoinOnInput, LatestPerOptions, PaginationOptions, } from './orm/QueryBuilder.js';
|
|
12
12
|
export type { IRelationship } from './orm/Relationships.js';
|
|
13
13
|
export { DatabaseAdapterRegistry } from './orm/DatabaseAdapterRegistry.js';
|
|
14
14
|
export { BaseAdapter } from './orm/DatabaseAdapter.js';
|
|
15
|
-
export type { DatabaseConfig, ID1Database, IDatabaseAdapter, QueryResult, } from './orm/DatabaseAdapter.js';
|
|
15
|
+
export type { DatabaseConfig, BatchStatement, ID1Database, IDatabaseAdapter, QueryResult, } from './orm/DatabaseAdapter.js';
|
|
16
16
|
export { registerDatabasesFromRuntimeConfig } from './orm/DatabaseRuntimeRegistration.js';
|
|
17
17
|
export { MySQLAdapter } from './orm/adapters/MySQLAdapter.js';
|
|
18
18
|
export { PostgreSQLAdapter } from './orm/adapters/PostgreSQLAdapter.js';
|
package/src/orm-index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orm-index.d.ts","sourceRoot":"","sources":["../../src/orm-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,SAAS,IAAI,aAAa,GAC3B,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"orm-index.d.ts","sourceRoot":"","sources":["../../src/orm-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,SAAS,IAAI,aAAa,GAC3B,MAAM,qBAAqB,CAAC"}
|
package/src/runtime-index.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export { ValidationMiddleware } from './middleware/ValidationMiddleware.js';
|
|
|
43
43
|
export { createPaginator, getNextPageUrl, getPrevPageUrl, Paginator } from './database/Paginator.js';
|
|
44
44
|
export type { CreatePaginatorInput, PaginationLinks, PaginationQuery, Paginator as PaginatorType, } from './database/Paginator.js';
|
|
45
45
|
export { Database, DatabaseConnectionRegistry, Model, QueryBuilder, resetDatabase, useDatabase, useEnsureDbConnected, } from './orm-index.js';
|
|
46
|
-
export type { DefinedModel, IDatabase, IJoinOnBuilder, IModel, InsertResult, IQueryBuilder, IRelationship, JoinOnInput, LatestPerOptions, ModelConfig, ModelStatic, PaginationOptions, } from './orm-index.js';
|
|
46
|
+
export type { BatchStatement, DefinedModel, IDatabase, IJoinOnBuilder, IModel, InsertIfAbsentResult, InsertResult, IQueryBuilder, IRelationship, JoinOnInput, LatestPerOptions, ModelConfig, ModelStatic, PaginationOptions, } from './orm-index.js';
|
|
47
47
|
export { DateTime } from './time/DateTime.js';
|
|
48
48
|
export type { IDateTime } from './time/DateTime.js';
|
|
49
49
|
export { ValidationError } from './validation/ValidationError.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-index.d.ts","sourceRoot":"","sources":["../../src/runtime-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-index.d.ts","sourceRoot":"","sources":["../../src/runtime-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ZinTrust plugin auto-imports
|
|
3
|
+
*
|
|
4
|
+
* In real projects, this file is managed by `zin plugin install` and contains
|
|
5
|
+
* side-effect imports (e.g. `@zintrust/db-sqlite/register`) that register
|
|
6
|
+
* optional adapters/drivers into core registries.
|
|
7
|
+
*
|
|
5
8
|
*/
|
|
6
9
|
export type {};
|
|
7
10
|
export declare const __zintrustGeneratedPluginStub = "zintrust.plugins.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zintrust.plugins.d.ts","sourceRoot":"","sources":["../../src/zintrust.plugins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"zintrust.plugins.d.ts","sourceRoot":"","sources":["../../src/zintrust.plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,YAAY,EAAE,CAAC;AAgBf,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;;AACnE,wBAAkB"}
|
package/src/zintrust.plugins.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ZinTrust plugin auto-imports
|
|
3
|
+
*
|
|
4
|
+
* In real projects, this file is managed by `zin plugin install` and contains
|
|
5
|
+
* side-effect imports (e.g. `@zintrust/db-sqlite/register`) that register
|
|
6
|
+
* optional adapters/drivers into core registries.
|
|
7
|
+
*
|
|
5
8
|
*/
|
|
6
9
|
import * as TraceRuntime from './runtime/plugins/trace-runtime.js';
|
|
7
10
|
globalThis.__zintrust_system_trace_plugin_requested__ = true;
|