xiangyixiangqin/admin/src/api/backup.ts
2026-01-02 18:00:49 +08:00

74 lines
1.6 KiB
TypeScript

/**
* 数据备份API接口
* Requirements: 11.1, 11.2, 11.3
*/
import request from '@/utils/request'
import type { PagedResult } from '@/types/api.d'
import type {
BackupListItem,
BackupDetail,
BackupQueryParams,
BackupStatistics
} from '@/types/backup.d'
/**
* 获取备份记录列表
* @param params 查询参数
* @returns 分页备份记录列表
*/
export function getBackupList(params: BackupQueryParams): Promise<PagedResult<BackupListItem>> {
return request.get('/admin/backups', { params })
}
/**
* 获取备份记录详情
* @param id 备份ID
* @returns 备份详情
*/
export function getBackupDetail(id: number): Promise<BackupDetail> {
return request.get(`/admin/backups/${id}`)
}
/**
* 执行手动备份
* @returns 备份记录
*/
export function executeManualBackup(): Promise<BackupDetail> {
return request.post('/admin/backups')
}
/**
* 恢复数据
* @param id 备份ID
* @returns 操作结果
*/
export function restoreData(id: number): Promise<void> {
return request.post(`/admin/backups/${id}/restore`)
}
/**
* 删除备份记录
* @param id 备份ID
* @returns 操作结果
*/
export function deleteBackup(id: number): Promise<void> {
return request.delete(`/admin/backups/${id}`)
}
/**
* 获取备份统计信息
* @returns 统计信息
*/
export function getBackupStatistics(): Promise<BackupStatistics> {
return request.get('/admin/backups/statistics')
}
/**
* 清理过期备份
* @returns 清理数量
*/
export function cleanupExpiredBackups(): Promise<number> {
return request.post('/admin/backups/cleanup')
}