Verified Commit 21d70a73 authored by Chocobozzz's avatar Chocobozzz
Browse files

Support readonly tmp directory

parent b3d9dedc
import { ensureDir, remove } from 'fs-extra'
import { ensureDir, readdir, remove } from 'fs-extra'
import passwordGenerator from 'password-generator'
import { UserRole } from '@shared/models'
import { logger } from '../helpers/logger'
......@@ -50,14 +50,28 @@ function removeCacheAndTmpDirectories () {
// Cache directories
for (const key of Object.keys(cacheDirectories)) {
const dir = cacheDirectories[key]
tasks.push(remove(dir))
tasks.push(removeDirectoryOrContent(dir))
}
tasks.push(remove(CONFIG.STORAGE.TMP_DIR))
tasks.push(removeDirectoryOrContent(CONFIG.STORAGE.TMP_DIR))
return Promise.all(tasks)
}
async function removeDirectoryOrContent (dir: string) {
try {
await remove(dir)
} catch (err) {
logger.debug('Cannot remove directory %s. Removing content instead.', dir, { err })
const files = await readdir(dir)
for (const file of files) {
await remove(file)
}
}
}
function createDirectoriesIfNotExist () {
const storage = CONFIG.STORAGE
const cacheDirectories = Object.keys(FILES_CACHE)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment