added delete dir ep

This commit is contained in:
mrfry 2022-08-24 18:43:41 +02:00
parent 5c2b46f2a3
commit f10953e8ec
3 changed files with 35 additions and 1 deletions

View file

@ -314,6 +314,31 @@ function setup(data: SubmoduleData): void {
const result = listDir(publicDir, dir, userFilesDir) const result = listDir(publicDir, dir, userFilesDir)
res.json(result) res.json(result)
}) })
app.post('/deleteDir', (req: Request<{ name: string }>, res) => {
logger.LogReq(req)
const { name } = req.body
const safeName = name.replace(/\.+/g, '').replace(/\/+/g, '')
if (!utils.FileExists(userFilesDir + '/' + safeName)) {
res.json({
success: false,
msg: `Dir ${name} does not exist!`,
})
return
}
utils.CreatePath(userFilesDir + '/' + safeName, true)
const result = listDir(publicDir, name, userFilesDir)
if (result.files.length === 0) {
utils.deleteDir(userFilesDir + '/' + safeName)
} else {
res.json({ succes: false, msg: `Dir ${name} is not empty!` })
return
}
res.json({ succes: true })
})
} }
export default { export default {

View file

@ -35,6 +35,7 @@ export default {
uploadFile: uploadFile, uploadFile: uploadFile,
statFile: statFile, statFile: statFile,
renameFile: renameFile, renameFile: renameFile,
deleteDir: deleteDir,
} }
import fs from 'fs' import fs from 'fs'
@ -207,6 +208,14 @@ function deleteFile(fname: string): Boolean {
return false return false
} }
function deleteDir(dirName: string): Boolean {
if (FileExists(dirName)) {
fs.rmSync(dirName, { recursive: true })
return true
}
return false
}
function uploadFile( function uploadFile(
req: Request, req: Request,
path: string path: string

@ -1 +1 @@
Subproject commit 9c333008c7049b032e4e3d0dbf5fd5893542ffb7 Subproject commit 281d0e00ce054d46444f377876786b913b8c1a08