axiodb 19.1.1 → 20.3.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.
Files changed (228) hide show
  1. package/README.md +86 -9
  2. package/cli/VERSION +1 -1
  3. package/cli/cmd/auth_management.go +68 -0
  4. package/cli/cmd/document.go +33 -0
  5. package/cli/cmd/health.go +19 -0
  6. package/cli/cmd/transaction.go +191 -0
  7. package/cli/cmd/version.go +1 -1
  8. package/cli/pkg/commands/document.go +19 -0
  9. package/cli/pkg/commands/health.go +18 -0
  10. package/cli/pkg/commands/transaction.go +84 -0
  11. package/cli/pkg/httpclient/client.go +76 -0
  12. package/lib/Helper/Console.helper.js.map +1 -1
  13. package/lib/Helper/Converter.helper.d.ts +1 -1
  14. package/lib/Helper/Converter.helper.js +0 -1
  15. package/lib/Helper/Converter.helper.js.map +1 -1
  16. package/lib/Helper/DocumentLoader.helper.js +2 -1
  17. package/lib/Helper/DocumentLoader.helper.js.map +1 -1
  18. package/lib/Helper/Logger.helper.d.ts +5 -0
  19. package/lib/Helper/Logger.helper.js +45 -0
  20. package/lib/Helper/Logger.helper.js.map +1 -0
  21. package/lib/Helper/PathSanitizer.helper.js.map +1 -1
  22. package/lib/Helper/SortedIndexValues.helper.js.map +1 -1
  23. package/lib/Helper/UniqueGenerator.helper.js.map +1 -1
  24. package/lib/Helper/response.helper.d.ts +2 -2
  25. package/lib/Helper/response.helper.js +6 -3
  26. package/lib/Helper/response.helper.js.map +1 -1
  27. package/lib/Memory/memory.operation.d.ts +9 -4
  28. package/lib/Memory/memory.operation.js +3 -3
  29. package/lib/Memory/memory.operation.js.map +1 -1
  30. package/lib/Services/Aggregation/Aggregation.Operation.d.ts +1 -1
  31. package/lib/Services/Aggregation/Aggregation.Operation.js +0 -1
  32. package/lib/Services/Aggregation/Aggregation.Operation.js.map +1 -1
  33. package/lib/Services/Aggregation/OperatorRegistry.js.map +1 -1
  34. package/lib/Services/Aggregation/operators/accumulatorOperators.d.ts +12 -12
  35. package/lib/Services/Aggregation/operators/accumulatorOperators.js +2 -3
  36. package/lib/Services/Aggregation/operators/accumulatorOperators.js.map +1 -1
  37. package/lib/Services/Aggregation/operators/expressionOperators.d.ts +3 -3
  38. package/lib/Services/Aggregation/operators/expressionOperators.js +111 -108
  39. package/lib/Services/Aggregation/operators/expressionOperators.js.map +1 -1
  40. package/lib/Services/Aggregation/operators/stageOperators.d.ts +20 -37
  41. package/lib/Services/Aggregation/operators/stageOperators.js +11 -11
  42. package/lib/Services/Aggregation/operators/stageOperators.js.map +1 -1
  43. package/lib/Services/Auth/AuthEvents.service.js.map +1 -1
  44. package/lib/Services/Auth/AuthSeeder.service.js +2 -2
  45. package/lib/Services/Auth/AuthSeeder.service.js.map +1 -1
  46. package/lib/Services/Auth/AuthService.service.js +5 -8
  47. package/lib/Services/Auth/AuthService.service.js.map +1 -1
  48. package/lib/Services/Auth/ConfigDatabase.service.js.map +1 -1
  49. package/lib/Services/Auth/CookieCodec.helper.js.map +1 -1
  50. package/lib/Services/Auth/LoginRateLimiter.service.js.map +1 -1
  51. package/lib/Services/Auth/PasswordHasher.helper.js.map +1 -1
  52. package/lib/Services/Auth/PermissionChecker.helper.js.map +1 -1
  53. package/lib/Services/Auth/SessionStore.service.js.map +1 -1
  54. package/lib/Services/CRUD Operation/Create.operation.js +0 -1
  55. package/lib/Services/CRUD Operation/Create.operation.js.map +1 -1
  56. package/lib/Services/CRUD Operation/Delete.operation.d.ts +2 -2
  57. package/lib/Services/CRUD Operation/Delete.operation.js +2 -3
  58. package/lib/Services/CRUD Operation/Delete.operation.js.map +1 -1
  59. package/lib/Services/CRUD Operation/Reader.operation.d.ts +11 -3
  60. package/lib/Services/CRUD Operation/Reader.operation.js +76 -40
  61. package/lib/Services/CRUD Operation/Reader.operation.js.map +1 -1
  62. package/lib/Services/CRUD Operation/Update.operation.d.ts +4 -4
  63. package/lib/Services/CRUD Operation/Update.operation.js +2 -2
  64. package/lib/Services/CRUD Operation/Update.operation.js.map +1 -1
  65. package/lib/Services/Collection/collection.operation.d.ts +10 -3
  66. package/lib/Services/Collection/collection.operation.js +32 -7
  67. package/lib/Services/Collection/collection.operation.js.map +1 -1
  68. package/lib/Services/Database/database.operation.js +13 -9
  69. package/lib/Services/Database/database.operation.js.map +1 -1
  70. package/lib/Services/Index/Index.service.d.ts +1 -1
  71. package/lib/Services/Index/Index.service.js +1 -1
  72. package/lib/Services/Index/Index.service.js.map +1 -1
  73. package/lib/Services/Index/IndexCache.service.js +4 -5
  74. package/lib/Services/Index/IndexCache.service.js.map +1 -1
  75. package/lib/Services/Index/ReadIndex.service.d.ts +4 -4
  76. package/lib/Services/Index/ReadIndex.service.js +10 -9
  77. package/lib/Services/Index/ReadIndex.service.js.map +1 -1
  78. package/lib/Services/Indexation.operation.d.ts +1 -1
  79. package/lib/Services/Indexation.operation.js +7 -6
  80. package/lib/Services/Indexation.operation.js.map +1 -1
  81. package/lib/Services/Transaction/LockManager.service.js +3 -4
  82. package/lib/Services/Transaction/LockManager.service.js.map +1 -1
  83. package/lib/Services/Transaction/Session.service.js +9 -7
  84. package/lib/Services/Transaction/Session.service.js.map +1 -1
  85. package/lib/Services/Transaction/Transaction.service.d.ts +4 -2
  86. package/lib/Services/Transaction/Transaction.service.js +7 -2
  87. package/lib/Services/Transaction/Transaction.service.js.map +1 -1
  88. package/lib/Services/Transaction/TransactionIndexManager.service.d.ts +1 -1
  89. package/lib/Services/Transaction/TransactionIndexManager.service.js +11 -6
  90. package/lib/Services/Transaction/TransactionIndexManager.service.js.map +1 -1
  91. package/lib/Services/Transaction/TransactionRegistry.service.js.map +1 -1
  92. package/lib/Services/Transaction/WriteAheadLog.service.js +0 -1
  93. package/lib/Services/Transaction/WriteAheadLog.service.js.map +1 -1
  94. package/lib/client/AggregationProxy.js.map +1 -1
  95. package/lib/client/AxioDBCloud.client.d.ts +15 -2
  96. package/lib/client/AxioDBCloud.client.js +24 -2
  97. package/lib/client/AxioDBCloud.client.js.map +1 -1
  98. package/lib/client/CollectionProxy.d.ts +8 -0
  99. package/lib/client/CollectionProxy.js +26 -0
  100. package/lib/client/CollectionProxy.js.map +1 -1
  101. package/lib/client/DatabaseProxy.js.map +1 -1
  102. package/lib/client/DeleteOperationProxy.js.map +1 -1
  103. package/lib/client/PooledConnection.d.ts +1 -1
  104. package/lib/client/PooledConnection.js +6 -3
  105. package/lib/client/PooledConnection.js.map +1 -1
  106. package/lib/client/ReaderProxy.d.ts +3 -1
  107. package/lib/client/ReaderProxy.js +7 -0
  108. package/lib/client/ReaderProxy.js.map +1 -1
  109. package/lib/client/TransactionProxy.d.ts +37 -0
  110. package/lib/client/TransactionProxy.js +101 -0
  111. package/lib/client/TransactionProxy.js.map +1 -0
  112. package/lib/client/UpdateOperationProxy.js.map +1 -1
  113. package/lib/client/types/client.types.js.map +1 -1
  114. package/lib/config/DB.js.map +1 -1
  115. package/lib/config/Interfaces/Helper/response.helper.interface.d.ts +2 -2
  116. package/lib/config/Interfaces/Helper/response.helper.interface.js +0 -1
  117. package/lib/config/Interfaces/Helper/response.helper.interface.js.map +1 -1
  118. package/lib/config/Interfaces/Operation/aggregation.interface.d.ts +4 -4
  119. package/lib/config/Interfaces/Operation/aggregation.interface.js +0 -1
  120. package/lib/config/Interfaces/Operation/aggregation.interface.js.map +1 -1
  121. package/lib/config/Interfaces/Operation/database.operation.interface.d.ts +4 -1
  122. package/lib/config/Interfaces/Operation/database.operation.interface.js +0 -1
  123. package/lib/config/Interfaces/Operation/database.operation.interface.js.map +1 -1
  124. package/lib/config/Interfaces/Transaction/transaction.interface.d.ts +3 -3
  125. package/lib/config/Interfaces/shared.types.d.ts +36 -0
  126. package/lib/config/Interfaces/shared.types.js +7 -0
  127. package/lib/config/Interfaces/shared.types.js.map +1 -0
  128. package/lib/config/Keys/Keys.js.map +1 -1
  129. package/lib/config/Keys/Permissions.js.map +1 -1
  130. package/lib/config/Keys/StatusCode.js.map +1 -1
  131. package/lib/engine/Filesystem/FileManager.js +3 -4
  132. package/lib/engine/Filesystem/FileManager.js.map +1 -1
  133. package/lib/engine/Filesystem/FolderManager.js +11 -11
  134. package/lib/engine/Filesystem/FolderManager.js.map +1 -1
  135. package/lib/engine/cli/worker_process.js.map +1 -1
  136. package/lib/engine/node/WorkerForDataLoad.engine.js +7 -6
  137. package/lib/engine/node/WorkerForDataLoad.engine.js.map +1 -1
  138. package/lib/engine/node/WorkerForSearch.engine.js +0 -1
  139. package/lib/engine/node/WorkerForSearch.engine.js.map +1 -1
  140. package/lib/server/config/PortFreeChecker.js +0 -1
  141. package/lib/server/config/PortFreeChecker.js.map +1 -1
  142. package/lib/server/config/keys.js +0 -1
  143. package/lib/server/config/keys.js.map +1 -1
  144. package/lib/server/config/server.js +2 -2
  145. package/lib/server/config/server.js.map +1 -1
  146. package/lib/server/controller/Auth/Auth.controller.js.map +1 -1
  147. package/lib/server/controller/Auth/RoleManagement.controller.js.map +1 -1
  148. package/lib/server/controller/Auth/UserManagement.controller.js.map +1 -1
  149. package/lib/server/controller/Collections/Collection.controller.js +9 -7
  150. package/lib/server/controller/Collections/Collection.controller.js.map +1 -1
  151. package/lib/server/controller/Database/Databse.controller.js +12 -13
  152. package/lib/server/controller/Database/Databse.controller.js.map +1 -1
  153. package/lib/server/controller/Index/Index.controller.js +4 -3
  154. package/lib/server/controller/Index/Index.controller.js.map +1 -1
  155. package/lib/server/controller/Operation/CRUD.controller.d.ts +1 -0
  156. package/lib/server/controller/Operation/CRUD.controller.js +42 -18
  157. package/lib/server/controller/Operation/CRUD.controller.js.map +1 -1
  158. package/lib/server/controller/Stats.controller.js +21 -15
  159. package/lib/server/controller/Stats.controller.js.map +1 -1
  160. package/lib/server/helper/databaseImport.helper.js.map +1 -1
  161. package/lib/server/helper/documentCounterInFolder.helper.js.map +1 -1
  162. package/lib/server/helper/responseBuilder.helper.d.ts +2 -2
  163. package/lib/server/helper/responseBuilder.helper.js.map +1 -1
  164. package/lib/server/middleware/auth.middleware.js.map +1 -1
  165. package/lib/server/middleware/permission.middleware.js.map +1 -1
  166. package/lib/server/router/Router.js +8 -7
  167. package/lib/server/router/Router.js.map +1 -1
  168. package/lib/server/router/Routers/Auth.routes.js.map +1 -1
  169. package/lib/server/router/Routers/Collection.routes.js +3 -3
  170. package/lib/server/router/Routers/Collection.routes.js.map +1 -1
  171. package/lib/server/router/Routers/DB.routes.js +1 -1
  172. package/lib/server/router/Routers/DB.routes.js.map +1 -1
  173. package/lib/server/router/Routers/Index.routes.js.map +1 -1
  174. package/lib/server/router/Routers/Operation.routes.js +25 -10
  175. package/lib/server/router/Routers/Operation.routes.js.map +1 -1
  176. package/lib/server/router/Routers/RoleManagement.routes.js.map +1 -1
  177. package/lib/server/router/Routers/UserManagement.routes.js.map +1 -1
  178. package/lib/tcp/config/keys.d.ts +32 -32
  179. package/lib/tcp/config/keys.js.map +1 -1
  180. package/lib/tcp/config/permissions.d.ts +1 -4
  181. package/lib/tcp/config/permissions.js +8 -4
  182. package/lib/tcp/config/permissions.js.map +1 -1
  183. package/lib/tcp/config/protocol.d.ts +3 -3
  184. package/lib/tcp/config/protocol.js +31 -9
  185. package/lib/tcp/config/protocol.js.map +1 -1
  186. package/lib/tcp/config/server.js +17 -12
  187. package/lib/tcp/config/server.js.map +1 -1
  188. package/lib/tcp/connection/ConnectionManager.js.map +1 -1
  189. package/lib/tcp/connection/ConnectionRateLimiter.js.map +1 -1
  190. package/lib/tcp/connection/RequestContext.d.ts +2 -2
  191. package/lib/tcp/connection/RequestContext.js.map +1 -1
  192. package/lib/tcp/connection/TransactionManager.d.ts +26 -0
  193. package/lib/tcp/connection/TransactionManager.js +114 -0
  194. package/lib/tcp/connection/TransactionManager.js.map +1 -0
  195. package/lib/tcp/handler/CommandHandler.d.ts +3 -0
  196. package/lib/tcp/handler/CommandHandler.js +32 -8
  197. package/lib/tcp/handler/CommandHandler.js.map +1 -1
  198. package/lib/tcp/handler/handlers/Auth.handler.d.ts +4 -2
  199. package/lib/tcp/handler/handlers/Auth.handler.js.map +1 -1
  200. package/lib/tcp/handler/handlers/Collection.handler.d.ts +7 -5
  201. package/lib/tcp/handler/handlers/Collection.handler.js +1 -3
  202. package/lib/tcp/handler/handlers/Collection.handler.js.map +1 -1
  203. package/lib/tcp/handler/handlers/DB.handler.d.ts +6 -4
  204. package/lib/tcp/handler/handlers/DB.handler.js +1 -2
  205. package/lib/tcp/handler/handlers/DB.handler.js.map +1 -1
  206. package/lib/tcp/handler/handlers/Operation.handler.d.ts +19 -57
  207. package/lib/tcp/handler/handlers/Operation.handler.js +138 -167
  208. package/lib/tcp/handler/handlers/Operation.handler.js.map +1 -1
  209. package/lib/tcp/handler/handlers/Transaction.handler.d.ts +18 -0
  210. package/lib/tcp/handler/handlers/Transaction.handler.js +199 -0
  211. package/lib/tcp/handler/handlers/Transaction.handler.js.map +1 -0
  212. package/lib/tcp/types/command.types.d.ts +6 -1
  213. package/lib/tcp/types/command.types.js +11 -1
  214. package/lib/tcp/types/command.types.js.map +1 -1
  215. package/lib/tcp/types/protocol.types.d.ts +10 -7
  216. package/lib/tcp/types/protocol.types.js.map +1 -1
  217. package/lib/utility/BufferLoaderWithWorker.utils.js +6 -5
  218. package/lib/utility/BufferLoaderWithWorker.utils.js.map +1 -1
  219. package/lib/utility/Searcher.utils.d.ts +3 -7
  220. package/lib/utility/Searcher.utils.js +49 -49
  221. package/lib/utility/Searcher.utils.js.map +1 -1
  222. package/lib/utility/SortData.utils.d.ts +3 -2
  223. package/lib/utility/SortData.utils.js +3 -19
  224. package/lib/utility/SortData.utils.js.map +1 -1
  225. package/lib/utility/ZipUnzip.utils.d.ts +2 -2
  226. package/lib/utility/ZipUnzip.utils.js +2 -2
  227. package/lib/utility/ZipUnzip.utils.js.map +1 -1
  228. package/package.json +10 -5
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const keys_1 = require("../../config/keys");
16
+ const TransactionManager_1 = __importDefault(require("../../connection/TransactionManager"));
17
+ const Permissions_1 = require("../../../config/Keys/Permissions");
18
+ class TransactionHandler {
19
+ constructor(axioDB) {
20
+ this.axioDB = axioDB;
21
+ this.txnManager = TransactionManager_1.default.getInstance();
22
+ }
23
+ handleBegin(requestId, params, connectionId) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const { dbName, collectionName } = params;
26
+ if (!dbName || typeof dbName !== 'string') {
27
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'dbName is required');
28
+ }
29
+ if (!collectionName || typeof collectionName !== 'string') {
30
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'collectionName is required');
31
+ }
32
+ if ((0, Permissions_1.isReservedDatabaseName)(dbName)) {
33
+ return this.error(requestId, keys_1.StatusCode.FORBIDDEN, 'This is a reserved system database');
34
+ }
35
+ try {
36
+ const databaseInstance = yield this.axioDB.createDB(dbName);
37
+ const collection = yield databaseInstance.createCollection(collectionName);
38
+ const collectionPath = collection.getCollectionPath();
39
+ const txn = this.txnManager.beginTransaction(connectionId, collectionPath);
40
+ const transactionId = txn.getId();
41
+ return {
42
+ id: requestId,
43
+ statusCode: keys_1.StatusCode.OK,
44
+ message: 'Transaction started',
45
+ data: { transactionId },
46
+ };
47
+ }
48
+ catch (error) {
49
+ return this.error(requestId, keys_1.StatusCode.INTERNAL_SERVER_ERROR, error instanceof Error ? error.message : String(error));
50
+ }
51
+ });
52
+ }
53
+ handleCommit(requestId, params, connectionId) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const { transactionId } = params;
56
+ if (!transactionId || typeof transactionId !== 'string') {
57
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'transactionId is required');
58
+ }
59
+ const txn = this.txnManager.getTransaction(connectionId, transactionId);
60
+ if (!txn) {
61
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'No active transaction with this ID on this connection');
62
+ }
63
+ try {
64
+ const result = yield txn.commit();
65
+ this.txnManager.removeTransaction(connectionId, transactionId);
66
+ if ('status' in result && result.status === true) {
67
+ return {
68
+ id: requestId,
69
+ statusCode: keys_1.StatusCode.OK,
70
+ message: result.data && typeof result.data === 'object' && 'message' in result.data
71
+ ? result.data.message
72
+ : 'Transaction committed successfully',
73
+ data: result.data,
74
+ };
75
+ }
76
+ return this.error(requestId, keys_1.StatusCode.INTERNAL_SERVER_ERROR, 'message' in result ? result.message : 'Transaction commit failed');
77
+ }
78
+ catch (error) {
79
+ this.txnManager.removeTransaction(connectionId, transactionId);
80
+ return this.error(requestId, keys_1.StatusCode.INTERNAL_SERVER_ERROR, error instanceof Error ? error.message : String(error));
81
+ }
82
+ });
83
+ }
84
+ handleRollback(requestId, params, connectionId) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const { transactionId } = params;
87
+ if (!transactionId || typeof transactionId !== 'string') {
88
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'transactionId is required');
89
+ }
90
+ const txn = this.txnManager.getTransaction(connectionId, transactionId);
91
+ if (!txn) {
92
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'No active transaction with this ID on this connection');
93
+ }
94
+ try {
95
+ const result = yield txn.rollback();
96
+ this.txnManager.removeTransaction(connectionId, transactionId);
97
+ return {
98
+ id: requestId,
99
+ statusCode: keys_1.StatusCode.OK,
100
+ message: 'Transaction rolled back successfully',
101
+ data: result,
102
+ };
103
+ }
104
+ catch (error) {
105
+ this.txnManager.removeTransaction(connectionId, transactionId);
106
+ return this.error(requestId, keys_1.StatusCode.INTERNAL_SERVER_ERROR, error instanceof Error ? error.message : String(error));
107
+ }
108
+ });
109
+ }
110
+ handleSavepoint(requestId, params, connectionId) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const { transactionId, savepointName } = params;
113
+ if (!transactionId || typeof transactionId !== 'string') {
114
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'transactionId is required');
115
+ }
116
+ if (!savepointName || typeof savepointName !== 'string') {
117
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'savepointName is required');
118
+ }
119
+ const txn = this.txnManager.getTransaction(connectionId, transactionId);
120
+ if (!txn) {
121
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'No active transaction with this ID on this connection');
122
+ }
123
+ try {
124
+ txn.savepoint(savepointName);
125
+ return {
126
+ id: requestId,
127
+ statusCode: keys_1.StatusCode.OK,
128
+ message: `Savepoint '${savepointName}' created`,
129
+ data: { transactionId, savepointName },
130
+ };
131
+ }
132
+ catch (error) {
133
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, error instanceof Error ? error.message : String(error));
134
+ }
135
+ });
136
+ }
137
+ handleRollbackToSavepoint(requestId, params, connectionId) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ const { transactionId, savepointName } = params;
140
+ if (!transactionId || typeof transactionId !== 'string') {
141
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'transactionId is required');
142
+ }
143
+ if (!savepointName || typeof savepointName !== 'string') {
144
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'savepointName is required');
145
+ }
146
+ const txn = this.txnManager.getTransaction(connectionId, transactionId);
147
+ if (!txn) {
148
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'No active transaction with this ID on this connection');
149
+ }
150
+ try {
151
+ txn.rollbackTo(savepointName);
152
+ return {
153
+ id: requestId,
154
+ statusCode: keys_1.StatusCode.OK,
155
+ message: `Rolled back to savepoint '${savepointName}'`,
156
+ data: { transactionId, savepointName },
157
+ };
158
+ }
159
+ catch (error) {
160
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, error instanceof Error ? error.message : String(error));
161
+ }
162
+ });
163
+ }
164
+ handleReleaseSavepoint(requestId, params, connectionId) {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ const { transactionId, savepointName } = params;
167
+ if (!transactionId || typeof transactionId !== 'string') {
168
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'transactionId is required');
169
+ }
170
+ if (!savepointName || typeof savepointName !== 'string') {
171
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'savepointName is required');
172
+ }
173
+ const txn = this.txnManager.getTransaction(connectionId, transactionId);
174
+ if (!txn) {
175
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, 'No active transaction with this ID on this connection');
176
+ }
177
+ try {
178
+ txn.releaseSavepoint(savepointName);
179
+ return {
180
+ id: requestId,
181
+ statusCode: keys_1.StatusCode.OK,
182
+ message: `Savepoint '${savepointName}' released`,
183
+ data: { transactionId, savepointName },
184
+ };
185
+ }
186
+ catch (error) {
187
+ return this.error(requestId, keys_1.StatusCode.BAD_REQUEST, error instanceof Error ? error.message : String(error));
188
+ }
189
+ });
190
+ }
191
+ getTransactionManager() {
192
+ return this.txnManager;
193
+ }
194
+ error(id, statusCode, message) {
195
+ return { id, statusCode, message, error: message };
196
+ }
197
+ }
198
+ exports.default = TransactionHandler;
199
+ //# sourceMappingURL=Transaction.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transaction.handler.js","sourceRoot":"","sources":["../../../../source/tcp/handler/handlers/Transaction.handler.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export declare enum CommandType {
6
6
  PING = "PING",
7
+ HEALTH = "HEALTH",
7
8
  DISCONNECT = "DISCONNECT",
8
9
  AUTHENTICATE = "AUTHENTICATE",
9
10
  CREATE_DB = "CREATE_DB",
@@ -18,6 +19,7 @@ export declare enum CommandType {
18
19
  INSERT_MANY_DOCUMENTS = "INSERT_MANY_DOCUMENTS",
19
20
  QUERY_DOCUMENTS = "QUERY_DOCUMENTS",
20
21
  QUERY_BY_ID = "QUERY_BY_ID",
22
+ FIND_BY_IDS = "FIND_BY_IDS",
21
23
  UPDATE_DOCUMENT_BY_ID = "UPDATE_DOCUMENT_BY_ID",
22
24
  UPDATE_DOCUMENTS_BY_QUERY = "UPDATE_DOCUMENTS_BY_QUERY",
23
25
  DELETE_DOCUMENT_BY_ID = "DELETE_DOCUMENT_BY_ID",
@@ -29,7 +31,10 @@ export declare enum CommandType {
29
31
  LIST_INDEXES = "LIST_INDEXES",
30
32
  BEGIN_TRANSACTION = "BEGIN_TRANSACTION",
31
33
  COMMIT_TRANSACTION = "COMMIT_TRANSACTION",
32
- ROLLBACK_TRANSACTION = "ROLLBACK_TRANSACTION"
34
+ ROLLBACK_TRANSACTION = "ROLLBACK_TRANSACTION",
35
+ SAVEPOINT = "SAVEPOINT",
36
+ ROLLBACK_TO_SAVEPOINT = "ROLLBACK_TO_SAVEPOINT",
37
+ RELEASE_SAVEPOINT = "RELEASE_SAVEPOINT"
33
38
  }
34
39
  /**
35
40
  * Command documentation map for better error messages
@@ -9,6 +9,7 @@ var CommandType;
9
9
  (function (CommandType) {
10
10
  // Connection Commands
11
11
  CommandType["PING"] = "PING";
12
+ CommandType["HEALTH"] = "HEALTH";
12
13
  CommandType["DISCONNECT"] = "DISCONNECT";
13
14
  // Authentication Commands
14
15
  CommandType["AUTHENTICATE"] = "AUTHENTICATE";
@@ -27,6 +28,7 @@ var CommandType;
27
28
  CommandType["INSERT_MANY_DOCUMENTS"] = "INSERT_MANY_DOCUMENTS";
28
29
  CommandType["QUERY_DOCUMENTS"] = "QUERY_DOCUMENTS";
29
30
  CommandType["QUERY_BY_ID"] = "QUERY_BY_ID";
31
+ CommandType["FIND_BY_IDS"] = "FIND_BY_IDS";
30
32
  CommandType["UPDATE_DOCUMENT_BY_ID"] = "UPDATE_DOCUMENT_BY_ID";
31
33
  CommandType["UPDATE_DOCUMENTS_BY_QUERY"] = "UPDATE_DOCUMENTS_BY_QUERY";
32
34
  CommandType["DELETE_DOCUMENT_BY_ID"] = "DELETE_DOCUMENT_BY_ID";
@@ -37,16 +39,20 @@ var CommandType;
37
39
  CommandType["CREATE_INDEX"] = "CREATE_INDEX";
38
40
  CommandType["DROP_INDEX"] = "DROP_INDEX";
39
41
  CommandType["LIST_INDEXES"] = "LIST_INDEXES";
40
- // Transaction Operations (future)
42
+ // Transaction Operations
41
43
  CommandType["BEGIN_TRANSACTION"] = "BEGIN_TRANSACTION";
42
44
  CommandType["COMMIT_TRANSACTION"] = "COMMIT_TRANSACTION";
43
45
  CommandType["ROLLBACK_TRANSACTION"] = "ROLLBACK_TRANSACTION";
46
+ CommandType["SAVEPOINT"] = "SAVEPOINT";
47
+ CommandType["ROLLBACK_TO_SAVEPOINT"] = "ROLLBACK_TO_SAVEPOINT";
48
+ CommandType["RELEASE_SAVEPOINT"] = "RELEASE_SAVEPOINT";
44
49
  })(CommandType || (exports.CommandType = CommandType = {}));
45
50
  /**
46
51
  * Command documentation map for better error messages
47
52
  */
48
53
  exports.CommandDocumentation = {
49
54
  [CommandType.PING]: 'Heartbeat ping to verify connection',
55
+ [CommandType.HEALTH]: 'Get TCP service health status',
50
56
  [CommandType.DISCONNECT]: 'Gracefully disconnect from server',
51
57
  [CommandType.AUTHENTICATE]: 'Authenticate with username and password',
52
58
  [CommandType.CREATE_DB]: 'Create a new database',
@@ -61,6 +67,7 @@ exports.CommandDocumentation = {
61
67
  [CommandType.INSERT_MANY_DOCUMENTS]: 'Insert multiple documents into collection',
62
68
  [CommandType.QUERY_DOCUMENTS]: 'Query documents with filters and options',
63
69
  [CommandType.QUERY_BY_ID]: 'Query document by ID',
70
+ [CommandType.FIND_BY_IDS]: 'Retrieve multiple documents by their IDs',
64
71
  [CommandType.UPDATE_DOCUMENT_BY_ID]: 'Update document by ID',
65
72
  [CommandType.UPDATE_DOCUMENTS_BY_QUERY]: 'Update documents matching query',
66
73
  [CommandType.DELETE_DOCUMENT_BY_ID]: 'Delete document by ID',
@@ -73,5 +80,8 @@ exports.CommandDocumentation = {
73
80
  [CommandType.BEGIN_TRANSACTION]: 'Begin database transaction',
74
81
  [CommandType.COMMIT_TRANSACTION]: 'Commit database transaction',
75
82
  [CommandType.ROLLBACK_TRANSACTION]: 'Rollback database transaction',
83
+ [CommandType.SAVEPOINT]: 'Create a savepoint within a transaction',
84
+ [CommandType.ROLLBACK_TO_SAVEPOINT]: 'Rollback to a specific savepoint',
85
+ [CommandType.RELEASE_SAVEPOINT]: 'Release a savepoint',
76
86
  };
77
87
  //# sourceMappingURL=command.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.types.js","sourceRoot":"","sources":["../../../source/tcp/types/command.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,IAAY,WAyCX;AAzCD,WAAY,WAAW;IACrB,sBAAsB;IACtB,4BAAa,CAAA;IACb,wCAAyB,CAAA;IAEzB,0BAA0B;IAC1B,4CAA6B,CAAA;IAE7B,sBAAsB;IACtB,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,sDAAuC,CAAA;IAEvC,wBAAwB;IACxB,sDAAuC,CAAA;IACvC,sDAAuC,CAAA;IACvC,sDAAuC,CAAA;IACvC,0DAA2C,CAAA;IAE3C,kBAAkB;IAClB,kDAAmC,CAAA;IACnC,8DAA+C,CAAA;IAC/C,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,8DAA+C,CAAA;IAC/C,sEAAuD,CAAA;IACvD,8DAA+C,CAAA;IAC/C,sEAAuD,CAAA;IACvD,sCAAuB,CAAA;IACvB,kDAAmC,CAAA;IAEnC,mBAAmB;IACnB,4CAA6B,CAAA;IAC7B,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;IAE7B,kCAAkC;IAClC,sDAAuC,CAAA;IACvC,wDAAyC,CAAA;IACzC,4DAA6C,CAAA;AAC/C,CAAC,EAzCW,WAAW,aAAX,WAAW,GAAX,WAAW,QAyCtB;AAED;;GAEG;AACU,QAAA,oBAAoB,GAAgC;IAC/D,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,qCAAqC;IACzD,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,mCAAmC;IAC7D,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,yCAAyC;IACrE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,uBAAuB;IAChD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,6BAA6B;IACtD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,0BAA0B;IACnD,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,iCAAiC;IAClE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,qCAAqC;IACtE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,mCAAmC;IACpE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,4BAA4B;IAC7D,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,yBAAyB;IAC5D,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,wCAAwC;IACvE,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,2CAA2C;IAChF,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,0CAA0C;IACzE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,sBAAsB;IACjD,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,uBAAuB;IAC5D,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,iCAAiC;IAC1E,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,uBAAuB;IAC5D,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,iCAAiC;IAC1E,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,0BAA0B;IACnD,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,0BAA0B;IACzD,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,mCAAmC;IAC/D,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,qBAAqB;IAC/C,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,6CAA6C;IACzE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,4BAA4B;IAC7D,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,6BAA6B;IAC/D,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,+BAA+B;CACpE,CAAC"}
1
+ {"version":3,"file":"command.types.js","sourceRoot":"","sources":["../../../source/tcp/types/command.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,IAAY,WA8CX;AA9CD,WAAY,WAAW;IACrB,sBAAsB;IACtB,4BAAa,CAAA;IACb,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IAEzB,0BAA0B;IAC1B,4CAA6B,CAAA;IAE7B,sBAAsB;IACtB,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;IACvB,sDAAuC,CAAA;IAEvC,wBAAwB;IACxB,sDAAuC,CAAA;IACvC,sDAAuC,CAAA;IACvC,sDAAuC,CAAA;IACvC,0DAA2C,CAAA;IAE3C,kBAAkB;IAClB,kDAAmC,CAAA;IACnC,8DAA+C,CAAA;IAC/C,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,0CAA2B,CAAA;IAC3B,8DAA+C,CAAA;IAC/C,sEAAuD,CAAA;IACvD,8DAA+C,CAAA;IAC/C,sEAAuD,CAAA;IACvD,sCAAuB,CAAA;IACvB,kDAAmC,CAAA;IAEnC,mBAAmB;IACnB,4CAA6B,CAAA;IAC7B,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;IAE7B,yBAAyB;IACzB,sDAAuC,CAAA;IACvC,wDAAyC,CAAA;IACzC,4DAA6C,CAAA;IAC7C,sCAAuB,CAAA;IACvB,8DAA+C,CAAA;IAC/C,sDAAuC,CAAA;AACzC,CAAC,EA9CW,WAAW,2BAAX,WAAW,QA8CtB;AAED;;GAEG;AACU,QAAA,oBAAoB,GAAgC;IAC/D,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,qCAAqC;IACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,+BAA+B;IACrD,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,mCAAmC;IAC7D,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,yCAAyC;IACrE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,uBAAuB;IAChD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,6BAA6B;IACtD,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,0BAA0B;IACnD,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,iCAAiC;IAClE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,qCAAqC;IACtE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,mCAAmC;IACpE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,4BAA4B;IAC7D,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,yBAAyB;IAC5D,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,wCAAwC;IACvE,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,2CAA2C;IAChF,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,0CAA0C;IACzE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,sBAAsB;IACjD,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,0CAA0C;IACrE,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,uBAAuB;IAC5D,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,iCAAiC;IAC1E,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,uBAAuB;IAC5D,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,iCAAiC;IAC1E,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,0BAA0B;IACnD,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,0BAA0B;IACzD,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,mCAAmC;IAC/D,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,qBAAqB;IAC/C,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,6CAA6C;IACzE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,4BAA4B;IAC7D,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,6BAA6B;IAC/D,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,+BAA+B;IACnE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,yCAAyC;IAClE,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,kCAAkC;IACvE,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,qBAAqB;CACvD,CAAC"}
@@ -13,21 +13,24 @@ export interface TCPRequest {
13
13
  collectionName?: string;
14
14
  crypto?: boolean;
15
15
  key?: string;
16
- data?: any;
17
- documents?: any[];
18
- query?: object;
16
+ data?: Record<string, unknown>;
17
+ documents?: Record<string, unknown>[];
18
+ query?: Record<string, unknown>;
19
19
  id?: string;
20
- updateData?: object;
20
+ ids?: string[];
21
+ updateData?: Record<string, unknown>;
21
22
  updateOne?: boolean;
22
23
  deleteOne?: boolean;
23
24
  limit?: number;
24
25
  skip?: number;
25
- sort?: object;
26
+ sort?: Record<string, 1 | -1>;
26
27
  findOne?: boolean;
28
+ hint?: string;
27
29
  pipeline?: object[];
28
30
  fieldNames?: string[];
29
31
  indexName?: string;
30
32
  transactionId?: string;
33
+ savepointName?: string;
31
34
  };
32
35
  }
33
36
  /**
@@ -38,7 +41,7 @@ export interface TCPResponse {
38
41
  id: string;
39
42
  statusCode: number;
40
43
  message: string;
41
- data?: any;
44
+ data?: unknown;
42
45
  error?: string;
43
46
  }
44
47
  /**
@@ -55,7 +58,7 @@ export declare enum ConnectionState {
55
58
  * Pending request tracking
56
59
  */
57
60
  export interface PendingRequest {
58
- resolve: (value: any) => void;
61
+ resolve: (value: unknown) => void;
59
62
  reject: (error: Error) => void;
60
63
  timeout: NodeJS.Timeout;
61
64
  timestamp: number;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.types.js","sourceRoot":"","sources":["../../../source/tcp/types/protocol.types.ts"],"names":[],"mappings":";;;AAmEA;;GAEG;AACH,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;AACnB,CAAC,EANW,eAAe,aAAf,eAAe,GAAf,eAAe,QAM1B"}
1
+ {"version":3,"file":"protocol.types.js","sourceRoot":"","sources":["../../../source/tcp/types/protocol.types.ts"],"names":[],"mappings":";;;AAsEA;;GAEG;AACH,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,gDAA6B,CAAA;IAC7B,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;AACnB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B"}
@@ -13,12 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.default = ReaderWithWorker;
16
- /* eslint-disable @typescript-eslint/no-explicit-any */
17
16
  const worker_threads_1 = require("worker_threads");
18
17
  const path_1 = __importDefault(require("path"));
19
18
  const os_1 = __importDefault(require("os"));
20
19
  const FileManager_1 = __importDefault(require("../engine/Filesystem/FileManager"));
21
20
  const Converter_helper_1 = __importDefault(require("../Helper/Converter.helper"));
21
+ const Logger_helper_1 = __importDefault(require("../Helper/Logger.helper"));
22
22
  /**
23
23
  * Reads data files using worker threads to parallelize the loading process.
24
24
  * For small datasets (<100 files), uses direct file reading to avoid worker thread overhead.
@@ -41,23 +41,24 @@ function ReaderWithWorker(DataFilesList_1, path_2) {
41
41
  try {
42
42
  const ReadFileResponse = yield fileManager.ReadFile(`${path}/${fileName}`);
43
43
  if ("data" in ReadFileResponse) {
44
+ const fileData = ReadFileResponse.data;
44
45
  if (storeFileName) {
45
46
  return {
46
47
  fileName: fileName,
47
- data: converter.ToObject(ReadFileResponse.data),
48
+ data: converter.ToObject(fileData),
48
49
  };
49
50
  }
50
51
  else {
51
- return converter.ToObject(ReadFileResponse.data);
52
+ return converter.ToObject(fileData);
52
53
  }
53
54
  }
54
55
  else {
55
- console.error(`Failed to read file: ${fileName}`);
56
+ Logger_helper_1.default.error(`Failed to read file: ${fileName}`);
56
57
  return null;
57
58
  }
58
59
  }
59
60
  catch (error) {
60
- console.error(`Error processing file ${fileName}:`, error);
61
+ Logger_helper_1.default.error(`Error processing file ${fileName}:`, error);
61
62
  return null;
62
63
  }
63
64
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"BufferLoaderWithWorker.utils.js","sourceRoot":"","sources":["../../source/utility/BufferLoaderWithWorker.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BufferLoaderWithWorker.utils.js","sourceRoot":"","sources":["../../source/utility/BufferLoaderWithWorker.utils.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export default class Searcher {
2
2
  private data;
3
3
  private isUpdated;
4
4
  private compiledQueries;
5
- constructor(arr: any[], isUpdated?: boolean);
5
+ constructor(arr: Record<string, unknown>[], isUpdated?: boolean);
6
6
  /**
7
7
  * Pre-compiles query operators for faster matching (regex, $in sets, etc.)
8
8
  */
@@ -24,9 +24,7 @@ export default class Searcher {
24
24
  * @param limit - Optional limit for early termination (returns when limit reached)
25
25
  * @returns {Promise<any[]>} - A promise that resolves to an array of matching items.
26
26
  */
27
- find(query: {
28
- [key: string]: any;
29
- }, additionalFiled?: string | number | undefined, findOne?: boolean, limit?: number): Promise<any[]>;
27
+ find(query: Record<string, unknown>, additionalFiled?: string | number | undefined, findOne?: boolean, limit?: number): Promise<Record<string, unknown>[]>;
30
28
  /**
31
29
  * Matches an item against a query object.
32
30
  * Supports MongoDB-like operators and logical operators ($or, $and).
@@ -35,7 +33,5 @@ export default class Searcher {
35
33
  * @param query - The query object containing conditions.
36
34
  * @returns {boolean} - True if the item matches the query, false otherwise.
37
35
  */
38
- static matchesQuery(item: any, query: {
39
- [key: string]: any;
40
- }, isUpdated?: boolean): boolean;
36
+ static matchesQuery(item: Record<string, unknown>, query: Record<string, unknown>, isUpdated?: boolean): boolean;
41
37
  }