diff --git a/src/cache_control.js b/src/cache_control.js index 5732e63..d78f957 100644 --- a/src/cache_control.js +++ b/src/cache_control.js @@ -1,20 +1,29 @@ -module.exports.removeCacheFiles = function() { - const config = require('../config'); +const fs = require('fs/promises'); // Use promises for better handling +const path = require('path'); +const config = require('../config'); - async function deleteStatic() { - const fs = require('fs'); - const wiki_files = './media/wikipedia/'; +async function deleteStatic() { + const wiki_files = path.resolve(__dirname, '../media/wikipedia'); // Resolve relative path - fs.rm(wiki_files, { recursive: true, force: true }, () => { - console.log('Cleared cached static media files. You can turn this off by setting the config.cache_control to false.'); - }); + try { + await fs.rm(wiki_files, { recursive: true, force: true }); + console.log( + 'Cleared cached static media files. You can turn this off by setting the config.cache_control to false.' + ); + } catch (error) { + console.error(`Error clearing cached static media files: ${error.message}`); } +} - if(config.cache_control) { +module.exports.removeCacheFiles = function () { + if (config.cache_control) { deleteStatic(); - let hours = config.cache_control_interval; - if (hours < 1 || isNaN(hours)) { + let hours = parseInt(config.cache_control_interval, 10); + if (isNaN(hours) || hours < 1) { + console.warn( + 'Invalid cache_control_interval. Defaulting to 24 hours.' + ); hours = 24; } @@ -22,4 +31,4 @@ module.exports.removeCacheFiles = function() { deleteStatic(); }, 1000 * 60 * 60 * hours); } -} +};