mirror of
https://github.com/orangecoding/fredy.git
synced 2026-06-16 12:31:07 +00:00
* upgrading dependencies, fixing image placeholder * improving processing times label and hide when screen width is too low * aligning run now button * renaming settings -> general settings * smaller security and memory improvements * improving footer * preparing listing management * improve filtering for listings * preparing new settings page * preparing new settings page * storing settings in db * next release version
25 lines
785 B
JavaScript
25 lines
785 B
JavaScript
import { removeJobsByUserId } from '../storage/jobStorage.js';
|
|
import { getUsers } from '../storage/userStorage.js';
|
|
import logger from '../logger.js';
|
|
import cron from 'node-cron';
|
|
import { getSettings } from '../storage/settingsStorage.js';
|
|
|
|
/**
|
|
* if we are running in demo environment, we have to cleanup the db files (specifically the jobs table)
|
|
*/
|
|
export function cleanupDemoAtMidnight() {
|
|
cron.schedule('0 0 * * *', cleanup);
|
|
}
|
|
|
|
async function cleanup() {
|
|
const settings = await getSettings();
|
|
if (settings.demoMode) {
|
|
const demoUser = getUsers(false).find((user) => user.username === 'demo');
|
|
if (demoUser == null) {
|
|
logger.error('Demo user not found, cannot remove Jobs');
|
|
return Promise.resolve();
|
|
}
|
|
removeJobsByUserId(demoUser.id);
|
|
}
|
|
}
|