axiodb 21.7.8 → 22.2.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.
Files changed (235) hide show
  1. package/lib/Helper/Console.helper.js +0 -1
  2. package/lib/Helper/Converter.helper.js +0 -1
  3. package/lib/Helper/DocumentLoader.helper.js +0 -1
  4. package/lib/Helper/Logger.helper.js +0 -1
  5. package/lib/Helper/PathSanitizer.helper.js +0 -1
  6. package/lib/Helper/RegexGuard.helper.d.ts +85 -0
  7. package/lib/Helper/RegexGuard.helper.js +277 -0
  8. package/lib/Helper/SafeErrorMessage.helper.d.ts +18 -0
  9. package/lib/Helper/SafeErrorMessage.helper.js +41 -0
  10. package/lib/Helper/SortedIndexValues.helper.js +0 -1
  11. package/lib/Helper/UniqueGenerator.helper.js +0 -1
  12. package/lib/Helper/response.helper.js +0 -1
  13. package/lib/Memory/memory.operation.js +0 -1
  14. package/lib/Services/Aggregation/Aggregation.Operation.js +0 -1
  15. package/lib/Services/Aggregation/OperatorRegistry.js +0 -1
  16. package/lib/Services/Aggregation/operators/accumulatorOperators.js +0 -1
  17. package/lib/Services/Aggregation/operators/expressionOperators.js +5 -2
  18. package/lib/Services/Aggregation/operators/stageOperators.js +5 -2
  19. package/lib/Services/Auth/AuthEvents.service.js +0 -1
  20. package/lib/Services/Auth/AuthSeeder.service.js +0 -1
  21. package/lib/Services/Auth/AuthService.service.js +0 -1
  22. package/lib/Services/Auth/ConfigDatabase.service.js +0 -1
  23. package/lib/Services/Auth/CookieCodec.helper.js +0 -1
  24. package/lib/Services/Auth/LoginRateLimiter.service.js +0 -1
  25. package/lib/Services/Auth/PasswordHasher.helper.js +0 -1
  26. package/lib/Services/Auth/PermissionChecker.helper.js +0 -1
  27. package/lib/Services/Auth/SessionStore.service.js +0 -1
  28. package/lib/Services/CRUD Operation/Create.operation.js +0 -1
  29. package/lib/Services/CRUD Operation/Delete.operation.js +0 -1
  30. package/lib/Services/CRUD Operation/Reader.operation.js +0 -1
  31. package/lib/Services/CRUD Operation/Update.operation.js +0 -1
  32. package/lib/Services/Collection/collection.operation.js +0 -1
  33. package/lib/Services/Database/database.operation.js +2 -3
  34. package/lib/Services/Index/Index.service.js +0 -1
  35. package/lib/Services/Index/IndexCache.service.js +0 -1
  36. package/lib/Services/Index/ReadIndex.service.js +0 -1
  37. package/lib/Services/Indexation.operation.js +4 -4
  38. package/lib/Services/Transaction/LockManager.service.js +0 -1
  39. package/lib/Services/Transaction/Session.service.js +0 -1
  40. package/lib/Services/Transaction/Transaction.service.js +0 -1
  41. package/lib/Services/Transaction/TransactionIndexManager.service.js +0 -1
  42. package/lib/Services/Transaction/TransactionRegistry.service.js +0 -1
  43. package/lib/Services/Transaction/WriteAheadLog.service.js +0 -1
  44. package/lib/client/AggregationProxy.js +0 -1
  45. package/lib/client/AxioDBCloud.client.js +0 -1
  46. package/lib/client/CollectionProxy.js +0 -1
  47. package/lib/client/DatabaseProxy.js +0 -1
  48. package/lib/client/DeleteOperationProxy.js +0 -1
  49. package/lib/client/PooledConnection.js +0 -1
  50. package/lib/client/ReaderProxy.js +0 -1
  51. package/lib/client/TransactionProxy.js +0 -1
  52. package/lib/client/UpdateOperationProxy.js +0 -1
  53. package/lib/client/types/client.types.js +0 -1
  54. package/lib/config/DB.js +0 -1
  55. package/lib/config/Interfaces/Auth/auth.interface.js +0 -1
  56. package/lib/config/Interfaces/Helper/response.helper.interface.js +0 -1
  57. package/lib/config/Interfaces/Operation/Indexation.operation.interface.js +0 -1
  58. package/lib/config/Interfaces/Operation/aggregation.interface.js +0 -1
  59. package/lib/config/Interfaces/Operation/database.operation.interface.js +0 -1
  60. package/lib/config/Interfaces/Transaction/transaction.interface.js +0 -1
  61. package/lib/config/Interfaces/shared.types.js +0 -1
  62. package/lib/config/Keys/Keys.js +0 -1
  63. package/lib/config/Keys/Permissions.js +0 -1
  64. package/lib/config/Keys/StatusCode.js +0 -1
  65. package/lib/engine/Filesystem/FileManager.js +9 -4
  66. package/lib/engine/Filesystem/FolderManager.js +8 -3
  67. package/lib/engine/node/WorkerForDataLoad.engine.js +0 -1
  68. package/lib/engine/node/WorkerForSearch.engine.js +0 -1
  69. package/lib/server/config/PortFreeChecker.js +0 -1
  70. package/lib/server/config/keys.d.ts +6 -0
  71. package/lib/server/config/keys.js +14 -2
  72. package/lib/server/config/server.js +5 -1
  73. package/lib/server/controller/Auth/Auth.controller.js +0 -1
  74. package/lib/server/controller/Auth/RoleManagement.controller.js +0 -1
  75. package/lib/server/controller/Auth/UserManagement.controller.js +0 -1
  76. package/lib/server/controller/Collections/Collection.controller.js +0 -1
  77. package/lib/server/controller/Database/Databse.controller.js +2 -2
  78. package/lib/server/controller/Index/Index.controller.js +0 -1
  79. package/lib/server/controller/Operation/CRUD.controller.js +0 -1
  80. package/lib/server/controller/Stats.controller.js +0 -1
  81. package/lib/server/helper/databaseImport.helper.js +0 -1
  82. package/lib/server/helper/documentCounterInFolder.helper.js +0 -1
  83. package/lib/server/helper/responseBuilder.helper.js +0 -1
  84. package/lib/server/middleware/auth.middleware.js +0 -1
  85. package/lib/server/middleware/permission.middleware.js +0 -1
  86. package/lib/server/public/AxioControl/AXioDB.png +0 -0
  87. package/lib/server/public/AxioControl/assets/index-B9AO8c4G.js +1 -0
  88. package/lib/server/public/AxioControl/index.html +1 -1
  89. package/lib/server/public/AxioControl/sw.js +1 -1
  90. package/lib/server/public/DONT_TOUCH_THIS_FILE.js +0 -1
  91. package/lib/server/router/Router.js +0 -1
  92. package/lib/server/router/Routers/Auth.routes.js +0 -1
  93. package/lib/server/router/Routers/Collection.routes.js +0 -1
  94. package/lib/server/router/Routers/DB.routes.js +0 -1
  95. package/lib/server/router/Routers/Index.routes.js +0 -1
  96. package/lib/server/router/Routers/Operation.routes.js +0 -1
  97. package/lib/server/router/Routers/RoleManagement.routes.js +0 -1
  98. package/lib/server/router/Routers/UserManagement.routes.js +0 -1
  99. package/lib/tcp/config/keys.js +0 -1
  100. package/lib/tcp/config/permissions.js +0 -1
  101. package/lib/tcp/config/protocol.js +0 -1
  102. package/lib/tcp/config/server.js +2 -2
  103. package/lib/tcp/connection/ConnectionManager.js +2 -2
  104. package/lib/tcp/connection/ConnectionRateLimiter.js +0 -1
  105. package/lib/tcp/connection/RequestContext.js +0 -1
  106. package/lib/tcp/connection/TransactionManager.js +0 -1
  107. package/lib/tcp/handler/CommandHandler.js +3 -3
  108. package/lib/tcp/handler/handlers/Auth.handler.js +0 -1
  109. package/lib/tcp/handler/handlers/Collection.handler.d.ts +1 -1
  110. package/lib/tcp/handler/handlers/Collection.handler.js +6 -6
  111. package/lib/tcp/handler/handlers/DB.handler.js +5 -5
  112. package/lib/tcp/handler/handlers/Operation.handler.js +3 -2
  113. package/lib/tcp/handler/handlers/Transaction.handler.js +3 -2
  114. package/lib/tcp/types/command.types.js +0 -1
  115. package/lib/tcp/types/protocol.types.js +0 -1
  116. package/lib/utility/BufferLoaderWithWorker.utils.js +0 -1
  117. package/lib/utility/Searcher.utils.js +3 -3
  118. package/lib/utility/SortData.utils.js +0 -1
  119. package/lib/utility/ZipUnzip.utils.js +0 -1
  120. package/package.json +1 -1
  121. package/.commandcode/settings.json +0 -24
  122. package/.commandcode/taste/taste.md +0 -2
  123. package/.commandcode/taste/user-taste-profile/taste.md +0 -39
  124. package/lib/Helper/Console.helper.js.map +0 -1
  125. package/lib/Helper/Converter.helper.js.map +0 -1
  126. package/lib/Helper/DocumentLoader.helper.js.map +0 -1
  127. package/lib/Helper/Logger.helper.js.map +0 -1
  128. package/lib/Helper/PathSanitizer.helper.js.map +0 -1
  129. package/lib/Helper/SortedIndexValues.helper.js.map +0 -1
  130. package/lib/Helper/UniqueGenerator.helper.js.map +0 -1
  131. package/lib/Helper/response.helper.js.map +0 -1
  132. package/lib/Memory/memory.operation.js.map +0 -1
  133. package/lib/Services/Aggregation/Aggregation.Operation.js.map +0 -1
  134. package/lib/Services/Aggregation/OperatorRegistry.js.map +0 -1
  135. package/lib/Services/Aggregation/operators/accumulatorOperators.js.map +0 -1
  136. package/lib/Services/Aggregation/operators/expressionOperators.js.map +0 -1
  137. package/lib/Services/Aggregation/operators/stageOperators.js.map +0 -1
  138. package/lib/Services/Auth/AuthEvents.service.js.map +0 -1
  139. package/lib/Services/Auth/AuthSeeder.service.js.map +0 -1
  140. package/lib/Services/Auth/AuthService.service.js.map +0 -1
  141. package/lib/Services/Auth/ConfigDatabase.service.js.map +0 -1
  142. package/lib/Services/Auth/CookieCodec.helper.js.map +0 -1
  143. package/lib/Services/Auth/LoginRateLimiter.service.js.map +0 -1
  144. package/lib/Services/Auth/PasswordHasher.helper.js.map +0 -1
  145. package/lib/Services/Auth/PermissionChecker.helper.js.map +0 -1
  146. package/lib/Services/Auth/SessionStore.service.js.map +0 -1
  147. package/lib/Services/CRUD Operation/Create.operation.js.map +0 -1
  148. package/lib/Services/CRUD Operation/Delete.operation.js.map +0 -1
  149. package/lib/Services/CRUD Operation/Reader.operation.js.map +0 -1
  150. package/lib/Services/CRUD Operation/Update.operation.js.map +0 -1
  151. package/lib/Services/Collection/collection.operation.js.map +0 -1
  152. package/lib/Services/Database/database.operation.js.map +0 -1
  153. package/lib/Services/Index/Index.service.js.map +0 -1
  154. package/lib/Services/Index/IndexCache.service.js.map +0 -1
  155. package/lib/Services/Index/ReadIndex.service.js.map +0 -1
  156. package/lib/Services/Indexation.operation.js.map +0 -1
  157. package/lib/Services/Transaction/LockManager.service.js.map +0 -1
  158. package/lib/Services/Transaction/Session.service.js.map +0 -1
  159. package/lib/Services/Transaction/Transaction.service.js.map +0 -1
  160. package/lib/Services/Transaction/TransactionIndexManager.service.js.map +0 -1
  161. package/lib/Services/Transaction/TransactionRegistry.service.js.map +0 -1
  162. package/lib/Services/Transaction/WriteAheadLog.service.js.map +0 -1
  163. package/lib/client/AggregationProxy.js.map +0 -1
  164. package/lib/client/AxioDBCloud.client.js.map +0 -1
  165. package/lib/client/CollectionProxy.js.map +0 -1
  166. package/lib/client/DatabaseProxy.js.map +0 -1
  167. package/lib/client/DeleteOperationProxy.js.map +0 -1
  168. package/lib/client/PooledConnection.js.map +0 -1
  169. package/lib/client/ReaderProxy.js.map +0 -1
  170. package/lib/client/TransactionProxy.js.map +0 -1
  171. package/lib/client/UpdateOperationProxy.js.map +0 -1
  172. package/lib/client/types/client.types.js.map +0 -1
  173. package/lib/config/DB.js.map +0 -1
  174. package/lib/config/Interfaces/Auth/auth.interface.js.map +0 -1
  175. package/lib/config/Interfaces/Helper/response.helper.interface.js.map +0 -1
  176. package/lib/config/Interfaces/Operation/Indexation.operation.interface.js.map +0 -1
  177. package/lib/config/Interfaces/Operation/aggregation.interface.js.map +0 -1
  178. package/lib/config/Interfaces/Operation/database.operation.interface.js.map +0 -1
  179. package/lib/config/Interfaces/Transaction/transaction.interface.js.map +0 -1
  180. package/lib/config/Interfaces/shared.types.js.map +0 -1
  181. package/lib/config/Keys/Keys.js.map +0 -1
  182. package/lib/config/Keys/Permissions.js.map +0 -1
  183. package/lib/config/Keys/StatusCode.js.map +0 -1
  184. package/lib/engine/Filesystem/FileManager.js.map +0 -1
  185. package/lib/engine/Filesystem/FolderManager.js.map +0 -1
  186. package/lib/engine/node/WorkerForDataLoad.engine.js.map +0 -1
  187. package/lib/engine/node/WorkerForSearch.engine.js.map +0 -1
  188. package/lib/server/config/PortFreeChecker.js.map +0 -1
  189. package/lib/server/config/keys.js.map +0 -1
  190. package/lib/server/config/server.js.map +0 -1
  191. package/lib/server/controller/Auth/Auth.controller.js.map +0 -1
  192. package/lib/server/controller/Auth/RoleManagement.controller.js.map +0 -1
  193. package/lib/server/controller/Auth/UserManagement.controller.js.map +0 -1
  194. package/lib/server/controller/Collections/Collection.controller.js.map +0 -1
  195. package/lib/server/controller/Database/Databse.controller.js.map +0 -1
  196. package/lib/server/controller/Index/Index.controller.js.map +0 -1
  197. package/lib/server/controller/Operation/CRUD.controller.js.map +0 -1
  198. package/lib/server/controller/Stats.controller.js.map +0 -1
  199. package/lib/server/helper/databaseImport.helper.js.map +0 -1
  200. package/lib/server/helper/documentCounterInFolder.helper.js.map +0 -1
  201. package/lib/server/helper/responseBuilder.helper.js.map +0 -1
  202. package/lib/server/middleware/auth.middleware.js.map +0 -1
  203. package/lib/server/middleware/permission.middleware.js.map +0 -1
  204. package/lib/server/public/AxioControl/.vite/manifest.json +0 -11
  205. package/lib/server/public/AxioControl/.vite/ssr-manifest.json +0 -813
  206. package/lib/server/public/AxioControl/assets/index-BRccHygR.js +0 -157
  207. package/lib/server/public/DONT_TOUCH_THIS_FILE.js.map +0 -1
  208. package/lib/server/router/Router.js.map +0 -1
  209. package/lib/server/router/Routers/Auth.routes.js.map +0 -1
  210. package/lib/server/router/Routers/Collection.routes.js.map +0 -1
  211. package/lib/server/router/Routers/DB.routes.js.map +0 -1
  212. package/lib/server/router/Routers/Index.routes.js.map +0 -1
  213. package/lib/server/router/Routers/Operation.routes.js.map +0 -1
  214. package/lib/server/router/Routers/RoleManagement.routes.js.map +0 -1
  215. package/lib/server/router/Routers/UserManagement.routes.js.map +0 -1
  216. package/lib/tcp/config/keys.js.map +0 -1
  217. package/lib/tcp/config/permissions.js.map +0 -1
  218. package/lib/tcp/config/protocol.js.map +0 -1
  219. package/lib/tcp/config/server.js.map +0 -1
  220. package/lib/tcp/connection/ConnectionManager.js.map +0 -1
  221. package/lib/tcp/connection/ConnectionRateLimiter.js.map +0 -1
  222. package/lib/tcp/connection/RequestContext.js.map +0 -1
  223. package/lib/tcp/connection/TransactionManager.js.map +0 -1
  224. package/lib/tcp/handler/CommandHandler.js.map +0 -1
  225. package/lib/tcp/handler/handlers/Auth.handler.js.map +0 -1
  226. package/lib/tcp/handler/handlers/Collection.handler.js.map +0 -1
  227. package/lib/tcp/handler/handlers/DB.handler.js.map +0 -1
  228. package/lib/tcp/handler/handlers/Operation.handler.js.map +0 -1
  229. package/lib/tcp/handler/handlers/Transaction.handler.js.map +0 -1
  230. package/lib/tcp/types/command.types.js.map +0 -1
  231. package/lib/tcp/types/protocol.types.js.map +0 -1
  232. package/lib/utility/BufferLoaderWithWorker.utils.js.map +0 -1
  233. package/lib/utility/Searcher.utils.js.map +0 -1
  234. package/lib/utility/SortData.utils.js.map +0 -1
  235. package/lib/utility/ZipUnzip.utils.js.map +0 -1
@@ -108,7 +108,7 @@ class Database {
108
108
  **/
109
109
  isCollectionExists(collectionName) {
110
110
  return __awaiter(this, void 0, void 0, function* () {
111
- const collectionPath = path_1.default.join(this.path, collectionName);
111
+ const collectionPath = PathSanitizer_helper_1.default.safePath(this.path, collectionName);
112
112
  const exists = yield this.folderManager.DirectoryExists(collectionPath);
113
113
  return exists.statusCode === StatusCode_1.StatusCodes.OK;
114
114
  });
@@ -121,7 +121,7 @@ class Database {
121
121
  */
122
122
  deleteCollection(collectionName) {
123
123
  return __awaiter(this, void 0, void 0, function* () {
124
- const collectionPath = path_1.default.join(this.path, collectionName);
124
+ const collectionPath = PathSanitizer_helper_1.default.safePath(this.path, collectionName);
125
125
  const exists = yield this.folderManager.DirectoryExists(collectionPath);
126
126
  if (exists.statusCode === StatusCode_1.StatusCodes.OK) {
127
127
  // Remove collection metadata
@@ -305,4 +305,3 @@ class Database {
305
305
  }
306
306
  }
307
307
  exports.default = Database;
308
- //# sourceMappingURL=database.operation.js.map
@@ -240,4 +240,3 @@ class IndexManager {
240
240
  }
241
241
  }
242
242
  exports.IndexManager = IndexManager;
243
- //# sourceMappingURL=Index.service.js.map
@@ -275,4 +275,3 @@ IndexCache.instances = new Map();
275
275
  IndexCache.MIN_TTL_MS = 5 * 60 * 1000; // 5 minutes
276
276
  IndexCache.MAX_TTL_MS = 15 * 60 * 1000; // 15 minutes
277
277
  IndexCache.CLEANUP_INTERVAL_MS = 60 * 1000; // Check every 1 minute
278
- //# sourceMappingURL=IndexCache.service.js.map
@@ -231,4 +231,3 @@ class ReadIndex extends Index_service_1.IndexManager {
231
231
  }
232
232
  }
233
233
  exports.ReadIndex = ReadIndex;
234
- //# sourceMappingURL=ReadIndex.service.js.map
@@ -26,6 +26,7 @@ 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"));
@@ -163,7 +164,7 @@ class AxioDB {
163
164
  return __awaiter(this, void 0, void 0, function* () {
164
165
  if (!this._initializing)
165
166
  yield this.ready;
166
- const dbPath = path_1.default.join(this.currentPATH, DBName);
167
+ const dbPath = PathSanitizer_helper_1.default.safePath(this.currentPATH, DBName);
167
168
  // Check if the database already exists
168
169
  const exists = yield this.folderManager.DirectoryExists(dbPath);
169
170
  if (exists.statusCode !== StatusCode_1.StatusCodes.OK) {
@@ -237,7 +238,7 @@ class AxioDB {
237
238
  return __awaiter(this, void 0, void 0, function* () {
238
239
  if (!this._initializing)
239
240
  yield this.ready;
240
- const dbPath = path_1.default.join(this.currentPATH, DBName);
241
+ const dbPath = PathSanitizer_helper_1.default.safePath(this.currentPATH, DBName);
241
242
  const exists = yield this.folderManager.DirectoryExists(dbPath);
242
243
  return exists.statusCode === StatusCode_1.StatusCodes.OK;
243
244
  });
@@ -258,7 +259,7 @@ class AxioDB {
258
259
  return __awaiter(this, void 0, void 0, function* () {
259
260
  if (!this._initializing)
260
261
  yield this.ready;
261
- const dbPath = path_1.default.join(this.currentPATH, DBName);
262
+ const dbPath = PathSanitizer_helper_1.default.safePath(this.currentPATH, DBName);
262
263
  const exists = yield this.folderManager.DirectoryExists(dbPath);
263
264
  if (exists.statusCode === StatusCode_1.StatusCodes.OK) {
264
265
  yield this.folderManager.DeleteDirectory(dbPath);
@@ -272,4 +273,3 @@ class AxioDB {
272
273
  }
273
274
  }
274
275
  exports.AxioDB = AxioDB;
275
- //# sourceMappingURL=Indexation.operation.js.map
@@ -157,4 +157,3 @@ class LockManager {
157
157
  // One LockManager per collection path, shared across every caller.
158
158
  LockManager.instances = new Map();
159
159
  exports.default = LockManager;
160
- //# sourceMappingURL=LockManager.service.js.map
@@ -230,4 +230,3 @@ class Session {
230
230
  }
231
231
  }
232
232
  exports.default = Session;
233
- //# sourceMappingURL=Session.service.js.map
@@ -517,4 +517,3 @@ class Transaction {
517
517
  }
518
518
  }
519
519
  exports.default = Transaction;
520
- //# sourceMappingURL=Transaction.service.js.map
@@ -245,4 +245,3 @@ class TransactionIndexManager {
245
245
  }
246
246
  }
247
247
  exports.default = TransactionIndexManager;
248
- //# sourceMappingURL=TransactionIndexManager.service.js.map
@@ -158,4 +158,3 @@ class TransactionRegistry {
158
158
  }
159
159
  }
160
160
  exports.default = TransactionRegistry;
161
- //# sourceMappingURL=TransactionRegistry.service.js.map
@@ -269,4 +269,3 @@ class WriteAheadLog {
269
269
  }
270
270
  }
271
271
  exports.default = WriteAheadLog;
272
- //# sourceMappingURL=WriteAheadLog.service.js.map
@@ -29,4 +29,3 @@ class AggregationProxy {
29
29
  }
30
30
  }
31
31
  exports.default = AggregationProxy;
32
- //# sourceMappingURL=AggregationProxy.js.map
@@ -270,4 +270,3 @@ class AxioDBCloud extends events_1.EventEmitter {
270
270
  }
271
271
  }
272
272
  exports.AxioDBCloud = AxioDBCloud;
273
- //# sourceMappingURL=AxioDBCloud.client.js.map
@@ -119,4 +119,3 @@ class CollectionProxy {
119
119
  }
120
120
  }
121
121
  exports.default = CollectionProxy;
122
- //# sourceMappingURL=CollectionProxy.js.map
@@ -58,4 +58,3 @@ class DatabaseProxy {
58
58
  }
59
59
  }
60
60
  exports.default = DatabaseProxy;
61
- //# sourceMappingURL=DatabaseProxy.js.map
@@ -40,4 +40,3 @@ class DeleteOperationProxy {
40
40
  }
41
41
  }
42
42
  exports.default = DeleteOperationProxy;
43
- //# sourceMappingURL=DeleteOperationProxy.js.map
@@ -280,4 +280,3 @@ class PooledConnection {
280
280
  }
281
281
  }
282
282
  exports.default = PooledConnection;
283
- //# sourceMappingURL=PooledConnection.js.map
@@ -66,4 +66,3 @@ class ReaderProxy {
66
66
  }
67
67
  }
68
68
  exports.default = ReaderProxy;
69
- //# sourceMappingURL=ReaderProxy.js.map
@@ -98,4 +98,3 @@ class TransactionProxy {
98
98
  }
99
99
  }
100
100
  exports.default = TransactionProxy;
101
- //# sourceMappingURL=TransactionProxy.js.map
@@ -42,4 +42,3 @@ class UpdateOperationProxy {
42
42
  }
43
43
  }
44
44
  exports.default = UpdateOperationProxy;
45
- //# sourceMappingURL=UpdateOperationProxy.js.map
@@ -9,4 +9,3 @@ var ConnectionState;
9
9
  ConnectionState["RECONNECTING"] = "RECONNECTING";
10
10
  ConnectionState["FAILED"] = "FAILED";
11
11
  })(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
12
- //# sourceMappingURL=client.types.js.map
package/lib/config/DB.js CHANGED
@@ -36,4 +36,3 @@ exports.default = {
36
36
  InstanceTypes,
37
37
  OperatorRegistry: OperatorRegistry_1.OperatorRegistry,
38
38
  };
39
- //# sourceMappingURL=DB.js.map
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
2
  // Interfaces for the Control Server RBAC + Authentication feature.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=auth.interface.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=response.helper.interface.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Indexation.operation.interface.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=aggregation.interface.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=database.operation.interface.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=transaction.interface.js.map
@@ -4,4 +4,3 @@
4
4
  * Import from here instead of using `any` for document data.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=shared.types.js.map
@@ -20,4 +20,3 @@ var WebServer;
20
20
  WebServer[WebServer["WebSocketServerPORT"] = 2028] = "WebSocketServerPORT";
21
21
  WebServer[WebServer["GraphQLServerPORT"] = 2029] = "GraphQLServerPORT";
22
22
  })(WebServer || (exports.WebServer = WebServer = {}));
23
- //# sourceMappingURL=Keys.js.map
@@ -120,4 +120,3 @@ exports.LOGIN_RATE_LIMIT_MAX_ATTEMPTS = 5;
120
120
  exports.LOGIN_RATE_LIMIT_WINDOW_MS = 15 * 60 * 1000; // 15 minutes
121
121
  exports.LOGIN_RATE_LIMIT_COOLDOWN_MS = 15 * 60 * 1000; // 15 minutes
122
122
  exports.LOGIN_RATE_LIMIT_SWEEP_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
123
- //# sourceMappingURL=Permissions.js.map
@@ -66,4 +66,3 @@ var StatusCodes;
66
66
  StatusCodes[StatusCodes["NOT_EXTENDED"] = 510] = "NOT_EXTENDED";
67
67
  StatusCodes[StatusCodes["NETWORK_AUTHENTICATION_REQUIRED"] = 511] = "NETWORK_AUTHENTICATION_REQUIRED";
68
68
  })(StatusCodes || (exports.StatusCodes = StatusCodes = {}));
69
- //# sourceMappingURL=StatusCode.js.map
@@ -280,7 +280,13 @@ class FileManager {
280
280
  // Fall back to system commands if native method fails
281
281
  const osType = worker_process_1.default.getOS();
282
282
  if (osType === "windows") {
283
- const stdout = yield this.WorkerProcess.execCommand(`powershell -command "(Get-Item '${path}').length"`);
283
+ const stdout = yield this.WorkerProcess.execCommandSafely("powershell", [
284
+ "-NoProfile",
285
+ "-command",
286
+ "(Get-Item -LiteralPath $args[0]).length",
287
+ "--",
288
+ path,
289
+ ]);
284
290
  const size = parseInt(stdout, 10) || 0;
285
291
  // Restore original permissions if they were modified
286
292
  if (originalMode !== null && (originalMode & 0o444) !== 0o444) {
@@ -289,8 +295,8 @@ class FileManager {
289
295
  return this.responseHelper.Success(size);
290
296
  }
291
297
  else {
292
- const stdout = yield this.WorkerProcess.execCommand(`wc -c < "${path}" 2>/dev/null || echo 0`);
293
- const size = parseInt(stdout, 10) || 0;
298
+ const stdout = yield this.WorkerProcess.execCommandSafely("wc", ["-c", "--", path]);
299
+ const size = parseInt(stdout.trim(), 10) || 0;
294
300
  // Restore original permissions if they were modified
295
301
  if (originalMode !== null && (originalMode & 0o444) !== 0o444) {
296
302
  yield promises_1.default.chmod(path, originalMode);
@@ -330,4 +336,3 @@ class FileManager {
330
336
  }
331
337
  }
332
338
  exports.default = FileManager;
333
- //# sourceMappingURL=FileManager.js.map
@@ -107,7 +107,13 @@ class FolderManager {
107
107
  let size;
108
108
  if (osType === "windows") {
109
109
  try {
110
- const stdout = yield this.WorkerProcess.execCommand(`powershell -command "(Get-ChildItem '${path}' -Recurse -Force | Measure-Object -Property Length -Sum).Sum"`);
110
+ const stdout = yield this.WorkerProcess.execCommandSafely("powershell", [
111
+ "-NoProfile",
112
+ "-command",
113
+ "(Get-ChildItem -LiteralPath $args[0] -Recurse -Force | Measure-Object -Property Length -Sum).Sum",
114
+ "--",
115
+ path,
116
+ ]);
111
117
  size = parseInt(stdout, 10) || 0;
112
118
  }
113
119
  catch (cmdError) {
@@ -117,7 +123,7 @@ class FolderManager {
117
123
  }
118
124
  else {
119
125
  try {
120
- const stdout = yield this.WorkerProcess.execCommand(`du -sb "${path}" 2>/dev/null`);
126
+ const stdout = yield this.WorkerProcess.execCommandSafely("du", ["-sb", path]);
121
127
  size = parseInt(stdout.split("\t")[0], 10) || 0;
122
128
  }
123
129
  catch (cmdError) {
@@ -239,4 +245,3 @@ class FolderManager {
239
245
  }
240
246
  }
241
247
  exports.default = FolderManager;
242
- //# sourceMappingURL=FolderManager.js.map
@@ -67,4 +67,3 @@ processFiles().catch((error) => {
67
67
  worker_threads_1.parentPort.postMessage({ error: String(error) });
68
68
  }
69
69
  });
70
- //# sourceMappingURL=WorkerForDataLoad.engine.js.map
@@ -22,4 +22,3 @@ for (let i = 0; i < chunkLength; i++) {
22
22
  if (worker_threads_1.parentPort) {
23
23
  worker_threads_1.parentPort.postMessage(result);
24
24
  }
25
- //# sourceMappingURL=WorkerForSearch.engine.js.map
@@ -43,4 +43,3 @@ function checkPortAndDocker(port) {
43
43
  }
44
44
  });
45
45
  }
46
- //# sourceMappingURL=PortFreeChecker.js.map
@@ -17,6 +17,12 @@ export declare const CORS_CONFIG: {
17
17
  ALLOW_CREDENTIALS: boolean;
18
18
  };
19
19
  export declare const staticPath: string;
20
+ /**
21
+ * Security headers applied to every HTTP response.
22
+ * CSP allows 'unsafe-inline' only for styles: the GUI injects CSS via JS,
23
+ * while all scripts are external (self).
24
+ */
25
+ export declare const SECURITY_HEADERS: Record<string, string>;
20
26
  interface MainRoutesInterface {
21
27
  method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
22
28
  path: string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AuthorInfo = exports.AvailableRoutes = exports.staticPath = exports.CORS_CONFIG = exports.ServerKeys = void 0;
6
+ exports.AuthorInfo = exports.AvailableRoutes = exports.SECURITY_HEADERS = exports.staticPath = exports.CORS_CONFIG = exports.ServerKeys = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  var ServerKeys;
9
9
  (function (ServerKeys) {
@@ -29,6 +29,19 @@ exports.CORS_CONFIG = {
29
29
  ALLOW_CREDENTIALS: true,
30
30
  };
31
31
  exports.staticPath = path_1.default.resolve(__dirname, "../public/AxioControl");
32
+ /**
33
+ * Security headers applied to every HTTP response.
34
+ * CSP allows 'unsafe-inline' only for styles: the GUI injects CSS via JS,
35
+ * while all scripts are external (self).
36
+ */
37
+ exports.SECURITY_HEADERS = {
38
+ "X-Content-Type-Options": "nosniff",
39
+ "X-Frame-Options": "DENY",
40
+ "Referrer-Policy": "no-referrer",
41
+ "X-XSS-Protection": "1; mode=block",
42
+ "Permissions-Policy": "camera=(), microphone=(), geolocation=(), payment=()",
43
+ "Content-Security-Policy": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self' ws: wss:; frame-ancestors 'none'; base-uri 'self'; form-action 'self'",
44
+ };
32
45
  exports.AvailableRoutes = [
33
46
  {
34
47
  groupName: "Information",
@@ -309,4 +322,3 @@ exports.AuthorInfo = {
309
322
  LinkedIn: "https://www.linkedin.com/in/theankansaha/",
310
323
  github: "https://github.com/AnkanSaha",
311
324
  };
312
- //# sourceMappingURL=keys.js.map
@@ -55,6 +55,11 @@ function createAxioDBControlServer(AxioDBInstance_1) {
55
55
  // Cookie support for session-based authentication (no signing secret needed -
56
56
  // the cookie value is meaningless without a matching entry in SessionStore's map)
57
57
  yield AxioDBControlServer.register(cookie_1.default);
58
+ AxioDBControlServer.addHook("onSend", (_request, reply) => __awaiter(this, void 0, void 0, function* () {
59
+ for (const [header, value] of Object.entries(keys_1.SECURITY_HEADERS)) {
60
+ reply.header(header, value);
61
+ }
62
+ }));
58
63
  AxioDBControlServer.addContentTypeParser("application/json", { parseAs: "string", bodyLimit: 52428800 }, (req, body, done) => {
59
64
  try {
60
65
  const json = JSON.parse(body);
@@ -102,4 +107,3 @@ function createAxioDBControlServer(AxioDBInstance_1) {
102
107
  }
103
108
  });
104
109
  }
105
- //# sourceMappingURL=server.js.map
@@ -159,4 +159,3 @@ class AuthController {
159
159
  }
160
160
  }
161
161
  exports.default = AuthController;
162
- //# sourceMappingURL=Auth.controller.js.map
@@ -96,4 +96,3 @@ class RoleManagementController {
96
96
  }
97
97
  }
98
98
  exports.default = RoleManagementController;
99
- //# sourceMappingURL=RoleManagement.controller.js.map
@@ -124,4 +124,3 @@ class UserManagementController {
124
124
  }
125
125
  }
126
126
  exports.default = UserManagementController;
127
- //# sourceMappingURL=UserManagement.controller.js.map
@@ -111,4 +111,3 @@ class CollectionController {
111
111
  }
112
112
  }
113
113
  exports.default = CollectionController;
114
- //# sourceMappingURL=Collection.controller.js.map
@@ -55,6 +55,7 @@ const promises_1 = require("node:stream/promises");
55
55
  const Permissions_1 = require("../../../config/Keys/Permissions");
56
56
  const Logger_helper_1 = __importDefault(require("../../../Helper/Logger.helper"));
57
57
  const databaseImport_helper_1 = require("../../helper/databaseImport.helper");
58
+ const SafeErrorMessage_helper_1 = __importDefault(require("../../../Helper/SafeErrorMessage.helper"));
58
59
  class DatabaseController {
59
60
  constructor(AxioDBInstance) {
60
61
  this.AxioDBInstance = AxioDBInstance;
@@ -178,7 +179,7 @@ class DatabaseController {
178
179
  return reply.status(500).send({
179
180
  success: false,
180
181
  message: "Error exporting database",
181
- error: error instanceof Error ? error.message : String(error),
182
+ error: SafeErrorMessage_helper_1.default.sanitize(error),
182
183
  });
183
184
  }
184
185
  });
@@ -320,4 +321,3 @@ class DatabaseController {
320
321
  }
321
322
  }
322
323
  exports.default = DatabaseController;
323
- //# sourceMappingURL=Databse.controller.js.map
@@ -124,4 +124,3 @@ class IndexController {
124
124
  }
125
125
  }
126
126
  exports.default = IndexController;
127
- //# sourceMappingURL=Index.controller.js.map
@@ -334,4 +334,3 @@ class CRUDController {
334
334
  }
335
335
  }
336
336
  exports.default = CRUDController;
337
- //# sourceMappingURL=CRUD.controller.js.map
@@ -102,4 +102,3 @@ class StatsController {
102
102
  }
103
103
  }
104
104
  exports.default = StatsController;
105
- //# sourceMappingURL=Stats.controller.js.map
@@ -117,4 +117,3 @@ function claimImport(databaseName, username) {
117
117
  function releaseImport(databaseName) {
118
118
  activeImports.delete(databaseName);
119
119
  }
120
- //# sourceMappingURL=databaseImport.helper.js.map
@@ -32,4 +32,3 @@ function countDocumentsInFolder(folderPath) {
32
32
  return items.filter((item) => item.isFile() && item.name.endsWith(Keys_1.General.DBMS_File_EXT)).length;
33
33
  });
34
34
  }
35
- //# sourceMappingURL=documentCounterInFolder.helper.js.map
@@ -19,4 +19,3 @@ function sendResponse(reply, response) {
19
19
  reply.code(response.statusCode);
20
20
  return response;
21
21
  }
22
- //# sourceMappingURL=responseBuilder.helper.js.map
@@ -61,4 +61,3 @@ function requireFreshPassword(request, reply) {
61
61
  }
62
62
  });
63
63
  }
64
- //# sourceMappingURL=auth.middleware.js.map
@@ -33,4 +33,3 @@ function requirePermission(permissionKey) {
33
33
  });
34
34
  };
35
35
  }
36
- //# sourceMappingURL=permission.middleware.js.map