mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 04:56:00 +00:00
directory cleanup on startup
This commit is contained in:
11
packages/api/src/utility/cleanDirectory.js
Normal file
11
packages/api/src/utility/cleanDirectory.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const findRemoveSync = require('find-remove');
|
||||
|
||||
function cleanDirectory(directory) {
|
||||
findRemoveSync(directory, {
|
||||
age: { seconds: 3600 },
|
||||
files: '*.*',
|
||||
dir: '*',
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = cleanDirectory;
|
||||
@@ -1,11 +1,15 @@
|
||||
const os = require('os');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
const cleanDirectory = require('./cleanDirectory');
|
||||
|
||||
const createDirectories = {};
|
||||
|
||||
const ensureDirectory = (dir) => {
|
||||
const ensureDirectory = (dir, clean) => {
|
||||
if (!createDirectories[dir]) {
|
||||
if (clean && fs.existsSync(dir)) {
|
||||
console.log(`Cleaning directory ${dir}`);
|
||||
cleanDirectory(dir);
|
||||
}
|
||||
if (!fs.existsSync(dir)) {
|
||||
console.log(`Creating directory ${dir}`);
|
||||
fs.mkdirSync(dir);
|
||||
@@ -21,16 +25,16 @@ function datadir() {
|
||||
return dir;
|
||||
}
|
||||
|
||||
const dirFunc = (dirname) => () => {
|
||||
const dirFunc = (dirname, clean = false) => () => {
|
||||
const dir = path.join(datadir(), dirname);
|
||||
ensureDirectory(dir);
|
||||
ensureDirectory(dir, clean);
|
||||
|
||||
return dir;
|
||||
};
|
||||
|
||||
const jsldir = dirFunc('jsl');
|
||||
const rundir = dirFunc('run');
|
||||
const uploadsdir = dirFunc('uploads');
|
||||
const jsldir = dirFunc('jsl', true);
|
||||
const rundir = dirFunc('run', true);
|
||||
const uploadsdir = dirFunc('uploads', true);
|
||||
const archivedir = dirFunc('archive');
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user