Phase 2 Complete - Backend Core Logic New Components: - DeletionLogRepository: CRUD for deletion audit trail - GroupCleanupService: Core cleanup logic - findGroupsForDeletion() - finds unapproved groups older than 7 days - deleteGroupCompletely() - DB + file deletion - deletePhysicalFiles() - removes images & previews - logDeletion() - creates audit log entry - getDaysUntilDeletion() - calculates remaining days - performScheduledCleanup() - main cleanup orchestrator - SchedulerService: Cron job management - Daily cleanup at 10:00 AM (Europe/Berlin) - Manual trigger for development GroupRepository Extensions: - findUnapprovedGroupsOlderThan(days) - deleteGroupCompletely(groupId) - getGroupStatistics(groupId) Dependencies: - node-cron ^3.0.3 Integration: - Scheduler auto-starts with server (server.js) - Comprehensive logging for all operations Tasks completed: ✅ 2.3, ✅ 2.4, ✅ 2.5
33 lines
857 B
JSON
33 lines
857 B
JSON
{
|
|
"name": "backend",
|
|
"version": "1.0.0",
|
|
"description": "",
|
|
"main": "src/index.js",
|
|
"scripts": {
|
|
"start": "node src/index.js",
|
|
"server": "nodemon src/index.js",
|
|
"client": "npm run dev --prefix ../frontend",
|
|
"client-build": "cd ../frontend && npm run build && serve -s build -l 80",
|
|
"dev": "concurrently \"npm run server\" \"npm run client\"",
|
|
"build": "concurrently \"npm run server\" \"npm run client-build\""
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"dependencies": {
|
|
"dotenv": "^8.2.0",
|
|
"express": "^4.17.1",
|
|
"express-fileupload": "^1.2.1",
|
|
"find-remove": "^2.0.3",
|
|
"fs": "^0.0.1-security",
|
|
"node-cron": "^4.2.1",
|
|
"sharp": "^0.34.4",
|
|
"shortid": "^2.2.16",
|
|
"sqlite3": "^5.1.7"
|
|
},
|
|
"devDependencies": {
|
|
"concurrently": "^6.0.0",
|
|
"nodemon": "^2.0.7"
|
|
}
|
|
}
|