@internxt/cli 1.5.2 → 1.5.3

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 (38) hide show
  1. package/README.md +25 -25
  2. package/dist/commands/add-cert.d.ts +1 -1
  3. package/dist/commands/add-cert.js +23 -23
  4. package/dist/commands/config.js +8 -3
  5. package/dist/commands/create-folder.js +10 -5
  6. package/dist/commands/delete-permanently-file.js +8 -3
  7. package/dist/commands/delete-permanently-folder.js +8 -3
  8. package/dist/commands/download-file.js +21 -16
  9. package/dist/commands/list.js +8 -3
  10. package/dist/commands/login.js +8 -3
  11. package/dist/commands/logout.js +8 -3
  12. package/dist/commands/logs.js +8 -3
  13. package/dist/commands/move-file.js +8 -3
  14. package/dist/commands/move-folder.js +8 -3
  15. package/dist/commands/rename-file.js +8 -3
  16. package/dist/commands/rename-folder.js +8 -3
  17. package/dist/commands/trash-clear.js +8 -3
  18. package/dist/commands/trash-file.js +8 -3
  19. package/dist/commands/trash-folder.js +8 -3
  20. package/dist/commands/trash-list.js +8 -3
  21. package/dist/commands/trash-restore-file.js +8 -3
  22. package/dist/commands/trash-restore-folder.js +8 -3
  23. package/dist/commands/upload-file.js +15 -9
  24. package/dist/commands/webdav-config.js +8 -3
  25. package/dist/commands/webdav.js +22 -22
  26. package/dist/commands/whoami.js +8 -3
  27. package/dist/hooks/prerun/auth_check.js +13 -7
  28. package/dist/utils/cli.utils.d.ts +13 -4
  29. package/dist/utils/cli.utils.js +44 -10
  30. package/dist/utils/xml.utils.d.ts +1 -1
  31. package/dist/utils/xml.utils.js +3 -3
  32. package/dist/webdav/handlers/PROPFIND.handler.js +12 -1
  33. package/dist/webdav/middewares/auth.middleware.js +10 -2
  34. package/dist/webdav/middewares/errors.middleware.js +8 -13
  35. package/dist/webdav/webdav-server.d.ts +2 -1
  36. package/dist/webdav/webdav-server.js +6 -3
  37. package/oclif.manifest.json +1 -1
  38. package/package.json +8 -8
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AuthMiddleware = void 0;
4
4
  const sdk_manager_service_1 = require("../../services/sdk-manager.service");
5
5
  const logger_utils_1 = require("../../utils/logger.utils");
6
+ const xml_utils_1 = require("../../utils/xml.utils");
6
7
  const AuthMiddleware = (authService) => {
7
8
  return (req, res, next) => {
8
9
  (async () => {
@@ -19,8 +20,15 @@ const AuthMiddleware = (authService) => {
19
20
  next();
20
21
  }
21
22
  catch (error) {
22
- logger_utils_1.webdavLogger.error('Error from AuthMiddleware: ' + error.message);
23
- res.status(401).send({ error: error.message });
23
+ let message = 'Authentication required to access this resource.';
24
+ if ('message' in error && error.message.trim().length > 0) {
25
+ message = error.message;
26
+ }
27
+ logger_utils_1.webdavLogger.error('Error from AuthMiddleware: ' + message);
28
+ const errorBodyXML = xml_utils_1.XMLUtils.toWebDavXML({
29
+ [xml_utils_1.XMLUtils.addDefaultNamespace('responsedescription')]: message,
30
+ }, {}, 'error');
31
+ res.status(401).send(errorBodyXML);
24
32
  }
25
33
  })();
26
34
  };
@@ -2,21 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ErrorHandlingMiddleware = void 0;
4
4
  const logger_utils_1 = require("../../utils/logger.utils");
5
+ const xml_utils_1 = require("../../utils/xml.utils");
5
6
  const ErrorHandlingMiddleware = (err, req, res, _) => {
6
7
  logger_utils_1.webdavLogger.error(`[ERROR MIDDLEWARE] [${req.method.toUpperCase()} - ${req.url}]`, err);
7
- if ('statusCode' in err) {
8
- res.status(err.statusCode).send({
9
- error: {
10
- message: err.message,
11
- },
12
- });
13
- }
14
- else {
15
- res.status(500).send({
16
- error: {
17
- message: 'message' in err ? err.message : 'Something went wrong',
18
- },
19
- });
8
+ const errorBodyXML = xml_utils_1.XMLUtils.toWebDavXML({
9
+ [xml_utils_1.XMLUtils.addDefaultNamespace('responsedescription')]: 'message' in err ? err.message : 'Something went wrong',
10
+ }, {}, 'error');
11
+ let statusCode = 500;
12
+ if ('statusCode' in err && !isNaN(err.statusCode)) {
13
+ statusCode = err.statusCode;
20
14
  }
15
+ res.status(statusCode).send(errorBodyXML);
21
16
  };
22
17
  exports.ErrorHandlingMiddleware = ErrorHandlingMiddleware;
@@ -17,7 +17,8 @@ export declare class WebDavServer {
17
17
  private readonly trashService;
18
18
  constructor(app: Express, configService: ConfigService, driveFileService: DriveFileService, driveFolderService: DriveFolderService, downloadService: DownloadService, authService: AuthService, cryptoService: CryptoService, trashService: TrashService);
19
19
  private readonly getNetworkFacade;
20
- private readonly registerMiddlewares;
20
+ private readonly registerStartMiddlewares;
21
+ private readonly registerEndMiddleWares;
21
22
  private readonly registerHandlers;
22
23
  start: () => Promise<void>;
23
24
  }
@@ -67,8 +67,7 @@ class WebDavServer {
67
67
  const networkFacade = new network_facade_service_1.NetworkFacade(networkModule, environment, download_service_1.DownloadService.instance, crypto_service_1.CryptoService.instance);
68
68
  return networkFacade;
69
69
  };
70
- registerMiddlewares = async () => {
71
- this.app.use(errors_middleware_1.ErrorHandlingMiddleware);
70
+ registerStartMiddlewares = () => {
72
71
  this.app.use((0, auth_middleware_1.AuthMiddleware)(auth_service_1.AuthService.instance));
73
72
  this.app.use((0, request_logger_middleware_1.RequestLoggerMiddleware)({
74
73
  enable: true,
@@ -76,6 +75,9 @@ class WebDavServer {
76
75
  this.app.use(body_parser_1.default.text({ type: ['application/xml', 'text/xml'] }));
77
76
  this.app.use(mkcol_middleware_1.MkcolMiddleware);
78
77
  };
78
+ registerEndMiddleWares = () => {
79
+ this.app.use(errors_middleware_1.ErrorHandlingMiddleware);
80
+ };
79
81
  registerHandlers = async () => {
80
82
  const serverListenPath = /(.*)/;
81
83
  const networkFacade = await this.getNetworkFacade();
@@ -119,8 +121,9 @@ class WebDavServer {
119
121
  start = async () => {
120
122
  const configs = await this.configService.readWebdavConfig();
121
123
  this.app.disable('x-powered-by');
122
- await this.registerMiddlewares();
124
+ this.registerStartMiddlewares();
123
125
  await this.registerHandlers();
126
+ this.registerEndMiddleWares();
124
127
  const plainHttp = configs.protocol === 'http';
125
128
  let server;
126
129
  if (plainHttp) {
@@ -1266,5 +1266,5 @@
1266
1266
  ]
1267
1267
  }
1268
1268
  },
1269
- "version": "1.5.2"
1269
+ "version": "1.5.3"
1270
1270
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "author": "Internxt <hello@internxt.com>",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "description": "Internxt CLI to manage your encrypted storage",
5
5
  "scripts": {
6
6
  "build": "yarn clean && tsc",
@@ -51,7 +51,7 @@
51
51
  "express": "5.1.0",
52
52
  "express-async-handler": "1.2.0",
53
53
  "express-basic-auth": "1.2.1",
54
- "fast-xml-parser": "5.2.1",
54
+ "fast-xml-parser": "5.2.2",
55
55
  "mime-types": "3.0.1",
56
56
  "openpgp": "5.11.2",
57
57
  "pm2": "6.0.5",
@@ -71,13 +71,13 @@
71
71
  "@types/cli-progress": "3.11.6",
72
72
  "@types/express": "5.0.1",
73
73
  "@types/mime-types": "2.1.4",
74
- "@types/node": "22.15.3",
74
+ "@types/node": "22.15.16",
75
75
  "@types/range-parser": "1.2.7",
76
- "@vitest/coverage-istanbul": "3.1.2",
77
- "@vitest/spy": "3.1.2",
78
- "eslint": "9.25.1",
76
+ "@vitest/coverage-istanbul": "3.1.3",
77
+ "@vitest/spy": "3.1.3",
78
+ "eslint": "9.26.0",
79
79
  "husky": "9.1.7",
80
- "lint-staged": "15.5.1",
80
+ "lint-staged": "15.5.2",
81
81
  "nock": "14.0.4",
82
82
  "nodemon": "3.1.10",
83
83
  "oclif": "4.17.46",
@@ -85,7 +85,7 @@
85
85
  "rimraf": "6.0.1",
86
86
  "ts-node": "10.9.2",
87
87
  "typescript": "5.8.3",
88
- "vitest": "3.1.2",
88
+ "vitest": "3.1.3",
89
89
  "vitest-mock-express": "2.2.0"
90
90
  },
91
91
  "engines": {