axiodb 20.6.7 → 22.1.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/README.md +2 -1
- package/lib/Helper/RegexGuard.helper.d.ts +85 -0
- package/lib/Helper/RegexGuard.helper.js +278 -0
- package/lib/Helper/RegexGuard.helper.js.map +1 -0
- package/lib/Helper/SafeErrorMessage.helper.d.ts +18 -0
- package/lib/Helper/SafeErrorMessage.helper.js +42 -0
- package/lib/Helper/SafeErrorMessage.helper.js.map +1 -0
- package/lib/Memory/memory.operation.d.ts +19 -7
- package/lib/Memory/memory.operation.js +32 -12
- package/lib/Memory/memory.operation.js.map +1 -1
- package/lib/Services/Aggregation/operators/expressionOperators.js +5 -1
- package/lib/Services/Aggregation/operators/expressionOperators.js.map +1 -1
- package/lib/Services/Aggregation/operators/stageOperators.js +5 -1
- package/lib/Services/Aggregation/operators/stageOperators.js.map +1 -1
- package/lib/Services/CRUD Operation/Delete.operation.d.ts +3 -1
- package/lib/Services/CRUD Operation/Delete.operation.js +4 -3
- package/lib/Services/CRUD Operation/Delete.operation.js.map +1 -1
- package/lib/Services/CRUD Operation/Reader.operation.d.ts +4 -1
- package/lib/Services/CRUD Operation/Reader.operation.js +7 -7
- package/lib/Services/CRUD Operation/Reader.operation.js.map +1 -1
- package/lib/Services/CRUD Operation/Update.operation.d.ts +3 -1
- package/lib/Services/CRUD Operation/Update.operation.js +4 -3
- package/lib/Services/CRUD Operation/Update.operation.js.map +1 -1
- package/lib/Services/Collection/collection.operation.d.ts +3 -1
- package/lib/Services/Collection/collection.operation.js +7 -6
- package/lib/Services/Collection/collection.operation.js.map +1 -1
- package/lib/Services/Database/database.operation.d.ts +3 -1
- package/lib/Services/Database/database.operation.js +5 -4
- package/lib/Services/Database/database.operation.js.map +1 -1
- package/lib/Services/Indexation.operation.d.ts +8 -0
- package/lib/Services/Indexation.operation.js +21 -5
- package/lib/Services/Indexation.operation.js.map +1 -1
- package/lib/Services/Transaction/Session.service.d.ts +3 -1
- package/lib/Services/Transaction/Session.service.js +3 -2
- package/lib/Services/Transaction/Session.service.js.map +1 -1
- package/lib/Services/Transaction/Transaction.service.d.ts +3 -1
- package/lib/Services/Transaction/Transaction.service.js +4 -4
- package/lib/Services/Transaction/Transaction.service.js.map +1 -1
- package/lib/config/Interfaces/Operation/Indexation.operation.interface.d.ts +8 -0
- package/lib/engine/Filesystem/FileManager.js +9 -3
- package/lib/engine/Filesystem/FileManager.js.map +1 -1
- package/lib/engine/Filesystem/FolderManager.js +8 -2
- package/lib/engine/Filesystem/FolderManager.js.map +1 -1
- package/lib/server/config/keys.d.ts +6 -0
- package/lib/server/config/keys.js +14 -1
- package/lib/server/config/keys.js.map +1 -1
- package/lib/server/config/server.js +5 -0
- package/lib/server/config/server.js.map +1 -1
- package/lib/server/controller/Database/Databse.controller.js +2 -1
- package/lib/server/controller/Database/Databse.controller.js.map +1 -1
- package/lib/server/controller/Stats.controller.js +1 -2
- package/lib/server/controller/Stats.controller.js.map +1 -1
- package/lib/server/router/Router.js +1 -2
- package/lib/server/router/Router.js.map +1 -1
- package/lib/tcp/config/server.js +2 -1
- package/lib/tcp/config/server.js.map +1 -1
- package/lib/tcp/connection/ConnectionManager.js +2 -1
- package/lib/tcp/connection/ConnectionManager.js.map +1 -1
- package/lib/tcp/connection/TransactionManager.d.ts +2 -1
- package/lib/tcp/connection/TransactionManager.js +2 -2
- package/lib/tcp/connection/TransactionManager.js.map +1 -1
- package/lib/tcp/handler/CommandHandler.js +3 -2
- package/lib/tcp/handler/CommandHandler.js.map +1 -1
- package/lib/tcp/handler/handlers/Collection.handler.d.ts +1 -1
- package/lib/tcp/handler/handlers/Collection.handler.js +6 -5
- package/lib/tcp/handler/handlers/Collection.handler.js.map +1 -1
- package/lib/tcp/handler/handlers/DB.handler.js +5 -4
- package/lib/tcp/handler/handlers/DB.handler.js.map +1 -1
- package/lib/tcp/handler/handlers/Operation.handler.js +3 -1
- package/lib/tcp/handler/handlers/Operation.handler.js.map +1 -1
- package/lib/tcp/handler/handlers/Transaction.handler.js +4 -2
- package/lib/tcp/handler/handlers/Transaction.handler.js.map +1 -1
- package/lib/utility/Searcher.utils.js +3 -2
- package/lib/utility/Searcher.utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ import UpdateOperation from "../CRUD Operation/Update.operation";
|
|
|
7
7
|
import Aggregation from "../Aggregation/Aggregation.Operation";
|
|
8
8
|
import Transaction from "../Transaction/Transaction.service";
|
|
9
9
|
import Session from "../Transaction/Session.service";
|
|
10
|
+
import type { InMemoryCache } from "../../Memory/memory.operation";
|
|
10
11
|
/**
|
|
11
12
|
* Represents a collection inside a database.
|
|
12
13
|
*/
|
|
@@ -17,8 +18,9 @@ export default class Collection {
|
|
|
17
18
|
private Converter;
|
|
18
19
|
private readonly IndexManager;
|
|
19
20
|
private readonly indexCache;
|
|
21
|
+
private readonly cache;
|
|
20
22
|
private readonly collectionResolver?;
|
|
21
|
-
constructor(name: string, path: string, collectionResolver
|
|
23
|
+
constructor(name: string, path: string, collectionResolver: CollectionResolver, cache: InMemoryCache);
|
|
22
24
|
getCollectionPath(): string;
|
|
23
25
|
/**
|
|
24
26
|
* Get Numbers of Documents in the Collection
|
|
@@ -30,13 +30,14 @@ const IndexCache_service_1 = require("../Index/IndexCache.service");
|
|
|
30
30
|
* Represents a collection inside a database.
|
|
31
31
|
*/
|
|
32
32
|
class Collection {
|
|
33
|
-
constructor(name, path, collectionResolver) {
|
|
33
|
+
constructor(name, path, collectionResolver, cache) {
|
|
34
34
|
this.name = name;
|
|
35
35
|
this.path = path;
|
|
36
36
|
this.Converter = new Converter_helper_1.default();
|
|
37
37
|
this.updatedAt = new Date().toISOString();
|
|
38
38
|
this.IndexManager = new Index_service_1.IndexManager(this.path);
|
|
39
39
|
this.collectionResolver = collectionResolver;
|
|
40
|
+
this.cache = cache;
|
|
40
41
|
// Initialize and eagerly load index cache for maximum query performance
|
|
41
42
|
this.indexCache = IndexCache_service_1.IndexCache.getInstance(this.path);
|
|
42
43
|
this.indexCache.loadAllIndexes().catch(() => {
|
|
@@ -216,7 +217,7 @@ class Collection {
|
|
|
216
217
|
if (!query) {
|
|
217
218
|
throw new Error("Query cannot be empty");
|
|
218
219
|
}
|
|
219
|
-
return new Reader_operation_1.default(this.name, this.path, query);
|
|
220
|
+
return new Reader_operation_1.default(this.name, this.path, query, this.cache);
|
|
220
221
|
}
|
|
221
222
|
/**
|
|
222
223
|
* Retrieves multiple documents by their IDs in a single call.
|
|
@@ -268,13 +269,13 @@ class Collection {
|
|
|
268
269
|
throw new Error("Query cannot be empty");
|
|
269
270
|
}
|
|
270
271
|
// Delete the data
|
|
271
|
-
return new Delete_operation_1.default(this.name, this.path, query);
|
|
272
|
+
return new Delete_operation_1.default(this.name, this.path, query, this.cache);
|
|
272
273
|
}
|
|
273
274
|
update(query) {
|
|
274
275
|
if (!query) {
|
|
275
276
|
throw new Error("Query cannot be empty");
|
|
276
277
|
}
|
|
277
|
-
return new Update_operation_1.default(this.name, this.path, query);
|
|
278
|
+
return new Update_operation_1.default(this.name, this.path, query, this.cache);
|
|
278
279
|
}
|
|
279
280
|
beginTransaction() {
|
|
280
281
|
if (!this.name) {
|
|
@@ -283,7 +284,7 @@ class Collection {
|
|
|
283
284
|
if (!this.path) {
|
|
284
285
|
throw new Error("Collection path cannot be empty");
|
|
285
286
|
}
|
|
286
|
-
return new Transaction_service_1.default(this.path);
|
|
287
|
+
return new Transaction_service_1.default(this.path, this.cache);
|
|
287
288
|
}
|
|
288
289
|
/**
|
|
289
290
|
* Starts a new session for MongoDB-like transaction management.
|
|
@@ -309,7 +310,7 @@ class Collection {
|
|
|
309
310
|
if (!this.path) {
|
|
310
311
|
throw new Error("Collection path cannot be empty");
|
|
311
312
|
}
|
|
312
|
-
return new Session_service_1.default(this.path, options);
|
|
313
|
+
return new Session_service_1.default(this.path, options, this.cache);
|
|
313
314
|
}
|
|
314
315
|
}
|
|
315
316
|
exports.default = Collection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.operation.js","sourceRoot":"","sources":["../../../source/Services/Collection/collection.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,mFAA0D;AAC1D,aAAa;AACb,0FAAwD;AACxD,0FAAiE;AACjE,0FAAiE;AACjE,iGAA+D;AAC/D,6FAA6D;AAC7D,qFAAqD;AAErD,iDAAiD;AAEjD,YAAY;AACZ,qFAAsD;AACtD,0FAAkE;AAClE,0DAAsD;AACtD,oEAAyD;
|
|
1
|
+
{"version":3,"file":"collection.operation.js","sourceRoot":"","sources":["../../../source/Services/Collection/collection.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Collection from "../Collection/collection.operation";
|
|
2
2
|
import { ErrorInterface, SuccessInterface } from "../../config/Interfaces/Helper/response.helper.interface";
|
|
3
|
+
import type { InMemoryCache } from "../../Memory/memory.operation";
|
|
3
4
|
/**
|
|
4
5
|
* Represents a database instance.
|
|
5
6
|
* This class provides methods to create, delete, and manage collections within a database.
|
|
@@ -8,10 +9,11 @@ export default class Database {
|
|
|
8
9
|
private name;
|
|
9
10
|
private readonly path;
|
|
10
11
|
private readonly collectionMetaPath;
|
|
12
|
+
private readonly cache;
|
|
11
13
|
private fileManager;
|
|
12
14
|
private folderManager;
|
|
13
15
|
private ResponseHelper;
|
|
14
|
-
constructor(name: string, path: string);
|
|
16
|
+
constructor(name: string, path: string, cache: InMemoryCache);
|
|
15
17
|
/**
|
|
16
18
|
* Creates a new collection inside the specified database.
|
|
17
19
|
* @param {string} collectionName - Name of the collection.
|
|
@@ -62,10 +62,11 @@ const Logger_helper_1 = __importDefault(require("../../Helper/Logger.helper"));
|
|
|
62
62
|
* This class provides methods to create, delete, and manage collections within a database.
|
|
63
63
|
*/
|
|
64
64
|
class Database {
|
|
65
|
-
constructor(name, path) {
|
|
65
|
+
constructor(name, path, cache) {
|
|
66
66
|
this.name = name;
|
|
67
67
|
this.path = path;
|
|
68
68
|
this.collectionMetaPath = `${path}/${Keys_1.General.Collection_Meta_File}`;
|
|
69
|
+
this.cache = cache;
|
|
69
70
|
this.fileManager = new FileManager_1.default();
|
|
70
71
|
this.folderManager = new FolderManager_1.default();
|
|
71
72
|
this.ResponseHelper = new response_helper_1.default();
|
|
@@ -91,7 +92,7 @@ class Database {
|
|
|
91
92
|
const Index = new Index_service_1.IndexManager(collectionPath);
|
|
92
93
|
yield Index.generateIndexMeta();
|
|
93
94
|
const resolver = this.createCollectionResolver();
|
|
94
|
-
const collection = new collection_operation_1.default(collectionName, collectionPath, resolver);
|
|
95
|
+
const collection = new collection_operation_1.default(collectionName, collectionPath, resolver, this.cache);
|
|
95
96
|
// Store collection metadata in the collectionMap
|
|
96
97
|
yield this.AddCollectionMetadata({
|
|
97
98
|
name: collectionName,
|
|
@@ -107,7 +108,7 @@ class Database {
|
|
|
107
108
|
**/
|
|
108
109
|
isCollectionExists(collectionName) {
|
|
109
110
|
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
const collectionPath =
|
|
111
|
+
const collectionPath = PathSanitizer_helper_1.default.safePath(this.path, collectionName);
|
|
111
112
|
const exists = yield this.folderManager.DirectoryExists(collectionPath);
|
|
112
113
|
return exists.statusCode === StatusCode_1.StatusCodes.OK;
|
|
113
114
|
});
|
|
@@ -120,7 +121,7 @@ class Database {
|
|
|
120
121
|
*/
|
|
121
122
|
deleteCollection(collectionName) {
|
|
122
123
|
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
const collectionPath =
|
|
124
|
+
const collectionPath = PathSanitizer_helper_1.default.safePath(this.path, collectionName);
|
|
124
125
|
const exists = yield this.folderManager.DirectoryExists(collectionPath);
|
|
125
126
|
if (exists.statusCode === StatusCode_1.StatusCodes.OK) {
|
|
126
127
|
// Remove collection metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Services/Database/database.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8FAA4D;AAC5D,sFAA8D;AAC9D,0FAAkE;AAClE,gDAAwB;AACxB,mFAA0D;AAC1D,6FAA8D;AAC9D,6DAA2D;AAO3D,0DAAsD;AACtD,oEAAyD;AACzD,iDAAiD;AACjD,+FAAgE;AAChE,+EAAgD;
|
|
1
|
+
{"version":3,"file":"database.operation.js","sourceRoot":"","sources":["../../../source/Services/Database/database.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Database from "./Database/database.operation";
|
|
2
2
|
import { ErrorInterface, SuccessInterface } from "../config/Interfaces/Helper/response.helper.interface";
|
|
3
3
|
import { AxioDBOptions } from "../config/Interfaces/Operation/Indexation.operation.interface";
|
|
4
|
+
import { InMemoryCache } from "../Memory/memory.operation";
|
|
4
5
|
/**
|
|
5
6
|
* Class representing the AxioDB database.
|
|
6
7
|
* @param {AxioDBOptions} options - Configuration options for AxioDB
|
|
@@ -9,6 +10,10 @@ import { AxioDBOptions } from "../config/Interfaces/Operation/Indexation.operati
|
|
|
9
10
|
* @param {string} options.CustomPath - Custom path for database storage. Defaults to current directory.
|
|
10
11
|
* @param {boolean} options.TCP - Enable/disable TCP server (port 27019). Defaults to false.
|
|
11
12
|
* @param {boolean} options.TCPAuth - Require username/password authentication (same RBAC users as the GUI) for TCP connections. Defaults to false.
|
|
13
|
+
* @param {boolean} options.Cache - Enable the built-in InMemoryCache shared across the whole instance. Defaults to true.
|
|
14
|
+
* @param {number} options.minTTL - Minimum cache entry lifetime in minutes. Defaults to 5.
|
|
15
|
+
* @param {number} options.maxTTL - Maximum cache entry lifetime in minutes. Defaults to 15.
|
|
16
|
+
* @param {number} options.cacheClearUp - Cache housekeeping cadence and search-query retention in seconds. Defaults to 86400.
|
|
12
17
|
* @returns {AxioDB} - Returns the instance of AxioDB.
|
|
13
18
|
* @example
|
|
14
19
|
* const db = new AxioDB({ GUI: true, RootName: "MyDB", CustomPath: "./data" });
|
|
@@ -24,6 +29,7 @@ export declare class AxioDB {
|
|
|
24
29
|
private ResponseHelper;
|
|
25
30
|
private static _instance;
|
|
26
31
|
private DatabaseMap;
|
|
32
|
+
private readonly cache;
|
|
27
33
|
private GUI;
|
|
28
34
|
private HTTP;
|
|
29
35
|
private TCP;
|
|
@@ -49,6 +55,8 @@ export declare class AxioDB {
|
|
|
49
55
|
* @returns {string} The current path.
|
|
50
56
|
*/
|
|
51
57
|
get GetPath(): string;
|
|
58
|
+
/** The shared InMemoryCache owned by this AxioDB instance, passed down to databases, collections, operations, transactions and the HTTP/TCP/MCP surfaces. */
|
|
59
|
+
get Cache(): InMemoryCache;
|
|
52
60
|
/**
|
|
53
61
|
* Creates a new database folder and updates the metadata file.
|
|
54
62
|
* @param DBName - The name of the database to create.
|
|
@@ -26,12 +26,14 @@ const Converter_helper_1 = __importDefault(require("../Helper/Converter.helper")
|
|
|
26
26
|
const Console_helper_1 = __importDefault(require("../Helper/Console.helper"));
|
|
27
27
|
const StatusCode_1 = require("../config/Keys/StatusCode");
|
|
28
28
|
const response_helper_1 = __importDefault(require("../Helper/response.helper"));
|
|
29
|
+
const PathSanitizer_helper_1 = __importDefault(require("../Helper/PathSanitizer.helper"));
|
|
29
30
|
const server_1 = __importDefault(require("../server/config/server"));
|
|
30
31
|
const server_2 = __importDefault(require("../tcp/config/server"));
|
|
31
32
|
const AuthSeeder_service_1 = __importDefault(require("./Auth/AuthSeeder.service"));
|
|
32
33
|
const Permissions_1 = require("../config/Keys/Permissions");
|
|
33
34
|
const LoginRateLimiter_service_1 = __importDefault(require("./Auth/LoginRateLimiter.service"));
|
|
34
35
|
const Logger_helper_1 = __importDefault(require("../Helper/Logger.helper"));
|
|
36
|
+
const memory_operation_1 = require("../Memory/memory.operation");
|
|
35
37
|
/**
|
|
36
38
|
* Class representing the AxioDB database.
|
|
37
39
|
* @param {AxioDBOptions} options - Configuration options for AxioDB
|
|
@@ -40,6 +42,10 @@ const Logger_helper_1 = __importDefault(require("../Helper/Logger.helper"));
|
|
|
40
42
|
* @param {string} options.CustomPath - Custom path for database storage. Defaults to current directory.
|
|
41
43
|
* @param {boolean} options.TCP - Enable/disable TCP server (port 27019). Defaults to false.
|
|
42
44
|
* @param {boolean} options.TCPAuth - Require username/password authentication (same RBAC users as the GUI) for TCP connections. Defaults to false.
|
|
45
|
+
* @param {boolean} options.Cache - Enable the built-in InMemoryCache shared across the whole instance. Defaults to true.
|
|
46
|
+
* @param {number} options.minTTL - Minimum cache entry lifetime in minutes. Defaults to 5.
|
|
47
|
+
* @param {number} options.maxTTL - Maximum cache entry lifetime in minutes. Defaults to 15.
|
|
48
|
+
* @param {number} options.cacheClearUp - Cache housekeeping cadence and search-query retention in seconds. Defaults to 86400.
|
|
43
49
|
* @returns {AxioDB} - Returns the instance of AxioDB.
|
|
44
50
|
* @example
|
|
45
51
|
* const db = new AxioDB({ GUI: true, RootName: "MyDB", CustomPath: "./data" });
|
|
@@ -58,7 +64,7 @@ class AxioDB {
|
|
|
58
64
|
throw new Error("Only one instance of AxioDB is allowed.");
|
|
59
65
|
}
|
|
60
66
|
AxioDB._instance = this;
|
|
61
|
-
const { GUI, RootName, CustomPath, TCP, TCPAuth, TLS, TLSCertPath, TLSKeyPath } = options;
|
|
67
|
+
const { GUI, RootName, CustomPath, TCP, TCPAuth, TLS, TLSCertPath, TLSKeyPath, Cache, minTTL, maxTTL, cacheClearUp } = options;
|
|
62
68
|
this.RootName = RootName || Keys_1.General.DBMS_Name;
|
|
63
69
|
this.currentPATH = path_1.default.resolve(CustomPath || ".");
|
|
64
70
|
this.fileManager = new FileManager_1.default();
|
|
@@ -66,6 +72,12 @@ class AxioDB {
|
|
|
66
72
|
this.Converter = new Converter_helper_1.default();
|
|
67
73
|
this.ResponseHelper = new response_helper_1.default();
|
|
68
74
|
this.DatabaseMap = new Map();
|
|
75
|
+
this.cache = new memory_operation_1.InMemoryCache({
|
|
76
|
+
enabled: Cache !== false,
|
|
77
|
+
minTTL: minTTL !== null && minTTL !== void 0 ? minTTL : 5,
|
|
78
|
+
maxTTL: maxTTL !== null && maxTTL !== void 0 ? maxTTL : 15,
|
|
79
|
+
cacheClearUp: cacheClearUp !== null && cacheClearUp !== void 0 ? cacheClearUp : 86400,
|
|
80
|
+
});
|
|
69
81
|
this.GUI = GUI !== undefined ? GUI : Keys_1.General.DBMS_GUI_Enable;
|
|
70
82
|
this.HTTP = options.HTTP !== undefined ? options.HTTP : (this.GUI ? true : false);
|
|
71
83
|
this.TCP = TCP !== undefined ? TCP : false;
|
|
@@ -139,6 +151,10 @@ class AxioDB {
|
|
|
139
151
|
get GetPath() {
|
|
140
152
|
return this.currentPATH;
|
|
141
153
|
}
|
|
154
|
+
/** The shared InMemoryCache owned by this AxioDB instance, passed down to databases, collections, operations, transactions and the HTTP/TCP/MCP surfaces. */
|
|
155
|
+
get Cache() {
|
|
156
|
+
return this.cache;
|
|
157
|
+
}
|
|
142
158
|
/**
|
|
143
159
|
* Creates a new database folder and updates the metadata file.
|
|
144
160
|
* @param DBName - The name of the database to create.
|
|
@@ -148,14 +164,14 @@ class AxioDB {
|
|
|
148
164
|
return __awaiter(this, void 0, void 0, function* () {
|
|
149
165
|
if (!this._initializing)
|
|
150
166
|
yield this.ready;
|
|
151
|
-
const dbPath =
|
|
167
|
+
const dbPath = PathSanitizer_helper_1.default.safePath(this.currentPATH, DBName);
|
|
152
168
|
// Check if the database already exists
|
|
153
169
|
const exists = yield this.folderManager.DirectoryExists(dbPath);
|
|
154
170
|
if (exists.statusCode !== StatusCode_1.StatusCodes.OK) {
|
|
155
171
|
yield this.folderManager.CreateDirectory(dbPath);
|
|
156
172
|
Logger_helper_1.default.info(`Database Created: ${dbPath}`);
|
|
157
173
|
}
|
|
158
|
-
const newDB = new database_operation_1.default(DBName, dbPath);
|
|
174
|
+
const newDB = new database_operation_1.default(DBName, dbPath, this.cache);
|
|
159
175
|
// Store database metadata in the DatabaseMap
|
|
160
176
|
// Note: The DatabaseMap is now storing an object instead of a Database instance
|
|
161
177
|
this.DatabaseMap.set(DBName, { DatabaseName: DBName, path: dbPath });
|
|
@@ -222,7 +238,7 @@ class AxioDB {
|
|
|
222
238
|
return __awaiter(this, void 0, void 0, function* () {
|
|
223
239
|
if (!this._initializing)
|
|
224
240
|
yield this.ready;
|
|
225
|
-
const dbPath =
|
|
241
|
+
const dbPath = PathSanitizer_helper_1.default.safePath(this.currentPATH, DBName);
|
|
226
242
|
const exists = yield this.folderManager.DirectoryExists(dbPath);
|
|
227
243
|
return exists.statusCode === StatusCode_1.StatusCodes.OK;
|
|
228
244
|
});
|
|
@@ -243,7 +259,7 @@ class AxioDB {
|
|
|
243
259
|
return __awaiter(this, void 0, void 0, function* () {
|
|
244
260
|
if (!this._initializing)
|
|
245
261
|
yield this.ready;
|
|
246
|
-
const dbPath =
|
|
262
|
+
const dbPath = PathSanitizer_helper_1.default.safePath(this.currentPATH, DBName);
|
|
247
263
|
const exists = yield this.folderManager.DirectoryExists(dbPath);
|
|
248
264
|
if (exists.statusCode === StatusCode_1.StatusCodes.OK) {
|
|
249
265
|
yield this.folderManager.DeleteDirectory(dbPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Services/Indexation.operation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,mBAAmB;AACnB,mFAA2D;AAC3D,uFAA+D;AAC/D,8CAA8C;AAC9C,gDAAwB;AACxB,4CAAoB;AACpB,uFAAqD;AACrD,kDAAkD;AAElD,iBAAiB;AACjB,kFAAmD;AACnD,8EAA+C;AAC/C,0DAAwD;AACxD,gFAAuD;
|
|
1
|
+
{"version":3,"file":"Indexation.operation.js","sourceRoot":"","sources":["../../source/Services/Indexation.operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ErrorInterface, SuccessInterface } from "../../config/Interfaces/Helper/response.helper.interface";
|
|
2
2
|
import { SessionOptions } from "../../config/Interfaces/Transaction/transaction.interface";
|
|
3
3
|
import Transaction from "./Transaction.service";
|
|
4
|
+
import type { InMemoryCache } from "../../Memory/memory.operation";
|
|
4
5
|
/**
|
|
5
6
|
* Session provides MongoDB-like session management for transactions.
|
|
6
7
|
* Supports automatic retry, timeout handling, and the withTransaction pattern.
|
|
@@ -8,12 +9,13 @@ import Transaction from "./Transaction.service";
|
|
|
8
9
|
export default class Session {
|
|
9
10
|
private readonly sessionId;
|
|
10
11
|
private readonly collectionPath;
|
|
12
|
+
private readonly cache;
|
|
11
13
|
private readonly options;
|
|
12
14
|
private readonly ResponseHelper;
|
|
13
15
|
private readonly startTime;
|
|
14
16
|
private isActive;
|
|
15
17
|
private currentTransaction;
|
|
16
|
-
constructor(collectionPath: string, options
|
|
18
|
+
constructor(collectionPath: string, options: SessionOptions | undefined, cache: InMemoryCache);
|
|
17
19
|
/**
|
|
18
20
|
* Gets the session ID
|
|
19
21
|
*/
|
|
@@ -20,12 +20,13 @@ const Transaction_service_1 = __importDefault(require("./Transaction.service"));
|
|
|
20
20
|
* Supports automatic retry, timeout handling, and the withTransaction pattern.
|
|
21
21
|
*/
|
|
22
22
|
class Session {
|
|
23
|
-
constructor(collectionPath, options = {}) {
|
|
23
|
+
constructor(collectionPath, options = {}, cache) {
|
|
24
24
|
var _a, _b, _c;
|
|
25
25
|
this.isActive = true;
|
|
26
26
|
this.currentTransaction = null;
|
|
27
27
|
this.sessionId = new UniqueGenerator_helper_1.default(20).RandomWord(true);
|
|
28
28
|
this.collectionPath = collectionPath;
|
|
29
|
+
this.cache = cache;
|
|
29
30
|
this.startTime = Date.now();
|
|
30
31
|
this.ResponseHelper = new response_helper_1.default();
|
|
31
32
|
// Default options
|
|
@@ -67,7 +68,7 @@ class Session {
|
|
|
67
68
|
if (this.currentTransaction) {
|
|
68
69
|
throw new Error("A transaction is already active in this session. Commit or rollback first.");
|
|
69
70
|
}
|
|
70
|
-
this.currentTransaction = new Transaction_service_1.default(this.collectionPath);
|
|
71
|
+
this.currentTransaction = new Transaction_service_1.default(this.collectionPath, this.cache);
|
|
71
72
|
return this.currentTransaction;
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/Session.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iGAAkE;AAMlE,mFAA0D;AAC1D,gFAAgD;
|
|
1
|
+
{"version":3,"file":"Session.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/Session.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ErrorInterface, SuccessInterface } from "../../config/Interfaces/Helper/response.helper.interface";
|
|
2
|
+
import type { InMemoryCache } from "../../Memory/memory.operation";
|
|
2
3
|
export default class Transaction {
|
|
3
4
|
private readonly collectionPath;
|
|
4
5
|
private readonly transactionId;
|
|
@@ -8,6 +9,7 @@ export default class Transaction {
|
|
|
8
9
|
private readonly Registry;
|
|
9
10
|
private readonly IndexManager;
|
|
10
11
|
private readonly ResponseHelper;
|
|
12
|
+
private readonly cache;
|
|
11
13
|
private readonly Converter;
|
|
12
14
|
private readonly FileManager;
|
|
13
15
|
private readonly startTime;
|
|
@@ -16,7 +18,7 @@ export default class Transaction {
|
|
|
16
18
|
private savepoints;
|
|
17
19
|
private pendingWALEntries;
|
|
18
20
|
private resolvedOperations;
|
|
19
|
-
constructor(collectionPath: string);
|
|
21
|
+
constructor(collectionPath: string, cache: InMemoryCache);
|
|
20
22
|
getId(): string;
|
|
21
23
|
getCollectionPath(): string;
|
|
22
24
|
/**
|
|
@@ -51,7 +51,6 @@ const FileManager_1 = __importDefault(require("../../engine/Filesystem/FileManag
|
|
|
51
51
|
const FolderManager_1 = __importDefault(require("../../engine/Filesystem/FolderManager"));
|
|
52
52
|
const Converter_helper_1 = __importDefault(require("../../Helper/Converter.helper"));
|
|
53
53
|
const response_helper_1 = __importDefault(require("../../Helper/response.helper"));
|
|
54
|
-
const memory_operation_1 = __importDefault(require("../../Memory/memory.operation"));
|
|
55
54
|
const LockManager_service_1 = __importDefault(require("./LockManager.service"));
|
|
56
55
|
const TransactionIndexManager_service_1 = __importDefault(require("./TransactionIndexManager.service"));
|
|
57
56
|
const TransactionRegistry_service_1 = __importDefault(require("./TransactionRegistry.service"));
|
|
@@ -60,7 +59,7 @@ const WriteAheadLog_service_1 = __importDefault(require("./WriteAheadLog.service
|
|
|
60
59
|
// suffix is what keeps this scan from matching the registry's own txn-meta.jsonl.
|
|
61
60
|
const WAL_FILE_EXT = Keys_1.General.WAL_File_EXT;
|
|
62
61
|
class Transaction {
|
|
63
|
-
constructor(collectionPath) {
|
|
62
|
+
constructor(collectionPath, cache) {
|
|
64
63
|
this.operations = [];
|
|
65
64
|
this.timeoutMs = 30000;
|
|
66
65
|
this.lockedDocuments = [];
|
|
@@ -70,6 +69,7 @@ class Transaction {
|
|
|
70
69
|
this.transactionId = new UniqueGenerator_helper_1.default(15).RandomWord(true);
|
|
71
70
|
this.collectionPath = collectionPath;
|
|
72
71
|
this.startTime = Date.now();
|
|
72
|
+
this.cache = cache;
|
|
73
73
|
this.WAL = new WriteAheadLog_service_1.default(collectionPath, this.transactionId);
|
|
74
74
|
this.LockManager = LockManager_service_1.default.getInstance(collectionPath);
|
|
75
75
|
this.Registry = new TransactionRegistry_service_1.default(collectionPath);
|
|
@@ -221,14 +221,14 @@ class Transaction {
|
|
|
221
221
|
// leaving unrelated cached queries (e.g. a disjoint range) untouched.
|
|
222
222
|
const hasInsert = this.resolvedOperations.some((op) => op.type === 'INSERT');
|
|
223
223
|
if (hasInsert) {
|
|
224
|
-
yield
|
|
224
|
+
yield this.cache.invalidateByCollection(this.collectionPath);
|
|
225
225
|
}
|
|
226
226
|
else {
|
|
227
227
|
const affectedDocumentIds = this.resolvedOperations
|
|
228
228
|
.map((op) => op.documentId)
|
|
229
229
|
.filter((id) => Boolean(id));
|
|
230
230
|
if (affectedDocumentIds.length > 0) {
|
|
231
|
-
yield
|
|
231
|
+
yield this.cache.invalidateByDocuments(this.collectionPath, affectedDocumentIds);
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
yield this.WAL.deleteWAL();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/Transaction.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Transaction.service.js","sourceRoot":"","sources":["../../../source/Services/Transaction/Transaction.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,14 @@ export interface AxioDBOptions {
|
|
|
14
14
|
TLSCertPath?: string;
|
|
15
15
|
/** Path to the PEM-encoded private key file matching `TLSCertPath`. Required when `TLS: true`. */
|
|
16
16
|
TLSKeyPath?: string;
|
|
17
|
+
/** Enable the built-in InMemoryCache. Defaults to true - when false the cache stores nothing and every read goes to disk. */
|
|
18
|
+
Cache?: boolean;
|
|
19
|
+
/** Minimum cache entry lifetime in minutes. Defaults to 5. */
|
|
20
|
+
minTTL?: number;
|
|
21
|
+
/** Maximum cache entry lifetime in minutes. Defaults to 15. */
|
|
22
|
+
maxTTL?: number;
|
|
23
|
+
/** Cache housekeeping cleanup cadence and search-query retention, in seconds. Defaults to 86400 (24 hours). */
|
|
24
|
+
cacheClearUp?: number;
|
|
17
25
|
}
|
|
18
26
|
export interface FinalDatabaseInfo {
|
|
19
27
|
CurrentPath: string;
|