[FEATURE] Initial FS traversal
This commit is contained in:
parent
af44ff710f
commit
e66e685903
11 changed files with 1260 additions and 108 deletions
|
@ -6,6 +6,19 @@ export async function listFiles(req, res) {
|
|||
if (!serverSpec) return res.sendStatus(400);
|
||||
if (!serverSpec.name) return res.status(400).send("Server name required!");
|
||||
listServerFiles(serverSpec)
|
||||
.then(() => res.sendStatus(200))
|
||||
.then((f) => {
|
||||
const fileData = f.map((fi, i) => ({
|
||||
name: fi.name,
|
||||
isDir: fi.type === 2,
|
||||
id: `${fi.name}-${i}`,
|
||||
isHidden: fi.name.startsWith("."),
|
||||
isSymLink: !!fi.link,
|
||||
size: fi.size,
|
||||
}));
|
||||
console.log(fileData);
|
||||
res.json(fileData);
|
||||
})
|
||||
.catch(sendError(res));
|
||||
}
|
||||
|
||||
export async function uploadFile(req, res) {}
|
||||
|
|
|
@ -179,7 +179,7 @@ export default async function createServerResources(serverSpec) {
|
|||
const deploymentRes = await k8sDeps.listNamespacedDeployment(namespace);
|
||||
const deployments = deploymentRes.body.items.map((i) => i.metadata.name);
|
||||
if (deployments.includes(`mcl-${serverSpec.name}`))
|
||||
throw new ExpressClientError({m: "Server already exists!", c: 409 });
|
||||
throw new ExpressClientError({ m: "Server already exists!", c: 409 });
|
||||
const pvcRes = await k8sCore.listNamespacedPersistentVolumeClaim(namespace);
|
||||
const pvcs = pvcRes.body.items.map((i) => i.metadata.name);
|
||||
if (pvcs.includes(`mcl-${serverSpec.name}-volume`))
|
||||
|
|
|
@ -25,7 +25,7 @@ const handleError = (e) => {
|
|||
};
|
||||
|
||||
export async function listServerFiles(serverSpec) {
|
||||
const { name } = serverSpec;
|
||||
const { name, dir } = serverSpec;
|
||||
const server = await getServerAssets(name);
|
||||
if (!server)
|
||||
throw new ExpressClientError({
|
||||
|
@ -40,9 +40,12 @@ export async function listServerFiles(serverSpec) {
|
|||
|
||||
// FTP Operations;
|
||||
const client = await useFtp(server.service).catch(handleError);
|
||||
await client
|
||||
.list()
|
||||
.then((f) => res.json(f))
|
||||
const files = client
|
||||
.list(dir)
|
||||
.then((f) => {
|
||||
client.close();
|
||||
return f;
|
||||
})
|
||||
.catch(handleError);
|
||||
client.close();
|
||||
return files;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue