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.
- package/lib/Helper/Console.helper.js +0 -1
- package/lib/Helper/Converter.helper.js +0 -1
- package/lib/Helper/DocumentLoader.helper.js +0 -1
- package/lib/Helper/Logger.helper.js +0 -1
- package/lib/Helper/PathSanitizer.helper.js +0 -1
- package/lib/Helper/RegexGuard.helper.d.ts +85 -0
- package/lib/Helper/RegexGuard.helper.js +277 -0
- package/lib/Helper/SafeErrorMessage.helper.d.ts +18 -0
- package/lib/Helper/SafeErrorMessage.helper.js +41 -0
- package/lib/Helper/SortedIndexValues.helper.js +0 -1
- package/lib/Helper/UniqueGenerator.helper.js +0 -1
- package/lib/Helper/response.helper.js +0 -1
- package/lib/Memory/memory.operation.js +0 -1
- package/lib/Services/Aggregation/Aggregation.Operation.js +0 -1
- package/lib/Services/Aggregation/OperatorRegistry.js +0 -1
- package/lib/Services/Aggregation/operators/accumulatorOperators.js +0 -1
- package/lib/Services/Aggregation/operators/expressionOperators.js +5 -2
- package/lib/Services/Aggregation/operators/stageOperators.js +5 -2
- package/lib/Services/Auth/AuthEvents.service.js +0 -1
- package/lib/Services/Auth/AuthSeeder.service.js +0 -1
- package/lib/Services/Auth/AuthService.service.js +0 -1
- package/lib/Services/Auth/ConfigDatabase.service.js +0 -1
- package/lib/Services/Auth/CookieCodec.helper.js +0 -1
- package/lib/Services/Auth/LoginRateLimiter.service.js +0 -1
- package/lib/Services/Auth/PasswordHasher.helper.js +0 -1
- package/lib/Services/Auth/PermissionChecker.helper.js +0 -1
- package/lib/Services/Auth/SessionStore.service.js +0 -1
- package/lib/Services/CRUD Operation/Create.operation.js +0 -1
- package/lib/Services/CRUD Operation/Delete.operation.js +0 -1
- package/lib/Services/CRUD Operation/Reader.operation.js +0 -1
- package/lib/Services/CRUD Operation/Update.operation.js +0 -1
- package/lib/Services/Collection/collection.operation.js +0 -1
- package/lib/Services/Database/database.operation.js +2 -3
- package/lib/Services/Index/Index.service.js +0 -1
- package/lib/Services/Index/IndexCache.service.js +0 -1
- package/lib/Services/Index/ReadIndex.service.js +0 -1
- package/lib/Services/Indexation.operation.js +4 -4
- package/lib/Services/Transaction/LockManager.service.js +0 -1
- package/lib/Services/Transaction/Session.service.js +0 -1
- package/lib/Services/Transaction/Transaction.service.js +0 -1
- package/lib/Services/Transaction/TransactionIndexManager.service.js +0 -1
- package/lib/Services/Transaction/TransactionRegistry.service.js +0 -1
- package/lib/Services/Transaction/WriteAheadLog.service.js +0 -1
- package/lib/client/AggregationProxy.js +0 -1
- package/lib/client/AxioDBCloud.client.js +0 -1
- package/lib/client/CollectionProxy.js +0 -1
- package/lib/client/DatabaseProxy.js +0 -1
- package/lib/client/DeleteOperationProxy.js +0 -1
- package/lib/client/PooledConnection.js +0 -1
- package/lib/client/ReaderProxy.js +0 -1
- package/lib/client/TransactionProxy.js +0 -1
- package/lib/client/UpdateOperationProxy.js +0 -1
- package/lib/client/types/client.types.js +0 -1
- package/lib/config/DB.js +0 -1
- package/lib/config/Interfaces/Auth/auth.interface.js +0 -1
- package/lib/config/Interfaces/Helper/response.helper.interface.js +0 -1
- package/lib/config/Interfaces/Operation/Indexation.operation.interface.js +0 -1
- package/lib/config/Interfaces/Operation/aggregation.interface.js +0 -1
- package/lib/config/Interfaces/Operation/database.operation.interface.js +0 -1
- package/lib/config/Interfaces/Transaction/transaction.interface.js +0 -1
- package/lib/config/Interfaces/shared.types.js +0 -1
- package/lib/config/Keys/Keys.js +0 -1
- package/lib/config/Keys/Permissions.js +0 -1
- package/lib/config/Keys/StatusCode.js +0 -1
- package/lib/engine/Filesystem/FileManager.js +9 -4
- package/lib/engine/Filesystem/FolderManager.js +8 -3
- package/lib/engine/node/WorkerForDataLoad.engine.js +0 -1
- package/lib/engine/node/WorkerForSearch.engine.js +0 -1
- package/lib/server/config/PortFreeChecker.js +0 -1
- package/lib/server/config/keys.d.ts +6 -0
- package/lib/server/config/keys.js +14 -2
- package/lib/server/config/server.js +5 -1
- package/lib/server/controller/Auth/Auth.controller.js +0 -1
- package/lib/server/controller/Auth/RoleManagement.controller.js +0 -1
- package/lib/server/controller/Auth/UserManagement.controller.js +0 -1
- package/lib/server/controller/Collections/Collection.controller.js +0 -1
- package/lib/server/controller/Database/Databse.controller.js +2 -2
- package/lib/server/controller/Index/Index.controller.js +0 -1
- package/lib/server/controller/Operation/CRUD.controller.js +0 -1
- package/lib/server/controller/Stats.controller.js +0 -1
- package/lib/server/helper/databaseImport.helper.js +0 -1
- package/lib/server/helper/documentCounterInFolder.helper.js +0 -1
- package/lib/server/helper/responseBuilder.helper.js +0 -1
- package/lib/server/middleware/auth.middleware.js +0 -1
- package/lib/server/middleware/permission.middleware.js +0 -1
- package/lib/server/public/AxioControl/AXioDB.png +0 -0
- package/lib/server/public/AxioControl/assets/index-B9AO8c4G.js +1 -0
- package/lib/server/public/AxioControl/index.html +1 -1
- package/lib/server/public/AxioControl/sw.js +1 -1
- package/lib/server/public/DONT_TOUCH_THIS_FILE.js +0 -1
- package/lib/server/router/Router.js +0 -1
- package/lib/server/router/Routers/Auth.routes.js +0 -1
- package/lib/server/router/Routers/Collection.routes.js +0 -1
- package/lib/server/router/Routers/DB.routes.js +0 -1
- package/lib/server/router/Routers/Index.routes.js +0 -1
- package/lib/server/router/Routers/Operation.routes.js +0 -1
- package/lib/server/router/Routers/RoleManagement.routes.js +0 -1
- package/lib/server/router/Routers/UserManagement.routes.js +0 -1
- package/lib/tcp/config/keys.js +0 -1
- package/lib/tcp/config/permissions.js +0 -1
- package/lib/tcp/config/protocol.js +0 -1
- package/lib/tcp/config/server.js +2 -2
- package/lib/tcp/connection/ConnectionManager.js +2 -2
- package/lib/tcp/connection/ConnectionRateLimiter.js +0 -1
- package/lib/tcp/connection/RequestContext.js +0 -1
- package/lib/tcp/connection/TransactionManager.js +0 -1
- package/lib/tcp/handler/CommandHandler.js +3 -3
- package/lib/tcp/handler/handlers/Auth.handler.js +0 -1
- package/lib/tcp/handler/handlers/Collection.handler.d.ts +1 -1
- package/lib/tcp/handler/handlers/Collection.handler.js +6 -6
- package/lib/tcp/handler/handlers/DB.handler.js +5 -5
- package/lib/tcp/handler/handlers/Operation.handler.js +3 -2
- package/lib/tcp/handler/handlers/Transaction.handler.js +3 -2
- package/lib/tcp/types/command.types.js +0 -1
- package/lib/tcp/types/protocol.types.js +0 -1
- package/lib/utility/BufferLoaderWithWorker.utils.js +0 -1
- package/lib/utility/Searcher.utils.js +3 -3
- package/lib/utility/SortData.utils.js +0 -1
- package/lib/utility/ZipUnzip.utils.js +0 -1
- package/package.json +1 -1
- package/.commandcode/settings.json +0 -24
- package/.commandcode/taste/taste.md +0 -2
- package/.commandcode/taste/user-taste-profile/taste.md +0 -39
- package/lib/Helper/Console.helper.js.map +0 -1
- package/lib/Helper/Converter.helper.js.map +0 -1
- package/lib/Helper/DocumentLoader.helper.js.map +0 -1
- package/lib/Helper/Logger.helper.js.map +0 -1
- package/lib/Helper/PathSanitizer.helper.js.map +0 -1
- package/lib/Helper/SortedIndexValues.helper.js.map +0 -1
- package/lib/Helper/UniqueGenerator.helper.js.map +0 -1
- package/lib/Helper/response.helper.js.map +0 -1
- package/lib/Memory/memory.operation.js.map +0 -1
- package/lib/Services/Aggregation/Aggregation.Operation.js.map +0 -1
- package/lib/Services/Aggregation/OperatorRegistry.js.map +0 -1
- package/lib/Services/Aggregation/operators/accumulatorOperators.js.map +0 -1
- package/lib/Services/Aggregation/operators/expressionOperators.js.map +0 -1
- package/lib/Services/Aggregation/operators/stageOperators.js.map +0 -1
- package/lib/Services/Auth/AuthEvents.service.js.map +0 -1
- package/lib/Services/Auth/AuthSeeder.service.js.map +0 -1
- package/lib/Services/Auth/AuthService.service.js.map +0 -1
- package/lib/Services/Auth/ConfigDatabase.service.js.map +0 -1
- package/lib/Services/Auth/CookieCodec.helper.js.map +0 -1
- package/lib/Services/Auth/LoginRateLimiter.service.js.map +0 -1
- package/lib/Services/Auth/PasswordHasher.helper.js.map +0 -1
- package/lib/Services/Auth/PermissionChecker.helper.js.map +0 -1
- package/lib/Services/Auth/SessionStore.service.js.map +0 -1
- package/lib/Services/CRUD Operation/Create.operation.js.map +0 -1
- package/lib/Services/CRUD Operation/Delete.operation.js.map +0 -1
- package/lib/Services/CRUD Operation/Reader.operation.js.map +0 -1
- package/lib/Services/CRUD Operation/Update.operation.js.map +0 -1
- package/lib/Services/Collection/collection.operation.js.map +0 -1
- package/lib/Services/Database/database.operation.js.map +0 -1
- package/lib/Services/Index/Index.service.js.map +0 -1
- package/lib/Services/Index/IndexCache.service.js.map +0 -1
- package/lib/Services/Index/ReadIndex.service.js.map +0 -1
- package/lib/Services/Indexation.operation.js.map +0 -1
- package/lib/Services/Transaction/LockManager.service.js.map +0 -1
- package/lib/Services/Transaction/Session.service.js.map +0 -1
- package/lib/Services/Transaction/Transaction.service.js.map +0 -1
- package/lib/Services/Transaction/TransactionIndexManager.service.js.map +0 -1
- package/lib/Services/Transaction/TransactionRegistry.service.js.map +0 -1
- package/lib/Services/Transaction/WriteAheadLog.service.js.map +0 -1
- package/lib/client/AggregationProxy.js.map +0 -1
- package/lib/client/AxioDBCloud.client.js.map +0 -1
- package/lib/client/CollectionProxy.js.map +0 -1
- package/lib/client/DatabaseProxy.js.map +0 -1
- package/lib/client/DeleteOperationProxy.js.map +0 -1
- package/lib/client/PooledConnection.js.map +0 -1
- package/lib/client/ReaderProxy.js.map +0 -1
- package/lib/client/TransactionProxy.js.map +0 -1
- package/lib/client/UpdateOperationProxy.js.map +0 -1
- package/lib/client/types/client.types.js.map +0 -1
- package/lib/config/DB.js.map +0 -1
- package/lib/config/Interfaces/Auth/auth.interface.js.map +0 -1
- package/lib/config/Interfaces/Helper/response.helper.interface.js.map +0 -1
- package/lib/config/Interfaces/Operation/Indexation.operation.interface.js.map +0 -1
- package/lib/config/Interfaces/Operation/aggregation.interface.js.map +0 -1
- package/lib/config/Interfaces/Operation/database.operation.interface.js.map +0 -1
- package/lib/config/Interfaces/Transaction/transaction.interface.js.map +0 -1
- package/lib/config/Interfaces/shared.types.js.map +0 -1
- package/lib/config/Keys/Keys.js.map +0 -1
- package/lib/config/Keys/Permissions.js.map +0 -1
- package/lib/config/Keys/StatusCode.js.map +0 -1
- package/lib/engine/Filesystem/FileManager.js.map +0 -1
- package/lib/engine/Filesystem/FolderManager.js.map +0 -1
- package/lib/engine/node/WorkerForDataLoad.engine.js.map +0 -1
- package/lib/engine/node/WorkerForSearch.engine.js.map +0 -1
- package/lib/server/config/PortFreeChecker.js.map +0 -1
- package/lib/server/config/keys.js.map +0 -1
- package/lib/server/config/server.js.map +0 -1
- package/lib/server/controller/Auth/Auth.controller.js.map +0 -1
- package/lib/server/controller/Auth/RoleManagement.controller.js.map +0 -1
- package/lib/server/controller/Auth/UserManagement.controller.js.map +0 -1
- package/lib/server/controller/Collections/Collection.controller.js.map +0 -1
- package/lib/server/controller/Database/Databse.controller.js.map +0 -1
- package/lib/server/controller/Index/Index.controller.js.map +0 -1
- package/lib/server/controller/Operation/CRUD.controller.js.map +0 -1
- package/lib/server/controller/Stats.controller.js.map +0 -1
- package/lib/server/helper/databaseImport.helper.js.map +0 -1
- package/lib/server/helper/documentCounterInFolder.helper.js.map +0 -1
- package/lib/server/helper/responseBuilder.helper.js.map +0 -1
- package/lib/server/middleware/auth.middleware.js.map +0 -1
- package/lib/server/middleware/permission.middleware.js.map +0 -1
- package/lib/server/public/AxioControl/.vite/manifest.json +0 -11
- package/lib/server/public/AxioControl/.vite/ssr-manifest.json +0 -813
- package/lib/server/public/AxioControl/assets/index-BRccHygR.js +0 -157
- package/lib/server/public/DONT_TOUCH_THIS_FILE.js.map +0 -1
- package/lib/server/router/Router.js.map +0 -1
- package/lib/server/router/Routers/Auth.routes.js.map +0 -1
- package/lib/server/router/Routers/Collection.routes.js.map +0 -1
- package/lib/server/router/Routers/DB.routes.js.map +0 -1
- package/lib/server/router/Routers/Index.routes.js.map +0 -1
- package/lib/server/router/Routers/Operation.routes.js.map +0 -1
- package/lib/server/router/Routers/RoleManagement.routes.js.map +0 -1
- package/lib/server/router/Routers/UserManagement.routes.js.map +0 -1
- package/lib/tcp/config/keys.js.map +0 -1
- package/lib/tcp/config/permissions.js.map +0 -1
- package/lib/tcp/config/protocol.js.map +0 -1
- package/lib/tcp/config/server.js.map +0 -1
- package/lib/tcp/connection/ConnectionManager.js.map +0 -1
- package/lib/tcp/connection/ConnectionRateLimiter.js.map +0 -1
- package/lib/tcp/connection/RequestContext.js.map +0 -1
- package/lib/tcp/connection/TransactionManager.js.map +0 -1
- package/lib/tcp/handler/CommandHandler.js.map +0 -1
- package/lib/tcp/handler/handlers/Auth.handler.js.map +0 -1
- package/lib/tcp/handler/handlers/Collection.handler.js.map +0 -1
- package/lib/tcp/handler/handlers/DB.handler.js.map +0 -1
- package/lib/tcp/handler/handlers/Operation.handler.js.map +0 -1
- package/lib/tcp/handler/handlers/Transaction.handler.js.map +0 -1
- package/lib/tcp/types/command.types.js.map +0 -1
- package/lib/tcp/types/protocol.types.js.map +0 -1
- package/lib/utility/BufferLoaderWithWorker.utils.js.map +0 -1
- package/lib/utility/Searcher.utils.js.map +0 -1
- package/lib/utility/SortData.utils.js.map +0 -1
- 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 =
|
|
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 =
|
|
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
|
|
@@ -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
|
|
@@ -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 =
|
|
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 =
|
|
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 =
|
|
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
|
package/lib/config/DB.js
CHANGED
package/lib/config/Keys/Keys.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
@@ -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
|
|
@@ -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:
|
|
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
|
|
Binary file
|