feat: implement backup management features

- Added `createBackupAction`, `verifyDatabaseAction`, and `refreshBackupStatsAction` for handling backup operations.
- Introduced `getBackupStats` method in `BackupClient` to retrieve daily backup statistics.
- Updated API route to support fetching backup stats.
- Integrated backup stats into the `BackupSettingsPage` and visualized them with `BackupTimelineChart`.
- Enhanced `BackupSettingsPageClient` to manage backup stats and actions more effectively.
This commit is contained in:
Julien Froidefond
2025-09-25 22:28:17 +02:00
parent cd71824cc8
commit f2b18e4527
8 changed files with 471 additions and 67 deletions

View File

@@ -17,6 +17,16 @@ export async function GET(request: NextRequest) {
});
}
if (action === 'stats') {
const days = parseInt(searchParams.get('days') || '30');
const stats = await backupService.getBackupStats(days);
return NextResponse.json({
success: true,
data: stats
});
}
console.log('🔄 API GET /api/backups called');
// Test de la configuration d'abord

View File

@@ -10,6 +10,7 @@ export default async function BackupSettingsPage() {
const backups = await backupService.listBackups();
const schedulerStatus = backupScheduler.getStatus();
const config = backupService.getConfig();
const backupStats = await backupService.getBackupStats(30);
const initialData = {
backups,
@@ -18,6 +19,7 @@ export default async function BackupSettingsPage() {
nextBackup: schedulerStatus.nextBackup ? schedulerStatus.nextBackup.toISOString() : null,
},
config,
backupStats,
};
return (