import apiClient from './client' export interface BackupJob { id: string job_id: number job_name: string client_name: string job_type: string job_level: string status: 'Running' | 'Completed' | 'Failed' | 'Canceled' | 'Waiting' bytes_written: number files_written: number duration_seconds?: number started_at?: string ended_at?: string error_message?: string storage_name?: string pool_name?: string volume_name?: string created_at: string updated_at: string } export interface ListJobsResponse { jobs: BackupJob[] total: number limit: number offset: number } export interface ListJobsParams { status?: string job_type?: string client_name?: string job_name?: string limit?: number offset?: number } export interface CreateJobRequest { job_name: string client_name: string job_type: string job_level: string storage_name?: string pool_name?: string } export const backupAPI = { listJobs: async (params?: ListJobsParams): Promise => { const queryParams = new URLSearchParams() if (params?.status) queryParams.append('status', params.status) if (params?.job_type) queryParams.append('job_type', params.job_type) if (params?.client_name) queryParams.append('client_name', params.client_name) if (params?.job_name) queryParams.append('job_name', params.job_name) if (params?.limit) queryParams.append('limit', params.limit.toString()) if (params?.offset) queryParams.append('offset', params.offset.toString()) const response = await apiClient.get( `/backup/jobs${queryParams.toString() ? `?${queryParams.toString()}` : ''}` ) return response.data }, getJob: async (id: string): Promise => { const response = await apiClient.get(`/backup/jobs/${id}`) return response.data }, createJob: async (data: CreateJobRequest): Promise => { const response = await apiClient.post('/backup/jobs', data) return response.data }, }