forge-sql-orm 2.1.15 → 2.1.16

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.
Files changed (48) hide show
  1. package/README.md +4 -0
  2. package/dist/core/ForgeSQLQueryBuilder.d.ts +2 -3
  3. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  4. package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
  5. package/dist/core/ForgeSQLSelectOperations.d.ts +2 -1
  6. package/dist/core/ForgeSQLSelectOperations.d.ts.map +1 -1
  7. package/dist/core/ForgeSQLSelectOperations.js.map +1 -1
  8. package/dist/core/Rovo.d.ts +40 -0
  9. package/dist/core/Rovo.d.ts.map +1 -1
  10. package/dist/core/Rovo.js +164 -138
  11. package/dist/core/Rovo.js.map +1 -1
  12. package/dist/index.d.ts +1 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +3 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -1
  17. package/dist/lib/drizzle/extensions/additionalActions.js +72 -22
  18. package/dist/lib/drizzle/extensions/additionalActions.js.map +1 -1
  19. package/dist/utils/cacheTableUtils.d.ts +11 -0
  20. package/dist/utils/cacheTableUtils.d.ts.map +1 -0
  21. package/dist/utils/cacheTableUtils.js +450 -0
  22. package/dist/utils/cacheTableUtils.js.map +1 -0
  23. package/dist/utils/cacheUtils.d.ts.map +1 -1
  24. package/dist/utils/cacheUtils.js +3 -22
  25. package/dist/utils/cacheUtils.js.map +1 -1
  26. package/dist/utils/forgeDriver.d.ts.map +1 -1
  27. package/dist/utils/forgeDriver.js +5 -12
  28. package/dist/utils/forgeDriver.js.map +1 -1
  29. package/dist/utils/metadataContextUtils.d.ts.map +1 -1
  30. package/dist/utils/metadataContextUtils.js +53 -31
  31. package/dist/utils/metadataContextUtils.js.map +1 -1
  32. package/dist/utils/sqlUtils.d.ts +1 -0
  33. package/dist/utils/sqlUtils.d.ts.map +1 -1
  34. package/dist/utils/sqlUtils.js +217 -119
  35. package/dist/utils/sqlUtils.js.map +1 -1
  36. package/dist/webtriggers/applyMigrationsWebTrigger.js +1 -1
  37. package/package.json +9 -9
  38. package/src/core/ForgeSQLQueryBuilder.ts +2 -2
  39. package/src/core/ForgeSQLSelectOperations.ts +2 -1
  40. package/src/core/Rovo.ts +209 -167
  41. package/src/index.ts +1 -3
  42. package/src/lib/drizzle/extensions/additionalActions.ts +98 -42
  43. package/src/utils/cacheTableUtils.ts +511 -0
  44. package/src/utils/cacheUtils.ts +3 -25
  45. package/src/utils/forgeDriver.ts +5 -11
  46. package/src/utils/metadataContextUtils.ts +49 -26
  47. package/src/utils/sqlUtils.ts +298 -142
  48. package/src/webtriggers/applyMigrationsWebTrigger.ts +1 -1
@@ -62,34 +62,33 @@ const parseDateTime = (value, format) => {
62
62
  };
63
63
  exports.parseDateTime = parseDateTime;
64
64
  /**
65
- * Helper function to validate and format a date-like value using Luxon DateTime.
66
- * @param value - Date object, ISO/RFC2822/SQL/HTTP string, or timestamp (number|string).
67
- * @param format - DateTime format string (Luxon format tokens).
68
- * @returns Formatted date string.
69
- * @throws Error if value cannot be parsed as a valid date.
65
+ * Parses a string value into DateTime using multiple format parsers
70
66
  */
71
- function formatDateTime(value, format, isTimeStamp) {
67
+ function parseStringToDateTime(value) {
68
+ const parsers = [luxon_1.DateTime.fromISO, luxon_1.DateTime.fromRFC2822, luxon_1.DateTime.fromSQL, luxon_1.DateTime.fromHTTP];
69
+ for (const parser of parsers) {
70
+ const dt = parser(value);
71
+ if (dt.isValid) {
72
+ return dt;
73
+ }
74
+ }
75
+ // Try parsing as number string
76
+ const parsed = Number(value);
77
+ if (!Number.isNaN(parsed)) {
78
+ return luxon_1.DateTime.fromMillis(parsed);
79
+ }
80
+ return null;
81
+ }
82
+ /**
83
+ * Converts a value to DateTime
84
+ */
85
+ function valueToDateTime(value) {
72
86
  let dt = null;
73
87
  if (value instanceof Date) {
74
88
  dt = luxon_1.DateTime.fromJSDate(value);
75
89
  }
76
90
  else if (typeof value === "string") {
77
- for (const parser of [
78
- luxon_1.DateTime.fromISO,
79
- luxon_1.DateTime.fromRFC2822,
80
- luxon_1.DateTime.fromSQL,
81
- luxon_1.DateTime.fromHTTP,
82
- ]) {
83
- dt = parser(value);
84
- if (dt.isValid)
85
- break;
86
- }
87
- if (!dt?.isValid) {
88
- const parsed = Number(value);
89
- if (!Number.isNaN(parsed)) {
90
- dt = luxon_1.DateTime.fromMillis(parsed);
91
- }
92
- }
91
+ dt = parseStringToDateTime(value);
93
92
  }
94
93
  else if (typeof value === "number") {
95
94
  dt = luxon_1.DateTime.fromMillis(value);
@@ -100,15 +99,33 @@ function formatDateTime(value, format, isTimeStamp) {
100
99
  if (!dt?.isValid) {
101
100
  throw new Error("Invalid Date");
102
101
  }
102
+ return dt;
103
+ }
104
+ /**
105
+ * Validates timestamp range for Atlassian Forge compatibility
106
+ */
107
+ function validateTimestampRange(dt) {
103
108
  const minDate = luxon_1.DateTime.fromSeconds(1);
104
109
  const maxDate = luxon_1.DateTime.fromMillis(2147483647 * 1000); // 2038-01-19 03:14:07.999 UTC
110
+ if (dt < minDate) {
111
+ throw new Error("Atlassian Forge does not support zero or negative timestamps. Allowed range: from '1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'.");
112
+ }
113
+ if (dt > maxDate) {
114
+ throw new Error("Atlassian Forge does not support timestamps beyond 2038-01-19 03:14:07.999999. Please use a smaller date within the supported range.");
115
+ }
116
+ }
117
+ /**
118
+ * Helper function to validate and format a date-like value using Luxon DateTime.
119
+ * @param value - Date object, ISO/RFC2822/SQL/HTTP string, or timestamp (number|string).
120
+ * @param format - DateTime format string (Luxon format tokens).
121
+ * @param isTimeStamp - Whether to validate timestamp range
122
+ * @returns Formatted date string.
123
+ * @throws Error if value cannot be parsed as a valid date.
124
+ */
125
+ function formatDateTime(value, format, isTimeStamp) {
126
+ const dt = valueToDateTime(value);
105
127
  if (isTimeStamp) {
106
- if (dt < minDate) {
107
- throw new Error("Atlassian Forge does not support zero or negative timestamps. Allowed range: from '1970-01-01 00:00:01.000000' to '2038-01-19 03:14:07.999999'.");
108
- }
109
- if (dt > maxDate) {
110
- throw new Error("Atlassian Forge does not support timestamps beyond 2038-01-19 03:14:07.999999. Please use a smaller date within the supported range.");
111
- }
128
+ validateTimestampRange(dt);
112
129
  }
113
130
  return dt.toFormat(format);
114
131
  }
@@ -142,6 +159,65 @@ function getPrimaryKeys(table) {
142
159
  }
143
160
  return [];
144
161
  }
162
+ /**
163
+ * Processes foreign keys from foreignKeysSymbol
164
+ */
165
+ function processForeignKeysFromSymbol(table, foreignKeysSymbol) {
166
+ const foreignKeys = [];
167
+ // @ts-ignore
168
+ const fkArray = table[foreignKeysSymbol];
169
+ if (!fkArray) {
170
+ return foreignKeys;
171
+ }
172
+ for (const fk of fkArray) {
173
+ if (fk.reference) {
174
+ const item = fk.reference(fk);
175
+ foreignKeys.push(item);
176
+ }
177
+ }
178
+ return foreignKeys;
179
+ }
180
+ /**
181
+ * Extracts config builders from config builder data
182
+ */
183
+ function extractConfigBuilders(configBuilderData) {
184
+ if (Array.isArray(configBuilderData)) {
185
+ return configBuilderData;
186
+ }
187
+ return Object.values(configBuilderData).map((item) => item.value ?? item);
188
+ }
189
+ /**
190
+ * Checks if a builder is a ForeignKeyBuilder
191
+ */
192
+ function isForeignKeyBuilder(builder) {
193
+ if (!builder?.constructor) {
194
+ return false;
195
+ }
196
+ const builderName = builder.constructor.name.toLowerCase();
197
+ return builderName.includes("foreignkeybuilder");
198
+ }
199
+ /**
200
+ * Processes foreign keys from extraSymbol
201
+ */
202
+ function processForeignKeysFromExtra(table, extraSymbol) {
203
+ const foreignKeys = [];
204
+ // @ts-ignore
205
+ const extraConfigBuilder = table[extraSymbol];
206
+ if (!extraConfigBuilder || typeof extraConfigBuilder !== "function") {
207
+ return foreignKeys;
208
+ }
209
+ const configBuilderData = extraConfigBuilder(table);
210
+ if (!configBuilderData) {
211
+ return foreignKeys;
212
+ }
213
+ const configBuilders = extractConfigBuilders(configBuilderData);
214
+ for (const builder of configBuilders) {
215
+ if (isForeignKeyBuilder(builder)) {
216
+ foreignKeys.push(builder);
217
+ }
218
+ }
219
+ return foreignKeys;
220
+ }
145
221
  /**
146
222
  * Processes foreign keys from both foreignKeysSymbol and extraSymbol
147
223
  * @param table - The table schema
@@ -153,51 +229,85 @@ function processForeignKeys(table, foreignKeysSymbol, extraSymbol) {
153
229
  const foreignKeys = [];
154
230
  // Process foreign keys from foreignKeysSymbol
155
231
  if (foreignKeysSymbol) {
156
- // @ts-ignore
157
- const fkArray = table[foreignKeysSymbol];
158
- if (fkArray) {
159
- for (const fk of fkArray) {
160
- if (fk.reference) {
161
- const item = fk.reference(fk);
162
- foreignKeys.push(item);
163
- }
164
- }
165
- }
232
+ foreignKeys.push(...processForeignKeysFromSymbol(table, foreignKeysSymbol));
166
233
  }
167
234
  // Process foreign keys from extraSymbol
168
235
  if (extraSymbol) {
169
- // @ts-ignore
170
- const extraConfigBuilder = table[extraSymbol];
171
- if (extraConfigBuilder && typeof extraConfigBuilder === "function") {
172
- const configBuilderData = extraConfigBuilder(table);
173
- if (configBuilderData) {
174
- const configBuilders = Array.isArray(configBuilderData)
175
- ? configBuilderData
176
- : Object.values(configBuilderData).map((item) => item.value ?? item);
177
- for (const builder of configBuilders) {
178
- if (!builder?.constructor)
179
- continue;
180
- const builderName = builder.constructor.name.toLowerCase();
181
- if (builderName.includes("foreignkeybuilder")) {
182
- foreignKeys.push(builder);
183
- }
184
- }
185
- }
186
- }
236
+ foreignKeys.push(...processForeignKeysFromExtra(table, extraSymbol));
187
237
  }
188
238
  return foreignKeys;
189
239
  }
240
+ /**
241
+ * Extracts symbols from table schema.
242
+ * @param table - The table schema
243
+ * @returns Object containing relevant symbols
244
+ */
245
+ function extractTableSymbols(table) {
246
+ const symbols = Object.getOwnPropertySymbols(table);
247
+ return {
248
+ nameSymbol: symbols.find((s) => s.toString().includes("Name")),
249
+ columnsSymbol: symbols.find((s) => s.toString().includes("Columns")),
250
+ foreignKeysSymbol: symbols.find((s) => s.toString().includes("ForeignKeys)")),
251
+ extraSymbol: symbols.find((s) => s.toString().includes("ExtraConfigBuilder")),
252
+ };
253
+ }
254
+ /**
255
+ * Maps builder to appropriate array based on its type.
256
+ * @param builder - The builder object
257
+ * @param builders - The builders object containing all arrays
258
+ * @returns True if builder was added to a specific array, false otherwise
259
+ */
260
+ function addBuilderToTypedArray(builder, builders) {
261
+ if (!builder?.constructor) {
262
+ return false;
263
+ }
264
+ const builderName = builder.constructor.name.toLowerCase();
265
+ const builderMap = {
266
+ indexbuilder: builders.indexes,
267
+ checkbuilder: builders.checks,
268
+ primarykeybuilder: builders.primaryKeys,
269
+ uniqueconstraintbuilder: builders.uniqueConstraints,
270
+ };
271
+ for (const [type, array] of Object.entries(builderMap)) {
272
+ if (builderName.includes(type)) {
273
+ array.push(builder);
274
+ return true;
275
+ }
276
+ }
277
+ return false;
278
+ }
279
+ /**
280
+ * Processes extra configuration builders and adds them to the builders object.
281
+ * @param table - The table schema
282
+ * @param extraSymbol - The extra symbol from table
283
+ * @param builders - The builders object to populate
284
+ */
285
+ function processExtraConfigBuilders(table, extraSymbol, builders) {
286
+ if (!extraSymbol) {
287
+ return;
288
+ }
289
+ // @ts-ignore
290
+ const extraConfigBuilder = table[extraSymbol];
291
+ if (!extraConfigBuilder || typeof extraConfigBuilder !== "function") {
292
+ return;
293
+ }
294
+ const configBuilderData = extraConfigBuilder(table);
295
+ if (!configBuilderData) {
296
+ return;
297
+ }
298
+ const configBuilders = extractConfigBuilders(configBuilderData);
299
+ for (const builder of configBuilders) {
300
+ addBuilderToTypedArray(builder, builders);
301
+ builders.extras.push(builder);
302
+ }
303
+ }
190
304
  /**
191
305
  * Extracts table metadata from the schema.
192
306
  * @param {AnyMySqlTable} table - The table schema
193
307
  * @returns {MetadataInfo} Object containing table metadata
194
308
  */
195
309
  function getTableMetadata(table) {
196
- const symbols = Object.getOwnPropertySymbols(table);
197
- const nameSymbol = symbols.find((s) => s.toString().includes("Name"));
198
- const columnsSymbol = symbols.find((s) => s.toString().includes("Columns"));
199
- const foreignKeysSymbol = symbols.find((s) => s.toString().includes("ForeignKeys)"));
200
- const extraSymbol = symbols.find((s) => s.toString().includes("ExtraConfigBuilder"));
310
+ const { nameSymbol, columnsSymbol, foreignKeysSymbol, extraSymbol } = extractTableSymbols(table);
201
311
  // Initialize builders arrays
202
312
  const builders = {
203
313
  indexes: [],
@@ -210,41 +320,7 @@ function getTableMetadata(table) {
210
320
  // Process foreign keys
211
321
  builders.foreignKeys = processForeignKeys(table, foreignKeysSymbol, extraSymbol);
212
322
  // Process extra configuration if available
213
- if (extraSymbol) {
214
- // @ts-ignore
215
- const extraConfigBuilder = table[extraSymbol];
216
- if (extraConfigBuilder && typeof extraConfigBuilder === "function") {
217
- const configBuilderData = extraConfigBuilder(table);
218
- if (configBuilderData) {
219
- // Convert configBuilderData to array if it's an object
220
- const configBuilders = Array.isArray(configBuilderData)
221
- ? configBuilderData
222
- : Object.values(configBuilderData).map((item) => item.value ?? item);
223
- // Process each builder
224
- for (const builder of configBuilders) {
225
- if (!builder?.constructor)
226
- continue;
227
- const builderName = builder.constructor.name.toLowerCase();
228
- // Map builder types to their corresponding arrays
229
- const builderMap = {
230
- indexbuilder: builders.indexes,
231
- checkbuilder: builders.checks,
232
- primarykeybuilder: builders.primaryKeys,
233
- uniqueconstraintbuilder: builders.uniqueConstraints,
234
- };
235
- // Add builder to appropriate array if it matches any type
236
- for (const [type, array] of Object.entries(builderMap)) {
237
- if (builderName.includes(type)) {
238
- array.push(builder);
239
- break;
240
- }
241
- }
242
- // Always add to extras array
243
- builders.extras.push(builder);
244
- }
245
- }
246
- }
247
- }
323
+ processExtraConfigBuilders(table, extraSymbol, builders);
248
324
  return {
249
325
  tableName: nameSymbol ? table[nameSymbol] : "",
250
326
  columns: columnsSymbol ? table[columnsSymbol] : {},
@@ -322,35 +398,57 @@ function mapSelectFieldsWithAlias(fields) {
322
398
  }
323
399
  const aliasMap = {};
324
400
  const selections = {};
325
- for (let i = 0; i < Object.entries(fields).length; i++) {
326
- const [name, fields1] = Object.entries(fields)[i];
401
+ for (const [name, fields1] of Object.entries(fields)) {
327
402
  mapSelectAllFieldsToAlias(selections, name, name, fields1, aliasMap);
328
403
  }
329
404
  return { selections, aliasMap };
330
405
  }
331
- function getAliasFromDrizzleAlias(value) {
332
- const isSQL = value !== null && typeof value === "object" && (0, sql_1.isSQLWrapper)(value) && "queryChunks" in value;
333
- if (isSQL) {
334
- const sql = value;
335
- const queryChunks = sql.queryChunks;
336
- if (queryChunks.length > 3) {
337
- const aliasNameChunk = queryChunks[queryChunks.length - 2];
338
- if ((0, sql_1.isSQLWrapper)(aliasNameChunk) && "queryChunks" in aliasNameChunk) {
339
- const aliasNameChunkSql = aliasNameChunk;
340
- if (aliasNameChunkSql.queryChunks?.length === 1 && aliasNameChunkSql.queryChunks[0]) {
341
- const queryChunksStringChunc = aliasNameChunkSql.queryChunks[0];
342
- if ("value" in queryChunksStringChunc) {
343
- const values = queryChunksStringChunc.value;
344
- if (values && values.length === 1) {
345
- return values[0];
346
- }
347
- }
348
- }
349
- }
350
- }
406
+ /**
407
+ * Checks if value is a SQL object with queryChunks
408
+ */
409
+ function isSQLValue(value) {
410
+ return (value !== null && typeof value === "object" && (0, sql_1.isSQLWrapper)(value) && "queryChunks" in value);
411
+ }
412
+ /**
413
+ * Extracts the alias name chunk from query chunks if it exists and is a SQL object
414
+ */
415
+ function getAliasNameChunk(queryChunks) {
416
+ if (queryChunks.length <= 3) {
417
+ return undefined;
418
+ }
419
+ const aliasNameChunk = queryChunks.at(-2);
420
+ if ((0, sql_1.isSQLWrapper)(aliasNameChunk) && "queryChunks" in aliasNameChunk) {
421
+ return aliasNameChunk;
351
422
  }
352
423
  return undefined;
353
424
  }
425
+ /**
426
+ * Extracts string value from a SQL chunk if it contains a single string value
427
+ */
428
+ function extractStringValueFromChunk(chunk) {
429
+ if (chunk.queryChunks?.length !== 1 || !chunk.queryChunks[0]) {
430
+ return undefined;
431
+ }
432
+ const stringChunk = chunk.queryChunks[0];
433
+ if (!("value" in stringChunk)) {
434
+ return undefined;
435
+ }
436
+ const values = stringChunk.value;
437
+ if (values?.length === 1) {
438
+ return values[0];
439
+ }
440
+ return undefined;
441
+ }
442
+ function getAliasFromDrizzleAlias(value) {
443
+ if (!isSQLValue(value)) {
444
+ return undefined;
445
+ }
446
+ const aliasNameChunk = getAliasNameChunk(value.queryChunks);
447
+ if (!aliasNameChunk) {
448
+ return undefined;
449
+ }
450
+ return extractStringValueFromChunk(aliasNameChunk);
451
+ }
354
452
  function transformValue(value, alias, aliasMap) {
355
453
  const column = aliasMap[alias];
356
454
  if (!column)
@@ -585,6 +683,6 @@ async function withTimeout(promise, message, timeoutMs) {
585
683
  function withTidbHint(column) {
586
684
  // We lie a bit to TypeScript here: at runtime this is a new SQL fragment,
587
685
  // but returning TExpr keeps the column type info in downstream inference.
588
- return (0, drizzle_orm_1.sql) `/*+ SET_VAR(tidb_session_alias=${drizzle_orm_1.sql.raw(`${SESSION_ALIAS_NAME_ORM}`)}) */ ${column}`;
686
+ return (0, drizzle_orm_1.sql) `/*+ SET_VAR(tidb_session_alias=${drizzle_orm_1.sql.raw(SESSION_ALIAS_NAME_ORM)}) */ ${column}`;
589
687
  }
590
688
  //# sourceMappingURL=sqlUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlUtils.js","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlUtils.js","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ const applySchemaMigrations = async (migration) => {
44
44
  if (Array.isArray(migrationList) && migrationList.length > 0) {
45
45
  const sortedMigrations = migrationList.toSorted((a, b) => a.migratedAt.getTime() - b.migratedAt.getTime());
46
46
  migrationHistory = sortedMigrations
47
- .map((y) => `${y.id}, ${y.name}, ${y.migratedAt.toUTCString()}`)
47
+ .map((y) => `${y.id}, ${y.name}, ${y.migratedAt.toISOString()}`)
48
48
  .join("\n");
49
49
  }
50
50
  // eslint-disable-next-line no-console
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forge-sql-orm",
3
- "version": "2.1.15",
3
+ "version": "2.1.16",
4
4
  "description": "Drizzle ORM integration for Atlassian @forge/sql. Provides a custom driver, schema migration, two levels of caching (local and global via @forge/kvs), optimistic locking, and query analysis.",
5
5
  "main": "dist/index.js",
6
6
  "homepage": "https://github.com/vzakharchenko/forge-sql-orm#readme",
@@ -28,22 +28,22 @@
28
28
  "@eslint/js": "^9.39.1",
29
29
  "@types/luxon": "^3.7.1",
30
30
  "@types/node": "^24.10.1",
31
- "@typescript-eslint/eslint-plugin": "^8.48.0",
32
- "@typescript-eslint/parser": "^8.48.0",
33
- "@vitest/coverage-v8": "^4.0.14",
34
- "@vitest/ui": "^4.0.14",
31
+ "@typescript-eslint/eslint-plugin": "^8.48.1",
32
+ "@typescript-eslint/parser": "^8.48.1",
33
+ "@vitest/coverage-v8": "^4.0.15",
34
+ "@vitest/ui": "^4.0.15",
35
35
  "eslint": "^9.39.1",
36
36
  "eslint-config-prettier": "^10.1.8",
37
37
  "eslint-plugin-import": "^2.32.0",
38
38
  "eslint-plugin-vitest": "^0.5.4",
39
39
  "husky": "^9.1.7",
40
- "knip": "^5.70.2",
40
+ "knip": "^5.71.0",
41
41
  "patch-package": "^8.0.1",
42
- "prettier": "^3.7.2",
42
+ "prettier": "^3.7.4",
43
43
  "ts-node": "^10.9.2",
44
44
  "typescript": "^5.9.3",
45
45
  "uuid": "^13.0.0",
46
- "vitest": "^4.0.14"
46
+ "vitest": "^4.0.15"
47
47
  },
48
48
  "license": "MIT",
49
49
  "author": "Vasyl Zakharchenko",
@@ -72,7 +72,7 @@
72
72
  ],
73
73
  "peerDependencies": {
74
74
  "@forge/sql": "^3.0.12",
75
- "drizzle-orm": "^0.44.7"
75
+ "drizzle-orm": "^0.45.0"
76
76
  },
77
77
  "optionalDependencies": {
78
78
  "@forge/kvs": "^1.2.0"
@@ -6,6 +6,7 @@ import {
6
6
  customType,
7
7
  MySqlSelectBuilder,
8
8
  MySqlTable,
9
+ MySqlColumn,
9
10
  } from "drizzle-orm/mysql-core";
10
11
  import {
11
12
  MySqlSelectDynamic,
@@ -56,7 +57,6 @@ import { SQLWrapper } from "drizzle-orm/sql/sql";
56
57
  import type { MySqlQueryResultKind } from "drizzle-orm/mysql-core/session";
57
58
  import type { WithBuilder } from "drizzle-orm/mysql-core/subquery";
58
59
  import { WithSubquery } from "drizzle-orm/subquery";
59
- import { MySqlColumn } from "drizzle-orm/mysql-core";
60
60
  import { MetadataQueryOptions } from "../utils/metadataContextUtils";
61
61
 
62
62
  /**
@@ -1025,7 +1025,7 @@ export interface SchemaSqlForgeSql {
1025
1025
  * @returns {Promise<T[]>} A list of results as objects
1026
1026
  * @throws {Error} If the query execution fails
1027
1027
  */
1028
- executeRawSQL<T extends object | unknown>(query: string, params?: SqlParameters[]): Promise<T[]>;
1028
+ executeRawSQL<T>(query: string, params?: SqlParameters[]): Promise<T[]>;
1029
1029
 
1030
1030
  /**
1031
1031
  * Executes a raw SQL update query.
@@ -4,6 +4,7 @@ import {
4
4
  AnyMySqlSelectQueryBuilder,
5
5
  MySqlSelectDynamic,
6
6
  } from "drizzle-orm/mysql-core/query-builders/select.types";
7
+ import { SqlParameters } from "@forge/sql/out/sql-statement";
7
8
 
8
9
  /**
9
10
  * Class implementing SQL select operations for ForgeSQL ORM.
@@ -55,7 +56,7 @@ export class ForgeSQLSelectOperations implements SchemaSqlForgeSql {
55
56
  * @param {SqlParameters[]} [params] - Optional SQL parameters
56
57
  * @returns {Promise<T[]>} A list of results as objects
57
58
  */
58
- async executeRawSQL<T extends object | unknown>(query: string, params?: unknown[]): Promise<T[]> {
59
+ async executeRawSQL<T>(query: string, params?: SqlParameters[]): Promise<T[]> {
59
60
  if (this.options.logRawSqlQuery) {
60
61
  const paramsStr = params ? `, with params: ${JSON.stringify(params)}` : "";
61
62
  // eslint-disable-next-line no-console