netakhoj-api / tools /trigger_cleanup.js
Rakeshops71
Deploy app with LFS for large files
3eedfc9
Raw
History Blame Contribute Delete
2.06 kB
import fileStorage from '../utils/fileStorage.js';
import config from '../config/config.js';
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const projectRoot = path.join(__dirname, '..');
// Mock config for testing if needed, but we'll use the imported one to verify actual config
console.log('Current Config Retention:', config.cleanup.retention);
const testCategory = 'candidates';
const storageDir = path.join(projectRoot, 'storage', testCategory);
// Ensure directory exists
if (!fs.existsSync(storageDir)) {
fs.mkdirSync(storageDir, { recursive: true });
}
// Create a file that is 2 hours old
const oldFile = path.join(storageDir, 'test-old-file.json');
const twoHoursAgo = new Date(Date.now() - 2 * 60 * 60 * 1000);
fs.writeFileSync(oldFile, JSON.stringify({ test: 'old' }));
fs.utimesSync(oldFile, twoHoursAgo, twoHoursAgo);
// Create a file that is 30 minutes old
const newFile = path.join(storageDir, 'test-new-file.json');
const thirtyMinutesAgo = new Date(Date.now() - 30 * 60 * 1000);
fs.writeFileSync(newFile, JSON.stringify({ test: 'new' }));
fs.utimesSync(newFile, thirtyMinutesAgo, thirtyMinutesAgo);
console.log('Created test files:');
console.log(`- Old file (2 hours ago): ${oldFile}`);
console.log(`- New file (30 mins ago): ${newFile}`);
console.log('Running cleanup...');
const result = fileStorage.cleanupOldFiles(config.cleanup.retention);
console.log('Cleanup Result:', JSON.stringify(result, null, 2));
// Verify
const oldExists = fs.existsSync(oldFile);
const newExists = fs.existsSync(newFile);
console.log('Verification:');
console.log(`- Old file exists? ${oldExists} (Expected: false)`);
console.log(`- New file exists? ${newExists} (Expected: true)`);
if (!oldExists && newExists) {
console.log('SUCCESS: Cleanup logic verified.');
// Cleanup the new file
fs.unlinkSync(newFile);
} else {
console.error('FAILURE: Cleanup logic failed.');
process.exit(1);
}