mirror of
https://github.com/MCSManager/MCSManager.git
synced 2025-04-06 17:10:29 +08:00
Refactor: replace "node-disk-info" module
This commit is contained in:
parent
4d74b06b5a
commit
d9a62e13d0
20
daemon/package-lock.json
generated
20
daemon/package-lock.json
generated
@ -25,7 +25,6 @@
|
||||
"koa-send": "^5.0.1",
|
||||
"log4js": "^6.4.0",
|
||||
"module-alias": "^2.2.3",
|
||||
"node-disk-info": "^1.3.0",
|
||||
"node-schedule": "^2.0.0",
|
||||
"node-stream-zip": "^1.15.0",
|
||||
"os-utils": "0.0.14",
|
||||
@ -3282,17 +3281,6 @@
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/node-disk-info": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/node-disk-info/-/node-disk-info-1.3.0.tgz",
|
||||
"integrity": "sha512-NEx858vJZ0AoBtmD/ChBIHLjFTF28xCsDIgmFl4jtGKsvlUx9DU/OrMDjvj3qp/E4hzLN0HvTg7eJx5XFQvbeg==",
|
||||
"dependencies": {
|
||||
"iconv-lite": "^0.6.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12"
|
||||
}
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
|
||||
@ -7534,14 +7522,6 @@
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true
|
||||
},
|
||||
"node-disk-info": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/node-disk-info/-/node-disk-info-1.3.0.tgz",
|
||||
"integrity": "sha512-NEx858vJZ0AoBtmD/ChBIHLjFTF28xCsDIgmFl4jtGKsvlUx9DU/OrMDjvj3qp/E4hzLN0HvTg7eJx5XFQvbeg==",
|
||||
"requires": {
|
||||
"iconv-lite": "^0.6.2"
|
||||
}
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
|
||||
|
@ -33,7 +33,6 @@
|
||||
"koa-send": "^5.0.1",
|
||||
"log4js": "^6.4.0",
|
||||
"module-alias": "^2.2.3",
|
||||
"node-disk-info": "^1.3.0",
|
||||
"node-schedule": "^2.0.0",
|
||||
"node-stream-zip": "^1.15.0",
|
||||
"os-utils": "0.0.14",
|
||||
|
@ -2,15 +2,9 @@ import { $t } from "../i18n";
|
||||
import * as protocol from "../service/protocol";
|
||||
import { routerApp } from "../service/router";
|
||||
import InstanceSubsystem from "../service/system_instance";
|
||||
import { getFileManager } from "../service/file_router_service";
|
||||
import { getFileManager, getWindowsDisks } from "../service/file_router_service";
|
||||
import { globalConfiguration, globalEnv } from "../entity/config";
|
||||
import os from "os";
|
||||
import * as nodeDiskInfo from "node-disk-info";
|
||||
|
||||
let diskInfos: any[] = [];
|
||||
if (os.platform() === "win32") {
|
||||
diskInfos = nodeDiskInfo.getDiskInfoSync();
|
||||
}
|
||||
|
||||
// Some routers operate router authentication middleware
|
||||
routerApp.use((event, ctx, data, next) => {
|
||||
@ -61,9 +55,7 @@ routerApp.on("file/status", async (ctx, data) => {
|
||||
globalFileTask: globalEnv.fileTaskCount ?? 0,
|
||||
platform: os.platform(),
|
||||
isGlobalInstance: data.instanceUuid === InstanceSubsystem.GLOBAL_INSTANCE_UUID,
|
||||
disks: diskInfos.map((v) => {
|
||||
return String(v._mounted).replace(":", "");
|
||||
})
|
||||
disks: getWindowsDisks()
|
||||
});
|
||||
} catch (error: any) {
|
||||
protocol.responseError(ctx, error);
|
||||
|
@ -1,6 +1,8 @@
|
||||
import fs from "fs-extra";
|
||||
import { $t } from "../i18n";
|
||||
import InstanceSubsystem from "../service/system_instance";
|
||||
import FileManager from "./system_file";
|
||||
import os from "os";
|
||||
|
||||
export function getFileManager(instanceUuid: string) {
|
||||
// Initialize a file manager for the instance, and assign codes, restrictions, etc.
|
||||
@ -11,3 +13,18 @@ export function getFileManager(instanceUuid: string) {
|
||||
const cwd = instance.config.cwd;
|
||||
return new FileManager(cwd, fileCode);
|
||||
}
|
||||
|
||||
let cacheDisks: string[] = [];
|
||||
|
||||
export function getWindowsDisks() {
|
||||
if (os.platform() !== "win32") return [];
|
||||
if (cacheDisks.length > 0) return cacheDisks;
|
||||
const res: string[] = [];
|
||||
// A - Z
|
||||
for (let i = 65; i <= 90; i++) {
|
||||
const letter = String.fromCharCode(i);
|
||||
if (fs.existsSync(`${letter}:\\`)) res.push(letter);
|
||||
}
|
||||
cacheDisks = res;
|
||||
return res;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user