import http from '@/api' import type { CustomAxiosRequestConfig } from '@/api' import type { Dbms } from '@/api/system/dbms/interface' export const getDbmsOverview = () => { return http.get('/database/overview', {}, { loading: false }) } export const getDbmsConnectionList = (params: Dbms.ConnectionListParams, config: Partial = {}) => { return http.post('/database/connections/list', params, { loading: false, ...config }) } export const addDbmsConnection = (params: Dbms.ConnectionPayload) => { return http.post('/database/connections/add', params) } export const updateDbmsConnection = (params: Dbms.ConnectionPayload) => { return http.post('/database/connections/update', params) } export const deleteDbmsConnection = (params: Dbms.DeleteConnectionParams) => { return http.post('/database/connections/delete', params) } export const testDbmsConnection = (params: Dbms.TestConnectionParams) => { return http.post('/database/connections/test', params) } export const getDbmsTableList = (params: Dbms.TableListParams, config: Partial = {}) => { return http.post('/database/connections/tables', params, config) } export const createDbmsBackupTask = (params: Dbms.CreateBackupParams) => { return http.post('/database/backups/create', params) } export const getDbmsBackupTaskList = (params: Dbms.TaskListParams, config: Partial = {}) => { return http.post('/database/backups/tasks/list', params, { loading: false, ...config }) } export const getDbmsBackupTaskStatus = (taskId: string) => { return http.get('/database/backups/tasks/status', { taskId }, { loading: false }) } export const stopDbmsBackupTask = (params: Dbms.StopBackupTaskParams) => { return http.post('/database/backups/tasks/stop', params) } export const restartDbmsBackupTask = (params: Dbms.RestartBackupTaskParams) => { return http.post('/database/backups/tasks/restart', params) } export const getDbmsBackupFileList = (params: Dbms.FileListParams, config: Partial = {}) => { return http.post('/database/backups/files/list', params, { loading: false, ...config }) } export const createDbmsRestoreTask = (params: Dbms.CreateRestoreParams) => { return http.post('/database/restores/create', params) } export const getDbmsRestoreTaskStatus = (taskId: string) => { return http.get('/database/restores/tasks/status', { taskId }, { loading: false }) } export const getDbmsRestoreTaskList = (params: Dbms.TaskListParams, config: Partial = {}) => { return http.post('/database/restores/tasks/list', params, { loading: false, ...config }) } export const deleteDbmsBackupFile = (params: Dbms.DeleteBackupFileParams) => { return http.post('/database/delete/backup-file', params) } export const deleteDbmsTask = (params: Dbms.DeleteTaskParams) => { return http.post('/database/delete/task', params) }