forge-sql-orm 2.0.30 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1090 -81
- package/dist/ForgeSQLORM.js +1080 -60
- package/dist/ForgeSQLORM.js.map +1 -1
- package/dist/ForgeSQLORM.mjs +1063 -60
- package/dist/ForgeSQLORM.mjs.map +1 -1
- package/dist/core/ForgeSQLAnalyseOperations.d.ts +1 -1
- package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -1
- package/dist/core/ForgeSQLCacheOperations.d.ts +119 -0
- package/dist/core/ForgeSQLCacheOperations.d.ts.map +1 -0
- package/dist/core/ForgeSQLCrudOperations.d.ts +38 -22
- package/dist/core/ForgeSQLCrudOperations.d.ts.map +1 -1
- package/dist/core/ForgeSQLORM.d.ts +104 -13
- package/dist/core/ForgeSQLORM.d.ts.map +1 -1
- package/dist/core/ForgeSQLQueryBuilder.d.ts +243 -15
- package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/drizzle/extensions/additionalActions.d.ts +42 -0
- package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -0
- package/dist/utils/cacheContextUtils.d.ts +123 -0
- package/dist/utils/cacheContextUtils.d.ts.map +1 -0
- package/dist/utils/cacheUtils.d.ts +56 -0
- package/dist/utils/cacheUtils.d.ts.map +1 -0
- package/dist/utils/sqlUtils.d.ts +8 -0
- package/dist/utils/sqlUtils.d.ts.map +1 -1
- package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts +46 -0
- package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts.map +1 -0
- package/dist/webtriggers/index.d.ts +1 -0
- package/dist/webtriggers/index.d.ts.map +1 -1
- package/package.json +15 -12
- package/src/core/ForgeSQLAnalyseOperations.ts +1 -1
- package/src/core/ForgeSQLCacheOperations.ts +195 -0
- package/src/core/ForgeSQLCrudOperations.ts +49 -40
- package/src/core/ForgeSQLORM.ts +443 -34
- package/src/core/ForgeSQLQueryBuilder.ts +291 -20
- package/src/index.ts +1 -1
- package/src/lib/drizzle/extensions/additionalActions.ts +548 -0
- package/src/lib/drizzle/extensions/types.d.ts +68 -10
- package/src/utils/cacheContextUtils.ts +210 -0
- package/src/utils/cacheUtils.ts +403 -0
- package/src/utils/sqlUtils.ts +16 -0
- package/src/webtriggers/clearCacheSchedulerTrigger.ts +79 -0
- package/src/webtriggers/index.ts +1 -0
- package/dist/lib/drizzle/extensions/selectAliased.d.ts +0 -9
- package/dist/lib/drizzle/extensions/selectAliased.d.ts.map +0 -1
- package/src/lib/drizzle/extensions/selectAliased.ts +0 -72
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ForgeSqlOperation, SchemaAnalyzeForgeSql } from "./ForgeSQLQueryBuilder";
|
|
2
2
|
import { Query } from "drizzle-orm";
|
|
3
3
|
import { ClusterStatementRowCamelCase, ExplainAnalyzeRow, SlowQueryNormalized } from "./SystemTables";
|
|
4
|
-
import { AnyMySqlTable } from "drizzle-orm/mysql-core
|
|
4
|
+
import { AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
5
5
|
/**
|
|
6
6
|
* Interface representing a raw slow query row from the database
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgeSQLAnalyseOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLAnalyseOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ForgeSQLAnalyseOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLAnalyseOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { MySqlSelectDynamic } from "drizzle-orm/mysql-core/query-builders/select.types";
|
|
2
|
+
import { AnyMySqlSelectQueryBuilder, AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
3
|
+
import { CacheForgeSQL, ForgeSqlOperation, ForgeSqlOrmOptions } from "./ForgeSQLQueryBuilder";
|
|
4
|
+
import { InferInsertModel, SQL } from "drizzle-orm";
|
|
5
|
+
/**
|
|
6
|
+
* Implementation of cache operations for ForgeSQL ORM.
|
|
7
|
+
* Provides methods for cacheable database operations with automatic cache management.
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ **IMPORTANT**: All modification methods in this class use optimistic locking/versioning
|
|
10
|
+
* through `modifyWithVersioning()` internally. This ensures data consistency and prevents
|
|
11
|
+
* concurrent modification conflicts.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ForgeSQLCacheOperations implements CacheForgeSQL {
|
|
14
|
+
private readonly options;
|
|
15
|
+
private readonly forgeOperations;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new instance of ForgeSQLCacheOperations.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Configuration options for the ORM
|
|
20
|
+
* @param forgeOperations - The ForgeSQL operations instance
|
|
21
|
+
*/
|
|
22
|
+
constructor(options: ForgeSqlOrmOptions, forgeOperations: ForgeSqlOperation);
|
|
23
|
+
/**
|
|
24
|
+
* Evicts cache for multiple tables using Drizzle table objects.
|
|
25
|
+
*
|
|
26
|
+
* @param tables - Array of Drizzle table objects to clear cache for
|
|
27
|
+
* @returns Promise that resolves when cache eviction is complete
|
|
28
|
+
* @throws Error if cacheEntityName is not configured
|
|
29
|
+
*/
|
|
30
|
+
evictCacheEntities(tables: AnyMySqlTable[]): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Evicts cache for multiple tables by their names.
|
|
33
|
+
*
|
|
34
|
+
* @param tables - Array of table names to clear cache for
|
|
35
|
+
* @returns Promise that resolves when cache eviction is complete
|
|
36
|
+
* @throws Error if cacheEntityName is not configured
|
|
37
|
+
*/
|
|
38
|
+
evictCache(tables: string[]): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Inserts records with optimistic locking/versioning and automatically evicts cache.
|
|
41
|
+
*
|
|
42
|
+
* This method uses `modifyWithVersioning().insert()` internally, providing:
|
|
43
|
+
* - Automatic version field initialization
|
|
44
|
+
* - Optimistic locking support
|
|
45
|
+
* - Cache eviction after successful operation
|
|
46
|
+
*
|
|
47
|
+
* @param schema - The table schema
|
|
48
|
+
* @param models - Array of entities to insert
|
|
49
|
+
* @param updateIfExists - Whether to update existing records
|
|
50
|
+
* @returns Promise that resolves to the number of inserted rows
|
|
51
|
+
* @throws Error if cacheEntityName is not configured
|
|
52
|
+
* @throws Error if optimistic locking check fails
|
|
53
|
+
*/
|
|
54
|
+
insert<T extends AnyMySqlTable>(schema: T, models: InferInsertModel<T>[], updateIfExists?: boolean): Promise<number>;
|
|
55
|
+
/**
|
|
56
|
+
* Deletes a record by ID with optimistic locking/versioning and automatically evicts cache.
|
|
57
|
+
*
|
|
58
|
+
* This method uses `modifyWithVersioning().deleteById()` internally, providing:
|
|
59
|
+
* - Optimistic locking checks before deletion
|
|
60
|
+
* - Version field validation
|
|
61
|
+
* - Cache eviction after successful operation
|
|
62
|
+
*
|
|
63
|
+
* @param id - The ID of the record to delete
|
|
64
|
+
* @param schema - The table schema
|
|
65
|
+
* @returns Promise that resolves to the number of affected rows
|
|
66
|
+
* @throws Error if cacheEntityName is not configured
|
|
67
|
+
* @throws Error if optimistic locking check fails
|
|
68
|
+
*/
|
|
69
|
+
deleteById<T extends AnyMySqlTable>(id: unknown, schema: T): Promise<number>;
|
|
70
|
+
/**
|
|
71
|
+
* Updates a record by ID with optimistic locking/versioning and automatically evicts cache.
|
|
72
|
+
*
|
|
73
|
+
* This method uses `modifyWithVersioning().updateById()` internally, providing:
|
|
74
|
+
* - Optimistic locking checks before update
|
|
75
|
+
* - Version field incrementation
|
|
76
|
+
* - Cache eviction after successful operation
|
|
77
|
+
*
|
|
78
|
+
* @param entity - The entity with updated values (must include primary key)
|
|
79
|
+
* @param schema - The table schema
|
|
80
|
+
* @returns Promise that resolves to the number of affected rows
|
|
81
|
+
* @throws Error if cacheEntityName is not configured
|
|
82
|
+
* @throws Error if optimistic locking check fails
|
|
83
|
+
*/
|
|
84
|
+
updateById<T extends AnyMySqlTable>(entity: Partial<InferInsertModel<T>>, schema: T): Promise<number>;
|
|
85
|
+
/**
|
|
86
|
+
* Updates fields based on conditions with optimistic locking/versioning and automatically evicts cache.
|
|
87
|
+
*
|
|
88
|
+
* This method uses `modifyWithVersioning().updateFields()` internally, providing:
|
|
89
|
+
* - Optimistic locking support (if version field is configured)
|
|
90
|
+
* - Version field validation and incrementation
|
|
91
|
+
* - Cache eviction after successful operation
|
|
92
|
+
*
|
|
93
|
+
* @param updateData - The data to update
|
|
94
|
+
* @param schema - The table schema
|
|
95
|
+
* @param where - Optional WHERE conditions
|
|
96
|
+
* @returns Promise that resolves to the number of affected rows
|
|
97
|
+
* @throws Error if cacheEntityName is not configured
|
|
98
|
+
* @throws Error if optimistic locking check fails
|
|
99
|
+
*/
|
|
100
|
+
updateFields<T extends AnyMySqlTable>(updateData: Partial<InferInsertModel<T>>, schema: T, where?: SQL<unknown>): Promise<number>;
|
|
101
|
+
/**
|
|
102
|
+
* Executes a query with caching support.
|
|
103
|
+
* First checks cache, if not found executes query and stores result in cache.
|
|
104
|
+
*
|
|
105
|
+
* @param query - The Drizzle query to execute
|
|
106
|
+
* @param cacheTtl - Optional cache TTL override
|
|
107
|
+
* @returns Promise that resolves to the query results
|
|
108
|
+
* @throws Error if cacheEntityName is not configured
|
|
109
|
+
*/
|
|
110
|
+
executeQuery<T extends MySqlSelectDynamic<AnyMySqlSelectQueryBuilder>>(query: T, cacheTtl?: number): Promise<Awaited<T>>;
|
|
111
|
+
/**
|
|
112
|
+
* Validates that cache configuration is properly set up.
|
|
113
|
+
*
|
|
114
|
+
* @throws Error if cacheEntityName is not configured
|
|
115
|
+
* @private
|
|
116
|
+
*/
|
|
117
|
+
private validateCacheConfiguration;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=ForgeSQLCacheOperations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ForgeSQLCacheOperations.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLCacheOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAS,GAAG,EAAE,MAAM,aAAa,CAAC;AAI3D;;;;;;;GAOG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IAEpD;;;;;OAKG;gBACS,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB;IAK3E;;;;;;OAMG;IACG,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhE;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,CAAC,SAAS,aAAa,EAClC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC7B,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,MAAM,CAAC;IASlB;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlF;;;;;;;;;;;;;OAaG;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;IAOlB;;;;;;;;;;;;;;OAcG;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;IASlB;;;;;;;;OAQG;IACG,YAAY,CAAC,CAAC,SAAS,kBAAkB,CAAC,0BAA0B,CAAC,EACzE,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAYtB;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;CAKnC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { ForgeSqlOrmOptions } from "..";
|
|
2
|
-
import {
|
|
3
|
-
import { AnyMySqlTable } from "drizzle-orm/mysql-core
|
|
4
|
-
import { InferInsertModel } from "drizzle-orm";
|
|
5
|
-
import { SQL } from "drizzle-orm";
|
|
2
|
+
import { VerioningModificationForgeSQL, ForgeSqlOperation } from "./ForgeSQLQueryBuilder";
|
|
3
|
+
import { AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
4
|
+
import { InferInsertModel, SQL } from "drizzle-orm";
|
|
6
5
|
/**
|
|
7
|
-
* Class implementing
|
|
6
|
+
* Class implementing Modification operations for ForgeSQL ORM.
|
|
8
7
|
* Provides methods for inserting, updating, and deleting records with support for optimistic locking.
|
|
9
8
|
*/
|
|
10
|
-
export declare class ForgeSQLCrudOperations implements
|
|
9
|
+
export declare class ForgeSQLCrudOperations implements VerioningModificationForgeSQL {
|
|
11
10
|
private readonly forgeOperations;
|
|
12
11
|
private readonly options;
|
|
13
12
|
/**
|
|
@@ -20,24 +19,35 @@ export declare class ForgeSQLCrudOperations implements CRUDForgeSQL {
|
|
|
20
19
|
* Inserts records into the database with optional versioning support.
|
|
21
20
|
* If a version field exists in the schema, versioning is applied.
|
|
22
21
|
*
|
|
22
|
+
* This method automatically handles:
|
|
23
|
+
* - Version field initialization for optimistic locking
|
|
24
|
+
* - Batch insertion for multiple records
|
|
25
|
+
* - Duplicate key handling with optional updates
|
|
26
|
+
*
|
|
23
27
|
* @template T - The type of the table schema
|
|
24
|
-
* @param
|
|
25
|
-
* @param
|
|
26
|
-
* @param
|
|
27
|
-
* @returns
|
|
28
|
-
* @throws
|
|
28
|
+
* @param schema - The entity schema
|
|
29
|
+
* @param models - Array of entities to insert
|
|
30
|
+
* @param updateIfExists - Whether to update existing records (default: false)
|
|
31
|
+
* @returns Promise that resolves to the number of inserted rows
|
|
32
|
+
* @throws Error if the insert operation fails
|
|
29
33
|
*/
|
|
30
34
|
insert<T extends AnyMySqlTable>(schema: T, models: InferInsertModel<T>[], updateIfExists?: boolean): Promise<number>;
|
|
31
35
|
/**
|
|
32
36
|
* Deletes a record by its primary key with optional version check.
|
|
33
37
|
* If versioning is enabled, ensures the record hasn't been modified since last read.
|
|
34
38
|
*
|
|
39
|
+
* This method automatically handles:
|
|
40
|
+
* - Single primary key validation
|
|
41
|
+
* - Optimistic locking checks if versioning is enabled
|
|
42
|
+
* - Version field validation before deletion
|
|
43
|
+
*
|
|
35
44
|
* @template T - The type of the table schema
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
* @returns
|
|
39
|
-
* @throws
|
|
40
|
-
* @throws
|
|
45
|
+
* @param id - The ID of the record to delete
|
|
46
|
+
* @param schema - The entity schema
|
|
47
|
+
* @returns Promise that resolves to the number of affected rows
|
|
48
|
+
* @throws Error if the delete operation fails
|
|
49
|
+
* @throws Error if multiple primary keys are found
|
|
50
|
+
* @throws Error if optimistic locking check fails
|
|
41
51
|
*/
|
|
42
52
|
deleteById<T extends AnyMySqlTable>(id: unknown, schema: T): Promise<number>;
|
|
43
53
|
/**
|
|
@@ -47,13 +57,19 @@ export declare class ForgeSQLCrudOperations implements CRUDForgeSQL {
|
|
|
47
57
|
* - Checks for concurrent modifications
|
|
48
58
|
* - Increments the version on successful update
|
|
49
59
|
*
|
|
60
|
+
* This method automatically handles:
|
|
61
|
+
* - Primary key validation
|
|
62
|
+
* - Version field retrieval and validation
|
|
63
|
+
* - Optimistic locking conflict detection
|
|
64
|
+
* - Version field incrementation
|
|
65
|
+
*
|
|
50
66
|
* @template T - The type of the table schema
|
|
51
|
-
* @param
|
|
52
|
-
* @param
|
|
53
|
-
* @returns
|
|
54
|
-
* @throws
|
|
55
|
-
* @throws
|
|
56
|
-
* @throws
|
|
67
|
+
* @param entity - The entity with updated values (must include primary key)
|
|
68
|
+
* @param schema - The entity schema
|
|
69
|
+
* @returns Promise that resolves to the number of affected rows
|
|
70
|
+
* @throws Error if the primary key is not provided
|
|
71
|
+
* @throws Error if optimistic locking check fails
|
|
72
|
+
* @throws Error if multiple primary keys are found
|
|
57
73
|
*/
|
|
58
74
|
updateById<T extends AnyMySqlTable>(entity: Partial<InferInsertModel<T>>, schema: T): Promise<number>;
|
|
59
75
|
/**
|
|
@@ -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,
|
|
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;IAoD5B;;;;;;;;;OASG;YACW,iBAAiB;IAyB/B;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;;;;;;;OAQG;YACW,WAAW;CA2B1B"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MySqlRemoteDatabase, MySqlRemotePreparedQueryHKT } from "drizzle-orm/mysql-proxy";
|
|
1
|
+
import { VerioningModificationForgeSQL, ForgeSqlOperation, ForgeSqlOrmOptions, SchemaAnalyzeForgeSql, SchemaSqlForgeSql } from "./ForgeSQLQueryBuilder";
|
|
2
|
+
import { MySqlRemoteDatabase, MySqlRemotePreparedQueryHKT, MySqlRemoteQueryResultHKT } from "drizzle-orm/mysql-proxy";
|
|
3
3
|
import type { SelectedFields } from "drizzle-orm/mysql-core/query-builders/select.types";
|
|
4
4
|
import { MySqlSelectBuilder } from "drizzle-orm/mysql-core";
|
|
5
|
+
import { DeleteAndEvictCacheType, InsertAndEvictCacheType, SelectAliasedCacheableType, SelectAliasedDistinctCacheableType, SelectAliasedDistinctType, SelectAliasedType, UpdateAndEvictCacheType } from "../lib/drizzle/extensions/additionalActions";
|
|
6
|
+
import { ForgeSQLCacheOperations } from "./ForgeSQLCacheOperations";
|
|
7
|
+
import type { MySqlTable } from "drizzle-orm/mysql-core/table";
|
|
8
|
+
import { MySqlDeleteBase, MySqlInsertBuilder, MySqlUpdateBuilder } from "drizzle-orm/mysql-core/query-builders";
|
|
5
9
|
/**
|
|
6
10
|
* Public class that acts as a wrapper around the private ForgeSQLORMImpl.
|
|
7
11
|
* Provides a clean interface for working with Forge SQL and Drizzle ORM.
|
|
@@ -9,6 +13,86 @@ import { MySqlSelectBuilder } from "drizzle-orm/mysql-core";
|
|
|
9
13
|
declare class ForgeSQLORM implements ForgeSqlOperation {
|
|
10
14
|
private readonly ormInstance;
|
|
11
15
|
constructor(options?: ForgeSqlOrmOptions);
|
|
16
|
+
selectCacheable<TSelection extends SelectedFields>(fields: TSelection, cacheTTL?: number): MySqlSelectBuilder<TSelection, MySqlRemotePreparedQueryHKT>;
|
|
17
|
+
selectDistinctCacheable<TSelection extends SelectedFields>(fields: TSelection, cacheTTL?: number): MySqlSelectBuilder<TSelection, MySqlRemotePreparedQueryHKT>;
|
|
18
|
+
executeWithCacheContext(cacheContext: () => Promise<void>): Promise<void>;
|
|
19
|
+
executeWithCacheContextAndReturnValue<T>(cacheContext: () => Promise<T>): Promise<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Executes operations within a local cache context.
|
|
22
|
+
* This provides in-memory caching for select queries within a single request scope.
|
|
23
|
+
*
|
|
24
|
+
* @param cacheContext - Function containing operations that will benefit from local caching
|
|
25
|
+
* @returns Promise that resolves when all operations are complete
|
|
26
|
+
*/
|
|
27
|
+
executeWithLocalContext(cacheContext: () => Promise<void>): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Executes operations within a local cache context and returns a value.
|
|
30
|
+
* This provides in-memory caching for select queries within a single request scope.
|
|
31
|
+
*
|
|
32
|
+
* @param cacheContext - Function containing operations that will benefit from local caching
|
|
33
|
+
* @returns Promise that resolves to the return value of the cacheContext function
|
|
34
|
+
*/
|
|
35
|
+
executeWithLocalCacheContextAndReturnValue<T>(cacheContext: () => Promise<T>): Promise<T>;
|
|
36
|
+
/**
|
|
37
|
+
* Creates an insert query builder.
|
|
38
|
+
*
|
|
39
|
+
* ⚠️ **IMPORTANT**: This method does NOT support optimistic locking/versioning.
|
|
40
|
+
* For versioned inserts, use `modifyWithVersioning().insert()` or `modifyWithVersioningAndEvictCache().insert()` instead.
|
|
41
|
+
*
|
|
42
|
+
* @param table - The table to insert into
|
|
43
|
+
* @returns Insert query builder (no versioning, no cache management)
|
|
44
|
+
*/
|
|
45
|
+
insert<TTable extends MySqlTable>(table: TTable): MySqlInsertBuilder<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT>;
|
|
46
|
+
/**
|
|
47
|
+
* Creates an insert query builder that automatically evicts cache after execution.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ **IMPORTANT**: This method does NOT support optimistic locking/versioning.
|
|
50
|
+
* For versioned inserts, use `modifyWithVersioning().insert()` or `modifyWithVersioningAndEvictCache().insert()` instead.
|
|
51
|
+
*
|
|
52
|
+
* @param table - The table to insert into
|
|
53
|
+
* @returns Insert query builder with automatic cache eviction (no versioning)
|
|
54
|
+
*/
|
|
55
|
+
insertAndEvictCache<TTable extends MySqlTable>(table: TTable): MySqlInsertBuilder<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT>;
|
|
56
|
+
/**
|
|
57
|
+
* Creates an update query builder.
|
|
58
|
+
*
|
|
59
|
+
* ⚠️ **IMPORTANT**: This method does NOT support optimistic locking/versioning.
|
|
60
|
+
* For versioned updates, use `modifyWithVersioning().updateById()` or `modifyWithVersioningAndEvictCache().updateById()` instead.
|
|
61
|
+
*
|
|
62
|
+
* @param table - The table to update
|
|
63
|
+
* @returns Update query builder (no versioning, no cache management)
|
|
64
|
+
*/
|
|
65
|
+
update<TTable extends MySqlTable>(table: TTable): MySqlUpdateBuilder<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT>;
|
|
66
|
+
/**
|
|
67
|
+
* Creates an update query builder that automatically evicts cache after execution.
|
|
68
|
+
*
|
|
69
|
+
* ⚠️ **IMPORTANT**: This method does NOT support optimistic locking/versioning.
|
|
70
|
+
* For versioned updates, use `modifyWithVersioning().updateById()` or `modifyWithVersioningAndEvictCache().updateById()` instead.
|
|
71
|
+
*
|
|
72
|
+
* @param table - The table to update
|
|
73
|
+
* @returns Update query builder with automatic cache eviction (no versioning)
|
|
74
|
+
*/
|
|
75
|
+
updateAndEvictCache<TTable extends MySqlTable>(table: TTable): MySqlUpdateBuilder<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT>;
|
|
76
|
+
/**
|
|
77
|
+
* Creates a delete query builder.
|
|
78
|
+
*
|
|
79
|
+
* ⚠️ **IMPORTANT**: This method does NOT support optimistic locking/versioning.
|
|
80
|
+
* For versioned deletes, use `modifyWithVersioning().deleteById()` or `modifyWithVersioningAndEvictCache().deleteById()` instead.
|
|
81
|
+
*
|
|
82
|
+
* @param table - The table to delete from
|
|
83
|
+
* @returns Delete query builder (no versioning, no cache management)
|
|
84
|
+
*/
|
|
85
|
+
delete<TTable extends MySqlTable>(table: TTable): MySqlDeleteBase<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT>;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a delete query builder that automatically evicts cache after execution.
|
|
88
|
+
*
|
|
89
|
+
* ⚠️ **IMPORTANT**: This method does NOT support optimistic locking/versioning.
|
|
90
|
+
* For versioned deletes, use `modifyWithVersioning().deleteById()` or `modifyWithVersioningAndEvictCache().deleteById()` instead.
|
|
91
|
+
*
|
|
92
|
+
* @param table - The table to delete from
|
|
93
|
+
* @returns Delete query builder with automatic cache eviction (no versioning)
|
|
94
|
+
*/
|
|
95
|
+
deleteAndEvictCache<TTable extends MySqlTable>(table: TTable): MySqlDeleteBase<TTable, MySqlRemoteQueryResultHKT, MySqlRemotePreparedQueryHKT>;
|
|
12
96
|
/**
|
|
13
97
|
* Creates a select query with unique field aliases to prevent field name collisions in joins.
|
|
14
98
|
* This is particularly useful when working with Atlassian Forge SQL, which collapses fields with the same name in joined tables.
|
|
@@ -43,16 +127,11 @@ declare class ForgeSQLORM implements ForgeSqlOperation {
|
|
|
43
127
|
* ```
|
|
44
128
|
*/
|
|
45
129
|
selectDistinct<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, MySqlRemotePreparedQueryHKT>;
|
|
46
|
-
/**
|
|
47
|
-
* Proxies the `crud` method from `ForgeSQLORMImpl`.
|
|
48
|
-
* @returns CRUD operations.
|
|
49
|
-
*/
|
|
50
|
-
crud(): CRUDForgeSQL;
|
|
51
130
|
/**
|
|
52
131
|
* Proxies the `modify` method from `ForgeSQLORMImpl`.
|
|
53
132
|
* @returns Modify operations.
|
|
54
133
|
*/
|
|
55
|
-
|
|
134
|
+
modifyWithVersioning(): VerioningModificationForgeSQL;
|
|
56
135
|
/**
|
|
57
136
|
* Proxies the `fetch` method from `ForgeSQLORMImpl`.
|
|
58
137
|
* @returns Fetch operations.
|
|
@@ -63,16 +142,28 @@ declare class ForgeSQLORM implements ForgeSqlOperation {
|
|
|
63
142
|
* @returns {SchemaAnalyzeForgeSql} Interface for analyzing query performance
|
|
64
143
|
*/
|
|
65
144
|
analyze(): SchemaAnalyzeForgeSql;
|
|
145
|
+
/**
|
|
146
|
+
* Provides schema-level SQL cacheable operations with type safety.
|
|
147
|
+
* @returns {ForgeSQLCacheOperations} Interface for executing schema-bound SQL queries
|
|
148
|
+
*/
|
|
149
|
+
modifyWithVersioningAndEvictCache(): ForgeSQLCacheOperations;
|
|
66
150
|
/**
|
|
67
151
|
* Returns a Drizzle query builder instance.
|
|
68
152
|
*
|
|
69
|
-
* ⚠️ IMPORTANT: This method should be used ONLY for query building purposes.
|
|
70
|
-
* The returned instance should NOT be used for direct database connections or query execution.
|
|
71
|
-
* All database operations should be performed through Forge SQL's executeRawSQL or executeRawUpdateSQL methods.
|
|
72
|
-
*
|
|
73
153
|
* @returns A Drizzle query builder instance for query construction only.
|
|
74
154
|
*/
|
|
75
|
-
getDrizzleQueryBuilder(): MySqlRemoteDatabase<Record<string, unknown
|
|
155
|
+
getDrizzleQueryBuilder(): MySqlRemoteDatabase<Record<string, unknown>> & {
|
|
156
|
+
selectAliased: SelectAliasedType;
|
|
157
|
+
selectAliasedDistinct: SelectAliasedDistinctType;
|
|
158
|
+
selectAliasedCacheable: SelectAliasedCacheableType;
|
|
159
|
+
selectAliasedDistinctCacheable: SelectAliasedDistinctCacheableType;
|
|
160
|
+
insertWithCacheContext: InsertAndEvictCacheType;
|
|
161
|
+
insertAndEvictCache: InsertAndEvictCacheType;
|
|
162
|
+
updateAndEvictCache: UpdateAndEvictCacheType;
|
|
163
|
+
updateWithCacheContext: UpdateAndEvictCacheType;
|
|
164
|
+
deleteAndEvictCache: DeleteAndEvictCacheType;
|
|
165
|
+
deleteWithCacheContext: DeleteAndEvictCacheType;
|
|
166
|
+
};
|
|
76
167
|
}
|
|
77
168
|
export default ForgeSQLORM;
|
|
78
169
|
//# sourceMappingURL=ForgeSQLORM.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgeSQLORM.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"AACA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"ForgeSQLORM.d.ts","sourceRoot":"","sources":["../../src/core/ForgeSQLORM.ts"],"names":[],"mappings":"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"}
|