const express = require('express'); const asyncHandler = require('../src/utils/async-handler'); module.exports = function({ backupManager }) { const router = express.Router(); router.get('/backups/config', asyncHandler(async (req, res) => { const config = backupManager.getConfig(); res.json({ success: true, config }); }, 'backups-config-get')); router.post('/backups/config', asyncHandler(async (req, res) => { backupManager.updateConfig(req.body); res.json({ success: true, message: 'Backup configuration updated' }); }, 'backups-config-update')); router.post('/backups/execute', asyncHandler(async (req, res) => { const backup = await backupManager.executeBackup('manual', req.body); res.json({ success: true, backup }); }, 'backups-execute')); router.get('/backups/history', asyncHandler(async (req, res) => { const limit = parseInt(req.query.limit) || 50; const history = backupManager.getHistory(limit); res.json({ success: true, history }); }, 'backups-history')); router.post('/backups/restore/:backupId', asyncHandler(async (req, res) => { const result = await backupManager.restoreBackup(req.params.backupId, req.body); res.json({ success: true, result }); }, 'backups-restore')); return router; };