74 lines
1.6 KiB
TypeScript
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')
|
|
}
|