forge-sql-orm 2.1.23 → 2.1.25

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 (54) hide show
  1. package/README.md +46 -23
  2. package/dist/core/ForgeSQLAnalyseOperations.d.ts +4 -0
  3. package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -1
  4. package/dist/core/ForgeSQLAnalyseOperations.js +17 -21
  5. package/dist/core/ForgeSQLAnalyseOperations.js.map +1 -1
  6. package/dist/core/ForgeSQLCrudOperations.d.ts +16 -0
  7. package/dist/core/ForgeSQLCrudOperations.d.ts.map +1 -1
  8. package/dist/core/ForgeSQLCrudOperations.js +60 -28
  9. package/dist/core/ForgeSQLCrudOperations.js.map +1 -1
  10. package/dist/core/ForgeSQLQueryBuilder.d.ts +15 -28
  11. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  12. package/dist/core/ForgeSQLQueryBuilder.js +20 -47
  13. package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
  14. package/dist/core/Rovo.d.ts +32 -0
  15. package/dist/core/Rovo.d.ts.map +1 -1
  16. package/dist/core/Rovo.js +116 -67
  17. package/dist/core/Rovo.js.map +1 -1
  18. package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -1
  19. package/dist/lib/drizzle/extensions/additionalActions.js +168 -118
  20. package/dist/lib/drizzle/extensions/additionalActions.js.map +1 -1
  21. package/dist/utils/cacheTableUtils.d.ts +0 -8
  22. package/dist/utils/cacheTableUtils.d.ts.map +1 -1
  23. package/dist/utils/cacheTableUtils.js +183 -126
  24. package/dist/utils/cacheTableUtils.js.map +1 -1
  25. package/dist/utils/cacheUtils.d.ts +13 -1
  26. package/dist/utils/cacheUtils.d.ts.map +1 -1
  27. package/dist/utils/cacheUtils.js +60 -47
  28. package/dist/utils/cacheUtils.js.map +1 -1
  29. package/dist/utils/forgeDriverProxy.d.ts.map +1 -1
  30. package/dist/utils/forgeDriverProxy.js +31 -20
  31. package/dist/utils/forgeDriverProxy.js.map +1 -1
  32. package/dist/utils/sqlHints.d.ts.map +1 -1
  33. package/dist/utils/sqlHints.js +19 -29
  34. package/dist/utils/sqlHints.js.map +1 -1
  35. package/dist/utils/sqlUtils.d.ts +0 -29
  36. package/dist/utils/sqlUtils.d.ts.map +1 -1
  37. package/dist/utils/sqlUtils.js +107 -78
  38. package/dist/utils/sqlUtils.js.map +1 -1
  39. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts +24 -4
  40. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts.map +1 -1
  41. package/dist/webtriggers/clearCacheSchedulerTrigger.js +24 -4
  42. package/dist/webtriggers/clearCacheSchedulerTrigger.js.map +1 -1
  43. package/package.json +9 -9
  44. package/src/core/ForgeSQLAnalyseOperations.ts +18 -21
  45. package/src/core/ForgeSQLCrudOperations.ts +83 -33
  46. package/src/core/ForgeSQLQueryBuilder.ts +59 -154
  47. package/src/core/Rovo.ts +158 -98
  48. package/src/lib/drizzle/extensions/additionalActions.ts +287 -382
  49. package/src/utils/cacheTableUtils.ts +202 -144
  50. package/src/utils/cacheUtils.ts +70 -47
  51. package/src/utils/forgeDriverProxy.ts +39 -21
  52. package/src/utils/sqlHints.ts +21 -26
  53. package/src/utils/sqlUtils.ts +151 -101
  54. package/src/webtriggers/clearCacheSchedulerTrigger.ts +24 -4
package/README.md CHANGED
@@ -19,6 +19,7 @@
19
19
  [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=forge-sql-orm_forge-sql-orm&metric=bugs)](https://sonarcloud.io/summary/new_code?id=forge-sql-orm_forge-sql-orm)
20
20
  [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=forge-sql-orm_forge-sql-orm&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=forge-sql-orm_forge-sql-orm)
21
21
  [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=forge-sql-orm_forge-sql-orm&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=forge-sql-orm_forge-sql-orm)
22
+ [![Maintainability](https://qlty.sh/gh/forge-sql-orm/projects/forge-sql-orm/maintainability.svg)](https://qlty.sh/gh/forge-sql-orm/projects/forge-sql-orm)
22
23
 
23
24
  **Forge-SQL-ORM** is an ORM designed for working with [@forge/sql](https://developer.atlassian.com/platform/forge/storage-reference/sql-tutorial/) in **Atlassian Forge**. It is built on top of [Drizzle ORM](https://orm.drizzle.team) and provides advanced capabilities for working with relational databases inside Forge.
24
25
 
@@ -707,10 +708,12 @@ The diagram below shows how Evict Cache works in Forge-SQL-ORM:
707
708
 
708
709
  The diagram below shows how Scheduled Expiration Cleanup works:
709
710
 
711
+ **Note:** forge-sql-orm uses Forge KVS TTL feature (`{ ttl: { unit: "SECONDS", value: number } }`) to mark entries as expired. However, **actual deletion is asynchronous and may take up to 48 hours**. During this window, read operations may still return expired results. The scheduler trigger proactively cleans up expired entries to prevent cache growth from impacting INSERT/UPDATE performance.
712
+
710
713
  1. A periodic scheduler (Forge trigger) runs cache cleanup independently of data modifications.
711
714
  2. forge-sql-orm queries the cache entity by the expiration index to find entries with expiration < now.
712
715
  3. Entries are deleted in batches (up to 25 per transaction) until the page is empty; pagination is done with a cursor (e.g., 100 per page).
713
- 4. This keeps the cache footprint small and prevents stale data accumulation.
716
+ 4. This keeps the cache footprint small and prevents stale data accumulation, especially important when cache size impacts data modification performance.
714
717
 
715
718
  ![img.png](img/umlCacheEvictScheduler1.png)
716
719
 
@@ -733,6 +736,12 @@ The diagram below shows how Cache Context works:
733
736
  **@forge/kvs Limits:**
734
737
  Please review the [official @forge/kvs quotas and limits](https://developer.atlassian.com/platform/forge/platform-quotas-and-limits/#kvs-and-custom-entity-store-quotas) before implementing caching.
735
738
 
739
+ **TTL Limitations:**
740
+
741
+ - **Maximum TTL**: The maximum supported TTL is 1 year from the time the expiry is set.
742
+ - **Asynchronous deletion**: Expired data is not removed immediately upon expiry. Deletion may take up to 48 hours. During this window, read operations may still return expired results.
743
+ - **Performance impact**: If cache grows large, expired entries can impact INSERT/UPDATE performance. Use the Clear Cache Scheduler Trigger to proactively clean up expired entries.
744
+
736
745
  **Caching Guidelines:**
737
746
 
738
747
  - Don't cache everything - be selective about what to cache
@@ -740,6 +749,7 @@ Please review the [official @forge/kvs quotas and limits](https://developer.atla
740
749
  - Consider data size and frequency of changes
741
750
  - Monitor cache usage to stay within quotas
742
751
  - Use appropriate TTL values
752
+ - If cache growth impacts performance, configure the Clear Cache Scheduler Trigger
743
753
 
744
754
  **⚠️ Important Cache Limitations:**
745
755
 
@@ -753,10 +763,11 @@ npm install @forge/kvs -S
753
763
 
754
764
  ### Step 2: Configure Manifest
755
765
 
756
- Add the storage entity configuration and scheduler trigger to your `manifest.yml`:
766
+ Add the storage entity configuration to your `manifest.yml`. The `scheduledTrigger` is **optional** - only configure it if your cache grows large and impacts INSERT/UPDATE performance:
757
767
 
758
768
  ```yaml
759
769
  modules:
770
+ # Optional: Only needed if cache growth impacts INSERT/UPDATE performance
760
771
  scheduledTrigger:
761
772
  - key: clear-cache-trigger
762
773
  function: clearCache
@@ -813,7 +824,7 @@ const forgeSQL = new ForgeSQL(options);
813
824
  - The `cacheEntityName` must exactly match the `name` in your manifest storage entities
814
825
  - The entity attributes (`sql`, `expiration`, `data`) are required for proper cache functionality
815
826
  - Indexes on `sql` and `expiration` improve cache lookup performance
816
- - Cache data is automatically cleaned up based on TTL settings
827
+ - Cache data uses Forge KVS TTL for expiration (deletion is asynchronous, may take up to 48 hours)
817
828
  - No additional permissions are required beyond standard Forge app permissions
818
829
 
819
830
  ### Complete Setup Examples
@@ -861,6 +872,7 @@ npm install forge-sql-orm @forge/sql @forge/kvs drizzle-orm -S
861
872
 
862
873
  ```yaml
863
874
  modules:
875
+ # Optional: Only needed if cache growth impacts INSERT/UPDATE performance
864
876
  scheduledTrigger:
865
877
  - key: clear-cache-trigger
866
878
  function: clearCache
@@ -1680,7 +1692,7 @@ This multi-level approach provides optimal performance by checking the fastest c
1680
1692
 
1681
1693
  ### Cache Configuration
1682
1694
 
1683
- The caching system uses Atlassian Forge's Custom entity store to persist cache data. Each cache entry is stored as a custom entity with automatic TTL management and efficient key-based retrieval.
1695
+ The caching system uses Atlassian Forge's Custom entity store to persist cache data. Each cache entry is stored as a custom entity with TTL management via Forge KVS. Note that expired data deletion is asynchronous and may take up to 48 hours. If cache growth impacts INSERT/UPDATE performance, use the Clear Cache Scheduler Trigger for proactive cleanup.
1684
1696
 
1685
1697
  ```typescript
1686
1698
  const options = {
@@ -1705,7 +1717,7 @@ const forgeSQL = new ForgeSQL(options);
1705
1717
  The caching system leverages Forge's Custom entity store to provide:
1706
1718
 
1707
1719
  - **Persistent Storage**: Cache data survives app restarts and deployments
1708
- - **Automatic TTL**: Built-in expiration handling through Forge's entity lifecycle
1720
+ - **TTL Support**: Uses Forge KVS TTL feature for expiration (deletion is asynchronous, may take up to 48 hours)
1709
1721
  - **Efficient Retrieval**: Fast key-based lookups using Forge's optimized storage
1710
1722
  - **Data Serialization**: Automatic handling of complex objects and query results
1711
1723
  - **Batch Operations**: Efficient bulk cache operations for better performance
@@ -1904,18 +1916,18 @@ const userResolver = async (req) => {
1904
1916
 
1905
1917
  #### Local Cache (Level 1) vs Global Cache (Level 2)
1906
1918
 
1907
- | Feature | Local Cache (Level 1) | Global Cache (Level 2) |
1908
- | ------------------ | ------------------------------------- | ------------------------------------------- |
1909
- | **Storage** | In-memory (Node.js process) | Persistent (KVS Custom Entities) |
1910
- | **Scope** | Single forge invocation | Cross-invocation (between calls) |
1911
- | **Persistence** | No (cleared on invocation end) | Yes (survives app redeploy) |
1912
- | **Performance** | Very fast (memory access) | Fast (KVS optimized storage) |
1913
- | **Memory Usage** | Low (invocation-scoped) | Higher (persistent storage) |
1914
- | **Use Case** | Invocation optimization | Cross-invocation data sharing |
1915
- | **Configuration** | None required | Requires KVS setup |
1916
- | **TTL Support** | No (invocation-scoped) | Yes (automatic expiration) |
1917
- | **Cache Eviction** | Automatic on DML operations | Manual or scheduled cleanup |
1918
- | **Best For** | Repeated queries in single invocation | Frequently accessed data across invocations |
1919
+ | Feature | Local Cache (Level 1) | Global Cache (Level 2) |
1920
+ | ------------------ | ------------------------------------- | ------------------------------------------------------------------- |
1921
+ | **Storage** | In-memory (Node.js process) | Persistent (KVS Custom Entities) |
1922
+ | **Scope** | Single forge invocation | Cross-invocation (between calls) |
1923
+ | **Persistence** | No (cleared on invocation end) | Yes (survives app redeploy) |
1924
+ | **Performance** | Very fast (memory access) | Fast (KVS optimized storage) |
1925
+ | **Memory Usage** | Low (invocation-scoped) | Higher (persistent storage) |
1926
+ | **Use Case** | Invocation optimization | Cross-invocation data sharing |
1927
+ | **Configuration** | None required | Requires KVS setup |
1928
+ | **TTL Support** | No (invocation-scoped) | Yes (TTL via Forge KVS, async deletion up to 48h) |
1929
+ | **Cache Eviction** | Automatic on DML operations | Manual or scheduled cleanup (optional if cache impacts performance) |
1930
+ | **Best For** | Repeated queries in single invocation | Frequently accessed data across invocations |
1919
1931
 
1920
1932
  #### Integration with Global Cache (Level 2)
1921
1933
 
@@ -2518,12 +2530,22 @@ SET foreign_key_checks = 1;
2518
2530
 
2519
2531
  ### 4. Clear Cache Scheduler Trigger
2520
2532
 
2521
- This trigger automatically cleans up expired cache entries based on their TTL (Time To Live). It's useful for:
2533
+ This trigger automatically cleans up expired cache entries based on their TTL (Time To Live).
2534
+
2535
+ **⚠️ Important:** While Forge KVS uses TTL to mark entries as expired, **actual deletion is asynchronous and may take up to 48 hours**. During this window, read operations may still return expired results. If your cache grows large and impacts INSERT/UPDATE performance, you should use this scheduler trigger to proactively clean up expired entries.
2522
2536
 
2523
- - Automatic cache maintenance
2524
- - Preventing cache storage from growing indefinitely
2525
- - Ensuring optimal cache performance
2526
- - Reducing storage costs
2537
+ **When to use:**
2538
+
2539
+ - Your cache grows large over time
2540
+ - INSERT/UPDATE operations are slowing down due to cache size
2541
+ - You need strict expiry semantics (immediate cleanup)
2542
+ - You want to reduce storage costs proactively
2543
+
2544
+ **When optional:**
2545
+
2546
+ - Small cache footprint
2547
+ - No performance impact on data modifications
2548
+ - You can tolerate expired entries being returned for up to 48 hours
2527
2549
 
2528
2550
  ```typescript
2529
2551
  // Example usage in your Forge app
@@ -2536,9 +2558,10 @@ export const clearCache = () => {
2536
2558
  };
2537
2559
  ```
2538
2560
 
2539
- Configure in `manifest.yml`:
2561
+ Configure in `manifest.yml` (optional - only if cache growth impacts INSERT/UPDATE performance):
2540
2562
 
2541
2563
  ```yaml
2564
+ # Optional: Only needed if cache growth impacts INSERT/UPDATE performance
2542
2565
  scheduledTrigger:
2543
2566
  - key: clear-cache-trigger
2544
2567
  function: clearCache
@@ -168,6 +168,10 @@ export declare class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
168
168
  * @param {ForgeSqlOperation} forgeOperations - The ForgeSQL operations instance
169
169
  */
170
170
  constructor(forgeOperations: ForgeSqlOperation);
171
+ /**
172
+ * Maps decoded plan row to ExplainAnalyzeRow format.
173
+ */
174
+ private mapDecodedPlanRow;
171
175
  /**
172
176
  * Executes EXPLAIN on a raw SQL query.
173
177
  * @param {string} query - The SQL query to analyze
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLAnalyseOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLAnalyseOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeSQLAnalyseOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLAnalyseOperations.ts"],"names":[],"mappings":"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"}
@@ -18,16 +18,10 @@ class ForgeSQLAnalyseOperation {
18
18
  this.mapToCamelCaseClusterStatement = this.mapToCamelCaseClusterStatement.bind(this);
19
19
  }
20
20
  /**
21
- * Executes EXPLAIN on a raw SQL query.
22
- * @param {string} query - The SQL query to analyze
23
- * @param {unknown[]} bindParams - The query parameters
24
- * @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
21
+ * Maps decoded plan row to ExplainAnalyzeRow format.
25
22
  */
26
- async explainRaw(query, bindParams) {
27
- const results = await this.forgeOperations
28
- .fetch()
29
- .executeRawSQL(`EXPLAIN ${query}`, bindParams);
30
- return results.map((row) => ({
23
+ mapDecodedPlanRow(row) {
24
+ return {
31
25
  id: row.id,
32
26
  estRows: row.estRows,
33
27
  actRows: row.actRows,
@@ -37,7 +31,19 @@ class ForgeSQLAnalyseOperation {
37
31
  operatorInfo: row["operator info"],
38
32
  memory: row.memory,
39
33
  disk: row.disk,
40
- }));
34
+ };
35
+ }
36
+ /**
37
+ * Executes EXPLAIN on a raw SQL query.
38
+ * @param {string} query - The SQL query to analyze
39
+ * @param {unknown[]} bindParams - The query parameters
40
+ * @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
41
+ */
42
+ async explainRaw(query, bindParams) {
43
+ const results = await this.forgeOperations
44
+ .fetch()
45
+ .executeRawSQL(`EXPLAIN ${query}`, bindParams);
46
+ return results.map((row) => this.mapDecodedPlanRow(row));
41
47
  }
42
48
  /**
43
49
  * Executes EXPLAIN on a Drizzle query.
@@ -58,17 +64,7 @@ class ForgeSQLAnalyseOperation {
58
64
  const results = await this.forgeOperations
59
65
  .fetch()
60
66
  .executeRawSQL(`EXPLAIN ANALYZE ${query}`, bindParams);
61
- return results.map((row) => ({
62
- id: row.id,
63
- estRows: row.estRows,
64
- actRows: row.actRows,
65
- task: row.task,
66
- accessObject: row["access object"],
67
- executionInfo: row["execution info"],
68
- operatorInfo: row["operator info"],
69
- memory: row.memory,
70
- disk: row.disk,
71
- }));
67
+ return results.map((row) => this.mapDecodedPlanRow(row));
72
68
  }
73
69
  /**
74
70
  * Executes EXPLAIN ANALYZE on a Drizzle query.
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLAnalyseOperations.js","sourceRoot":"","sources":["../../src/core/ForgeSQLAnalyseOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeSQLAnalyseOperations.js","sourceRoot":"","sources":["../../src/core/ForgeSQLAnalyseOperations.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,18 @@ export declare class ForgeSQLCrudOperations implements VerioningModificationForg
93
93
  * @throws {Error} If no primary keys are found
94
94
  */
95
95
  private getPrimaryKeys;
96
+ /**
97
+ * Finds version field in columns by name.
98
+ */
99
+ private findVersionField;
100
+ /**
101
+ * Validates that version field is not nullable.
102
+ */
103
+ private validateVersionFieldNotNull;
104
+ /**
105
+ * Validates that version field type is supported.
106
+ */
107
+ private validateVersionFieldType;
96
108
  /**
97
109
  * Validates and retrieves version field metadata.
98
110
  * @param {string} tableName - The name of the table
@@ -120,6 +132,10 @@ export declare class ForgeSQLCrudOperations implements VerioningModificationForg
120
132
  * @returns {InferInsertModel<T>} The prepared model
121
133
  */
122
134
  private prepareModelWithVersion;
135
+ /**
136
+ * Calculates new version value based on field type.
137
+ */
138
+ private calculateNewVersionValue;
123
139
  /**
124
140
  * Prepares update data with version field.
125
141
  * @template T - The type of the table schema
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLCrudOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLCrudOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAsB,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIxE;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,6BAA6B;IAC1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C;;;;OAIG;gBACS,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB;IAK9E;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CAAC,CAAC,SAAS,aAAa,EAClC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC7B,cAAc,GAAE,OAAe,GAC9B,OAAO,CAAC,MAAM,CAAC;IA6BlB;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClF;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,UAAU,CAAC,CAAC,SAAS,aAAa,EACtC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACpC,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,MAAM,CAAC;IAwDlB;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,CAAC,SAAS,aAAa,EACxC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACxC,MAAM,EAAE,CAAC,EACT,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACnB,OAAO,CAAC,MAAM,CAAC;IAclB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAuD5B;;;;;;;;;OASG;YACW,iBAAiB;IAyB/B;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;;;;;;;OAQG;YACW,WAAW;CA2B1B"}
1
+ {"version":3,"file":"ForgeSQLCrudOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLCrudOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAsB,gBAAgB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIxE;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,6BAA6B;IAC1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C;;;;OAIG;gBACS,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB;IAK9E;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CAAC,CAAC,SAAS,aAAa,EAClC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC7B,cAAc,GAAE,OAAe,GAC9B,OAAO,CAAC,MAAM,CAAC;IA6BlB;;;;;;;;;;;;;;;;OAgBG;IACG,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClF;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,UAAU,CAAC,CAAC,SAAS,aAAa,EACtC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACpC,MAAM,EAAE,CAAC,GACR,OAAO,CAAC,MAAM,CAAC;IAwDlB;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,CAAC,SAAS,aAAa,EACxC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACxC,MAAM,EAAE,CAAC,EACT,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GACnB,OAAO,CAAC,MAAM,CAAC;IAclB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAenC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAmC5B;;;;;;;;;OASG;YACW,iBAAiB;IAyB/B;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;;;;;;OAQG;YACW,WAAW;CA2B1B"}
@@ -200,18 +200,9 @@ class ForgeSQLCrudOperations {
200
200
  return primaryKeys;
201
201
  }
202
202
  /**
203
- * Validates and retrieves version field metadata.
204
- * @param {string} tableName - The name of the table
205
- * @param {Record<string, AnyColumn>} columns - The table columns
206
- * @returns {Object | undefined} Version field metadata if valid, undefined otherwise
203
+ * Finds version field in columns by name.
207
204
  */
208
- validateVersionField(tableName, columns) {
209
- if (this.options.disableOptimisticLocking) {
210
- return undefined;
211
- }
212
- const versionMetadata = this.options.additionalMetadata?.[tableName]?.versionField;
213
- if (!versionMetadata)
214
- return undefined;
205
+ findVersionField(versionMetadata, columns) {
215
206
  let fieldName = versionMetadata.fieldName;
216
207
  let versionField = columns[versionMetadata.fieldName];
217
208
  if (!versionField) {
@@ -221,29 +212,62 @@ class ForgeSQLCrudOperations {
221
212
  versionField = find[1];
222
213
  }
223
214
  }
224
- if (!versionField) {
225
- // eslint-disable-next-line no-console
226
- console.warn(`Version field "${versionMetadata.fieldName}" not found in table ${tableName}. Versioning will be skipped.`);
227
- return undefined;
228
- }
215
+ return versionField ? { fieldName, field: versionField } : null;
216
+ }
217
+ /**
218
+ * Validates that version field is not nullable.
219
+ */
220
+ validateVersionFieldNotNull(versionMetadata, versionField, tableName) {
229
221
  if (!versionField.notNull) {
230
222
  // eslint-disable-next-line no-console
231
223
  console.warn(`Version field "${versionMetadata.fieldName}" in table ${tableName} is nullable. Versioning may not work correctly.`);
232
- return undefined;
224
+ return false;
233
225
  }
234
- const fieldType = versionField.getSQLType();
235
- const isSupportedType = fieldType === "datetime" ||
236
- fieldType === "timestamp" ||
237
- fieldType === "int" ||
238
- fieldType === "number" ||
239
- fieldType === "decimal";
226
+ return true;
227
+ }
228
+ /**
229
+ * Validates that version field type is supported.
230
+ */
231
+ validateVersionFieldType(versionMetadata, fieldType, tableName) {
232
+ const supportedTypes = ["datetime", "timestamp", "int", "number", "decimal"];
233
+ const isSupportedType = supportedTypes.includes(fieldType);
240
234
  if (!isSupportedType) {
241
235
  // eslint-disable-next-line no-console
242
236
  console.warn(`Version field "${versionMetadata.fieldName}" in table ${tableName} has unsupported type "${fieldType}". ` +
243
237
  `Only datetime, timestamp, int, and decimal types are supported for versioning. Versioning will be skipped.`);
238
+ return false;
239
+ }
240
+ return true;
241
+ }
242
+ /**
243
+ * Validates and retrieves version field metadata.
244
+ * @param {string} tableName - The name of the table
245
+ * @param {Record<string, AnyColumn>} columns - The table columns
246
+ * @returns {Object | undefined} Version field metadata if valid, undefined otherwise
247
+ */
248
+ validateVersionField(tableName, columns) {
249
+ // Early exit conditions
250
+ if (this.options.disableOptimisticLocking) {
251
+ return undefined;
252
+ }
253
+ const versionMetadata = this.options.additionalMetadata?.[tableName]?.versionField;
254
+ if (!versionMetadata) {
255
+ return undefined;
256
+ }
257
+ // Find and validate version field
258
+ const found = this.findVersionField(versionMetadata, columns);
259
+ if (!found) {
260
+ // eslint-disable-next-line no-console
261
+ console.warn(`Version field "${versionMetadata.fieldName}" not found in table ${tableName}. Versioning will be skipped.`);
244
262
  return undefined;
245
263
  }
246
- return { fieldName, type: fieldType };
264
+ // Validate field properties
265
+ const isValid = this.validateVersionFieldNotNull(versionMetadata, found.field, tableName) &&
266
+ this.validateVersionFieldType(versionMetadata, found.field.getSQLType(), tableName);
267
+ if (!isValid) {
268
+ return undefined;
269
+ }
270
+ return { fieldName: found.fieldName, type: found.field.getSQLType() };
247
271
  }
248
272
  /**
249
273
  * Gets the current version of an entity.
@@ -291,10 +315,20 @@ class ForgeSQLCrudOperations {
291
315
  return model;
292
316
  const modelWithVersion = { ...model };
293
317
  const fieldType = versionField.getSQLType();
294
- const versionValue = fieldType === "datetime" || fieldType === "timestamp" ? new Date() : 1;
318
+ const dateTimeTypes = ["datetime", "timestamp"];
319
+ const versionValue = dateTimeTypes.includes(fieldType) ? new Date() : 1;
295
320
  modelWithVersion[fieldName] = versionValue;
296
321
  return modelWithVersion;
297
322
  }
323
+ /**
324
+ * Calculates new version value based on field type.
325
+ */
326
+ calculateNewVersionValue(fieldType, currentVersion) {
327
+ const dateTimeTypes = ["datetime", "timestamp"];
328
+ return dateTimeTypes.includes(fieldType)
329
+ ? new Date()
330
+ : (currentVersion + 1);
331
+ }
298
332
  /**
299
333
  * Prepares update data with version field.
300
334
  * @template T - The type of the table schema
@@ -311,9 +345,7 @@ class ForgeSQLCrudOperations {
311
345
  if (versionField) {
312
346
  const fieldType = versionField.getSQLType();
313
347
  updateData[versionMetadata.fieldName] =
314
- fieldType === "datetime" || fieldType === "timestamp"
315
- ? new Date()
316
- : (currentVersion + 1);
348
+ this.calculateNewVersionValue(fieldType, currentVersion);
317
349
  }
318
350
  }
319
351
  return updateData;
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeSQLCrudOperations.js","sourceRoot":"","sources":["../../src/core/ForgeSQLCrudOperations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeSQLCrudOperations.js","sourceRoot":"","sources":["../../src/core/ForgeSQLCrudOperations.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,17 @@ import { DeleteAndEvictCacheType, ExecuteQuery, ExecuteQueryCacheable, InsertAnd
11
11
  import { MySqlDeleteBase, MySqlInsertBuilder, MySqlSelectBase, MySqlUpdateBuilder } from "drizzle-orm/mysql-core/query-builders";
12
12
  import { GetSelectTableName, GetSelectTableSelection, SelectResultField } from "drizzle-orm/query-builders/select.types";
13
13
  import { SQLWrapper } from "drizzle-orm/sql/sql";
14
+ /**
15
+ * Type alias for MySqlSelectBase return type used in selectFrom methods.
16
+ * Reduces code duplication in type definitions.
17
+ */
18
+ export type SelectFromReturnType<T extends MySqlTable> = MySqlSelectBase<GetSelectTableName<T>, GetSelectTableSelection<T>, "single", MySqlRemotePreparedQueryHKT, GetSelectTableName<T> extends string ? Record<string & GetSelectTableName<T>, "not-null"> : {}, false, never, {
19
+ [K in keyof {
20
+ [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
21
+ }]: {
22
+ [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
23
+ }[K];
24
+ }[], any>;
14
25
  import type { MySqlQueryResultKind } from "drizzle-orm/mysql-core/session";
15
26
  import type { WithBuilder } from "drizzle-orm/mysql-core/subquery";
16
27
  import { WithSubquery } from "drizzle-orm/subquery";
@@ -162,13 +173,7 @@ export interface QueryBuilderForgeSql {
162
173
  * const users = await forgeSQL.selectFrom(userTable).where(eq(userTable.id, 1));
163
174
  * ```
164
175
  */
165
- selectFrom<T extends MySqlTable>(table: T): MySqlSelectBase<GetSelectTableName<T>, GetSelectTableSelection<T>, "single", MySqlRemotePreparedQueryHKT, GetSelectTableName<T> extends string ? Record<string & GetSelectTableName<T>, "not-null"> : {}, false, never, {
166
- [K in keyof {
167
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
168
- }]: {
169
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
170
- }[K];
171
- }[], any>;
176
+ selectFrom<T extends MySqlTable>(table: T): SelectFromReturnType<T>;
172
177
  /**
173
178
  * Creates a distinct select query with unique field aliases to prevent field name collisions in joins.
174
179
  * This is particularly useful when working with Atlassian Forge SQL, which collapses fields with the same name in joined tables.
@@ -198,13 +203,7 @@ export interface QueryBuilderForgeSql {
198
203
  * const uniqueUsers = await forgeSQL.selectDistinctFrom(userTable).where(eq(userTable.status, 'active'));
199
204
  * ```
200
205
  */
201
- selectDistinctFrom<T extends MySqlTable>(table: T): MySqlSelectBase<GetSelectTableName<T>, GetSelectTableSelection<T>, "single", MySqlRemotePreparedQueryHKT, GetSelectTableName<T> extends string ? Record<string & GetSelectTableName<T>, "not-null"> : {}, false, never, {
202
- [K in keyof {
203
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
204
- }]: {
205
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
206
- }[K];
207
- }[], any>;
206
+ selectDistinctFrom<T extends MySqlTable>(table: T): SelectFromReturnType<T>;
208
207
  /**
209
208
  * Creates a cacheable select query with unique field aliases to prevent field name collisions in joins.
210
209
  * This is particularly useful when working with Atlassian Forge SQL, which collapses fields with the same name in joined tables.
@@ -236,13 +235,7 @@ export interface QueryBuilderForgeSql {
236
235
  * const users = await forgeSQL.selectCacheableFrom(userTable, 300).where(eq(userTable.id, 1));
237
236
  * ```
238
237
  */
239
- selectCacheableFrom<T extends MySqlTable>(table: T, cacheTTL?: number): MySqlSelectBase<GetSelectTableName<T>, GetSelectTableSelection<T>, "single", MySqlRemotePreparedQueryHKT, GetSelectTableName<T> extends string ? Record<string & GetSelectTableName<T>, "not-null"> : {}, false, never, {
240
- [K in keyof {
241
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
242
- }]: {
243
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
244
- }[K];
245
- }[], any>;
238
+ selectCacheableFrom<T extends MySqlTable>(table: T, cacheTTL?: number): SelectFromReturnType<T>;
246
239
  /**
247
240
  * Creates a cacheable distinct select query with unique field aliases to prevent field name collisions in joins.
248
241
  * This is particularly useful when working with Atlassian Forge SQL, which collapses fields with the same name in joined tables.
@@ -274,13 +267,7 @@ export interface QueryBuilderForgeSql {
274
267
  * const uniqueUsers = await forgeSQL.selectDistinctCacheableFrom(userTable, 300).where(eq(userTable.status, 'active'));
275
268
  * ```
276
269
  */
277
- selectDistinctCacheableFrom<T extends MySqlTable>(table: T, cacheTTL?: number): MySqlSelectBase<GetSelectTableName<T>, GetSelectTableSelection<T>, "single", MySqlRemotePreparedQueryHKT, GetSelectTableName<T> extends string ? Record<string & GetSelectTableName<T>, "not-null"> : {}, false, never, {
278
- [K in keyof {
279
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
280
- }]: {
281
- [Key in keyof GetSelectTableSelection<T>]: SelectResultField<GetSelectTableSelection<T>[Key]>;
282
- }[K];
283
- }[], any>;
270
+ selectDistinctCacheableFrom<T extends MySqlTable>(table: T, cacheTTL?: number): SelectFromReturnType<T>;
284
271
  /**
285
272
  * Creates an insert query builder.
286
273
  *