@internxt/cli 1.6.2 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +411 -72
- package/dist/commands/add-cert.d.ts +1 -1
- package/dist/commands/add-cert.js +1 -1
- package/dist/commands/config.d.ts +7 -1
- package/dist/commands/config.js +36 -5
- package/dist/commands/create-folder.d.ts +2 -1
- package/dist/commands/create-folder.js +10 -7
- package/dist/commands/delete-permanently-file.d.ts +1 -0
- package/dist/commands/delete-permanently-folder.d.ts +1 -0
- package/dist/commands/download-file.d.ts +1 -0
- package/dist/commands/download-file.js +4 -2
- package/dist/commands/list.d.ts +1 -0
- package/dist/commands/list.js +2 -4
- package/dist/commands/login-legacy.d.ts +1 -0
- package/dist/commands/move-file.d.ts +1 -1
- package/dist/commands/move-file.js +7 -21
- package/dist/commands/move-folder.d.ts +1 -1
- package/dist/commands/move-folder.js +7 -21
- package/dist/commands/rename-file.d.ts +1 -0
- package/dist/commands/rename-folder.d.ts +1 -0
- package/dist/commands/trash-clear.d.ts +1 -0
- package/dist/commands/trash-file.d.ts +1 -0
- package/dist/commands/trash-folder.d.ts +1 -0
- package/dist/commands/trash-restore-file.d.ts +1 -1
- package/dist/commands/trash-restore-file.js +7 -21
- package/dist/commands/trash-restore-folder.d.ts +1 -1
- package/dist/commands/trash-restore-folder.js +7 -21
- package/dist/commands/upload-file.d.ts +4 -5
- package/dist/commands/upload-file.js +42 -31
- package/dist/commands/upload-folder.d.ts +1 -0
- package/dist/commands/upload-folder.js +11 -6
- package/dist/commands/webdav-config.d.ts +19 -1
- package/dist/commands/webdav-config.js +81 -3
- package/dist/commands/webdav.d.ts +1 -1
- package/dist/commands/webdav.js +10 -5
- package/dist/commands/whoami.js +2 -1
- package/dist/commands/workspaces-list.d.ts +20 -0
- package/dist/commands/workspaces-list.js +67 -0
- package/dist/commands/workspaces-unset.d.ts +23 -0
- package/dist/commands/workspaces-unset.js +45 -0
- package/dist/commands/workspaces-use.d.ts +27 -0
- package/dist/commands/workspaces-use.js +113 -0
- package/dist/constants/configs.d.ts +2 -1
- package/dist/constants/configs.js +4 -3
- package/dist/hooks/prerun/auth_check.js +13 -4
- package/dist/services/auth.service.d.ts +5 -2
- package/dist/services/auth.service.js +69 -12
- package/dist/services/config.service.d.ts +1 -1
- package/dist/services/config.service.js +12 -4
- package/dist/services/crypto.service.d.ts +5 -0
- package/dist/services/crypto.service.js +43 -0
- package/dist/services/database/database.service.d.ts +9 -0
- package/dist/services/database/database.service.js +39 -0
- package/dist/services/database/drive-file/drive-file.attributes.d.ts +3 -6
- package/dist/services/database/drive-file/drive-file.domain.d.ts +3 -6
- package/dist/services/database/drive-file/drive-file.domain.js +1 -12
- package/dist/services/database/drive-file/drive-file.model.d.ts +15 -0
- package/dist/services/database/drive-file/drive-file.model.js +67 -0
- package/dist/services/database/drive-file/drive-file.repository.d.ts +11 -0
- package/dist/services/database/drive-file/drive-file.repository.js +63 -0
- package/dist/services/database/drive-folder/drive-folder.attributes.d.ts +3 -4
- package/dist/services/database/drive-folder/drive-folder.domain.d.ts +4 -5
- package/dist/services/database/drive-folder/drive-folder.domain.js +11 -15
- package/dist/services/database/drive-folder/drive-folder.model.d.ts +11 -0
- package/dist/services/database/drive-folder/drive-folder.model.js +51 -0
- package/dist/services/database/drive-folder/drive-folder.repository.d.ts +13 -0
- package/dist/services/database/drive-folder/drive-folder.repository.js +99 -0
- package/dist/services/drive/drive-file.service.d.ts +2 -0
- package/dist/services/drive/drive-file.service.js +71 -15
- package/dist/services/drive/drive-folder.service.d.ts +6 -1
- package/dist/services/drive/drive-folder.service.js +157 -31
- package/dist/services/drive/trash.service.d.ts +3 -0
- package/dist/services/drive/trash.service.js +52 -16
- package/dist/services/drive/workspace.service.d.ts +7 -0
- package/dist/services/drive/workspace.service.js +30 -0
- package/dist/services/keys.service.d.ts +7 -0
- package/dist/services/keys.service.js +55 -0
- package/dist/services/local-filesystem/local-filesystem.service.d.ts +2 -2
- package/dist/services/local-filesystem/local-filesystem.service.js +4 -4
- package/dist/services/network/download.service.d.ts +2 -2
- package/dist/services/network/download.service.js +2 -2
- package/dist/services/network/network-facade.service.d.ts +11 -8
- package/dist/services/network/network-facade.service.js +19 -32
- package/dist/services/network/upload/upload-facade.service.d.ts +1 -1
- package/dist/services/network/upload/upload-facade.service.js +14 -7
- package/dist/services/network/upload/upload-file.service.d.ts +3 -3
- package/dist/services/network/upload/upload-file.service.js +38 -30
- package/dist/services/network/upload/upload-folder.service.d.ts +2 -2
- package/dist/services/network/upload/upload-folder.service.js +15 -10
- package/dist/services/network/upload/upload.types.d.ts +11 -0
- package/dist/services/sdk-manager.service.d.ts +9 -7
- package/dist/services/sdk-manager.service.js +27 -13
- package/dist/services/thumbnail.service.d.ts +19 -1
- package/dist/services/thumbnail.service.js +34 -9
- package/dist/services/universal-link.service.d.ts +3 -1
- package/dist/services/universal-link.service.js +15 -3
- package/dist/services/usage.service.d.ts +1 -2
- package/dist/services/usage.service.js +1 -1
- package/dist/services/validation.service.js +14 -4
- package/dist/{webdav/services → services/webdav}/webdav-folder.service.d.ts +1 -7
- package/dist/{webdav/services → services/webdav}/webdav-folder.service.js +6 -10
- package/dist/types/command.types.d.ts +44 -1
- package/dist/types/command.types.js +29 -1
- package/dist/types/config.types.d.ts +1 -0
- package/dist/types/drive.types.d.ts +7 -6
- package/dist/types/network.types.d.ts +6 -0
- package/dist/utils/async.utils.d.ts +2 -1
- package/dist/utils/async.utils.js +13 -2
- package/dist/utils/cli.utils.d.ts +20 -15
- package/dist/utils/cli.utils.js +48 -18
- package/dist/utils/crypto.utils.d.ts +3 -1
- package/dist/utils/crypto.utils.js +15 -2
- package/dist/utils/database.utils.d.ts +11 -0
- package/dist/utils/database.utils.js +26 -0
- package/dist/utils/drive.utils.js +7 -10
- package/dist/utils/errors.utils.d.ts +4 -4
- package/dist/utils/errors.utils.js +16 -19
- package/dist/utils/format.utils.d.ts +1 -0
- package/dist/utils/format.utils.js +3 -0
- package/dist/utils/inquirer.utils.js +10 -1
- package/dist/utils/path.utils.d.ts +7 -0
- package/dist/utils/path.utils.js +18 -0
- package/dist/utils/thumbnail.utils.d.ts +6 -20
- package/dist/utils/thumbnail.utils.js +16 -41
- package/dist/utils/webdav.utils.d.ts +5 -20
- package/dist/utils/webdav.utils.js +31 -14
- package/dist/utils/xml.utils.d.ts +1 -1
- package/dist/webdav/handlers/DELETE.handler.d.ts +0 -9
- package/dist/webdav/handlers/DELETE.handler.js +2 -16
- package/dist/webdav/handlers/GET.handler.d.ts +0 -13
- package/dist/webdav/handlers/GET.handler.js +6 -11
- package/dist/webdav/handlers/HEAD.handler.d.ts +0 -5
- package/dist/webdav/handlers/HEAD.handler.js +11 -23
- package/dist/webdav/handlers/MKCOL.handler.d.ts +0 -7
- package/dist/webdav/handlers/MKCOL.handler.js +5 -12
- package/dist/webdav/handlers/MOVE.handler.d.ts +0 -9
- package/dist/webdav/handlers/MOVE.handler.js +10 -16
- package/dist/webdav/handlers/PROPFIND.handler.d.ts +0 -7
- package/dist/webdav/handlers/PROPFIND.handler.js +7 -19
- package/dist/webdav/handlers/PUT.handler.d.ts +0 -15
- package/dist/webdav/handlers/PUT.handler.js +37 -43
- package/dist/webdav/index.js +6 -8
- package/dist/webdav/middewares/auth.middleware.d.ts +1 -2
- package/dist/webdav/middewares/auth.middleware.js +5 -4
- package/dist/webdav/middewares/errors.middleware.js +2 -2
- package/dist/webdav/middewares/webdav-auth.middleware.d.ts +3 -0
- package/dist/webdav/middewares/webdav-auth.middleware.js +44 -0
- package/dist/webdav/webdav-server.d.ts +3 -16
- package/dist/webdav/webdav-server.js +29 -87
- package/oclif.manifest.json +429 -6
- package/package.json +27 -22
- package/dist/types/fast-xml-parser.types.d.ts +0 -59
- package/dist/types/fast-xml-parser.types.js +0 -2
|
@@ -15,13 +15,9 @@ const auth_middleware_1 = require("./middewares/auth.middleware");
|
|
|
15
15
|
const request_logger_middleware_1 = require("./middewares/request-logger.middleware");
|
|
16
16
|
const GET_handler_1 = require("./handlers/GET.handler");
|
|
17
17
|
const HEAD_handler_1 = require("./handlers/HEAD.handler");
|
|
18
|
-
const download_service_1 = require("../services/network/download.service");
|
|
19
|
-
const auth_service_1 = require("../services/auth.service");
|
|
20
|
-
const crypto_service_1 = require("../services/crypto.service");
|
|
21
18
|
const errors_middleware_1 = require("./middewares/errors.middleware");
|
|
22
19
|
const express_async_handler_1 = __importDefault(require("express-async-handler"));
|
|
23
20
|
const sdk_manager_service_1 = require("../services/sdk-manager.service");
|
|
24
|
-
const network_facade_service_1 = require("../services/network/network-facade.service");
|
|
25
21
|
const network_utils_1 = require("../utils/network.utils");
|
|
26
22
|
const PUT_handler_1 = require("./handlers/PUT.handler");
|
|
27
23
|
const MKCOL_handler_1 = require("./handlers/MKCOL.handler");
|
|
@@ -29,48 +25,16 @@ const DELETE_handler_1 = require("./handlers/DELETE.handler");
|
|
|
29
25
|
const PROPPATCH_handler_1 = require("./handlers/PROPPATCH.handler");
|
|
30
26
|
const MOVE_handler_1 = require("./handlers/MOVE.handler");
|
|
31
27
|
const COPY_handler_1 = require("./handlers/COPY.handler");
|
|
32
|
-
const inxt_js_1 = require("@internxt/inxt-js");
|
|
33
28
|
const mkcol_middleware_1 = require("./middewares/mkcol.middleware");
|
|
34
|
-
const
|
|
29
|
+
const webdav_auth_middleware_1 = require("./middewares/webdav-auth.middleware");
|
|
35
30
|
class WebDavServer {
|
|
36
31
|
app;
|
|
37
|
-
|
|
38
|
-
driveFileService;
|
|
39
|
-
driveFolderService;
|
|
40
|
-
downloadService;
|
|
41
|
-
authService;
|
|
42
|
-
cryptoService;
|
|
43
|
-
trashService;
|
|
44
|
-
constructor(app, configService, driveFileService, driveFolderService, downloadService, authService, cryptoService, trashService) {
|
|
32
|
+
constructor(app) {
|
|
45
33
|
this.app = app;
|
|
46
|
-
this.configService = configService;
|
|
47
|
-
this.driveFileService = driveFileService;
|
|
48
|
-
this.driveFolderService = driveFolderService;
|
|
49
|
-
this.downloadService = downloadService;
|
|
50
|
-
this.authService = authService;
|
|
51
|
-
this.cryptoService = cryptoService;
|
|
52
|
-
this.trashService = trashService;
|
|
53
34
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
throw new Error('Credentials not found in Config service, do login first');
|
|
58
|
-
const networkModule = sdk_manager_service_1.SdkManager.instance.getNetwork({
|
|
59
|
-
user: credentials.user.bridgeUser,
|
|
60
|
-
pass: credentials.user.userId,
|
|
61
|
-
});
|
|
62
|
-
const environment = new inxt_js_1.Environment({
|
|
63
|
-
bridgeUser: credentials.user.bridgeUser,
|
|
64
|
-
bridgePass: credentials.user.userId,
|
|
65
|
-
bridgeUrl: config_service_1.ConfigService.instance.get('NETWORK_URL'),
|
|
66
|
-
encryptionKey: credentials.user.mnemonic,
|
|
67
|
-
appDetails: sdk_manager_service_1.SdkManager.getAppDetails(),
|
|
68
|
-
});
|
|
69
|
-
const networkFacade = new network_facade_service_1.NetworkFacade(networkModule, environment, download_service_1.DownloadService.instance, crypto_service_1.CryptoService.instance);
|
|
70
|
-
return networkFacade;
|
|
71
|
-
};
|
|
72
|
-
registerStartMiddlewares = () => {
|
|
73
|
-
this.app.use((0, auth_middleware_1.AuthMiddleware)(auth_service_1.AuthService.instance));
|
|
35
|
+
registerStartMiddlewares = (configs) => {
|
|
36
|
+
this.app.use((0, webdav_auth_middleware_1.WebDAVAuthMiddleware)(configs));
|
|
37
|
+
this.app.use((0, auth_middleware_1.AuthMiddleware)());
|
|
74
38
|
this.app.use((0, request_logger_middleware_1.RequestLoggerMiddleware)({
|
|
75
39
|
enable: true,
|
|
76
40
|
}));
|
|
@@ -80,58 +44,35 @@ class WebDavServer {
|
|
|
80
44
|
registerEndMiddleWares = () => {
|
|
81
45
|
this.app.use(errors_middleware_1.ErrorHandlingMiddleware);
|
|
82
46
|
};
|
|
83
|
-
registerHandlers =
|
|
47
|
+
registerHandlers = () => {
|
|
84
48
|
const serverListenPath = /(.*)/;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
driveFolderService: this.driveFolderService,
|
|
88
|
-
configService: this.configService,
|
|
89
|
-
});
|
|
90
|
-
this.app.head(serverListenPath, (0, express_async_handler_1.default)(new HEAD_handler_1.HEADRequestHandler({
|
|
91
|
-
driveFileService: this.driveFileService,
|
|
92
|
-
}).handle));
|
|
93
|
-
this.app.get(serverListenPath, (0, express_async_handler_1.default)(new GET_handler_1.GETRequestHandler({
|
|
94
|
-
driveFileService: this.driveFileService,
|
|
95
|
-
downloadService: this.downloadService,
|
|
96
|
-
cryptoService: this.cryptoService,
|
|
97
|
-
authService: this.authService,
|
|
98
|
-
networkFacade: networkFacade,
|
|
99
|
-
}).handle));
|
|
49
|
+
this.app.head(serverListenPath, (0, express_async_handler_1.default)(new HEAD_handler_1.HEADRequestHandler().handle));
|
|
50
|
+
this.app.get(serverListenPath, (0, express_async_handler_1.default)(new GET_handler_1.GETRequestHandler().handle));
|
|
100
51
|
this.app.options(serverListenPath, (0, express_async_handler_1.default)(new OPTIONS_handler_1.OPTIONSRequestHandler().handle));
|
|
101
|
-
this.app.propfind(serverListenPath, (0, express_async_handler_1.default)(new PROPFIND_handler_1.PROPFINDRequestHandler(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
this.app.put(serverListenPath, (0, express_async_handler_1.default)(new PUT_handler_1.PUTRequestHandler({
|
|
106
|
-
driveFileService: this.driveFileService,
|
|
107
|
-
driveFolderService: this.driveFolderService,
|
|
108
|
-
webDavFolderService: webDavFolderService,
|
|
109
|
-
authService: this.authService,
|
|
110
|
-
trashService: this.trashService,
|
|
111
|
-
networkFacade: networkFacade,
|
|
112
|
-
}).handle));
|
|
113
|
-
this.app.mkcol(serverListenPath, (0, express_async_handler_1.default)(new MKCOL_handler_1.MKCOLRequestHandler({
|
|
114
|
-
driveFolderService: this.driveFolderService,
|
|
115
|
-
webDavFolderService: webDavFolderService,
|
|
116
|
-
}).handle));
|
|
117
|
-
this.app.delete(serverListenPath, (0, express_async_handler_1.default)(new DELETE_handler_1.DELETERequestHandler({
|
|
118
|
-
trashService: this.trashService,
|
|
119
|
-
driveFileService: this.driveFileService,
|
|
120
|
-
driveFolderService: this.driveFolderService,
|
|
121
|
-
}).handle));
|
|
52
|
+
this.app.propfind(serverListenPath, (0, express_async_handler_1.default)(new PROPFIND_handler_1.PROPFINDRequestHandler().handle));
|
|
53
|
+
this.app.put(serverListenPath, (0, express_async_handler_1.default)(new PUT_handler_1.PUTRequestHandler().handle));
|
|
54
|
+
this.app.mkcol(serverListenPath, (0, express_async_handler_1.default)(new MKCOL_handler_1.MKCOLRequestHandler().handle));
|
|
55
|
+
this.app.delete(serverListenPath, (0, express_async_handler_1.default)(new DELETE_handler_1.DELETERequestHandler().handle));
|
|
122
56
|
this.app.proppatch(serverListenPath, (0, express_async_handler_1.default)(new PROPPATCH_handler_1.PROPPATCHRequestHandler().handle));
|
|
123
|
-
this.app.move(serverListenPath, (0, express_async_handler_1.default)(new MOVE_handler_1.MOVERequestHandler(
|
|
124
|
-
driveFolderService: this.driveFolderService,
|
|
125
|
-
driveFileService: this.driveFileService,
|
|
126
|
-
webDavFolderService,
|
|
127
|
-
}).handle));
|
|
57
|
+
this.app.move(serverListenPath, (0, express_async_handler_1.default)(new MOVE_handler_1.MOVERequestHandler().handle));
|
|
128
58
|
this.app.copy(serverListenPath, (0, express_async_handler_1.default)(new COPY_handler_1.COPYRequestHandler().handle));
|
|
129
59
|
};
|
|
60
|
+
static checkwebDAVCredentials = (configs) => {
|
|
61
|
+
if (configs.customAuth) {
|
|
62
|
+
if (!configs.username?.trim()) {
|
|
63
|
+
throw new Error('WebDAV CustomAuth is enabled but no username was provided.');
|
|
64
|
+
}
|
|
65
|
+
if (!configs.password?.trim()) {
|
|
66
|
+
throw new Error('WebDAV CustomAuth is enabled but no password was provided.');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
130
70
|
start = async () => {
|
|
131
|
-
const configs = await
|
|
71
|
+
const configs = await config_service_1.ConfigService.instance.readWebdavConfig();
|
|
72
|
+
WebDavServer.checkwebDAVCredentials(configs);
|
|
132
73
|
this.app.disable('x-powered-by');
|
|
133
|
-
this.registerStartMiddlewares();
|
|
134
|
-
|
|
74
|
+
this.registerStartMiddlewares(configs);
|
|
75
|
+
this.registerHandlers();
|
|
135
76
|
this.registerEndMiddleWares();
|
|
136
77
|
const plainHttp = configs.protocol === 'http';
|
|
137
78
|
let server;
|
|
@@ -145,7 +86,8 @@ class WebDavServer {
|
|
|
145
86
|
server.requestTimeout = configs.timeoutMinutes * 60 * 1000;
|
|
146
87
|
server.listen(Number(configs.port), configs.host, undefined, () => {
|
|
147
88
|
logger_utils_1.webdavLogger.info(`Internxt ${sdk_manager_service_1.SdkManager.getAppDetails().clientVersion} WebDav server ` +
|
|
148
|
-
`listening at ${configs.protocol}://${configs.host}:${configs.port}`
|
|
89
|
+
`listening at ${configs.protocol}://${configs.host}:${configs.port}` +
|
|
90
|
+
`${configs.customAuth ? ' (with custom authentication)' : ''}`);
|
|
149
91
|
});
|
|
150
92
|
};
|
|
151
93
|
}
|