import { get, post } from "./shared"; import type { BackupAlert, BackupDashboardSummary, BackupJob, BackupRun, } from "../types/backups"; export async function fetchBackupJobs(): Promise { return get("/api/backups/jobs"); } export async function fetchBackupJob( jobId: string, ): Promise<{ job: BackupJob; runs: BackupRun[] }> { return get<{ job: BackupJob; runs: BackupRun[] }>(`/api/backups/jobs/${jobId}`); } export async function fetchBackupRuns( jobId?: string, status?: string, ): Promise { return get("/api/backups/runs", { ...(jobId ? { job_id: jobId } : {}), ...(status ? { status } : {}), }); } export async function fetchBackupRun(runId: string): Promise { return get(`/api/backups/runs/${runId}`); } export async function fetchBackupAlerts( jobId?: string, acknowledged?: boolean, severity?: string, ): Promise { return get("/api/backups/alerts", { ...(jobId ? { job_id: jobId } : {}), ...(acknowledged !== undefined ? { acknowledged: String(acknowledged) } : {}), ...(severity ? { severity } : {}), }); } export async function acknowledgeBackupAlert( alertId: string, ): Promise { return post(`/api/backups/alerts/${alertId}/acknowledge`); } export async function fetchBackupDashboard(): Promise { return get("/api/dashboard/backups"); }