2021-01-08 15:37:32 +08:00
|
|
|
import Api from '@/common/Api';
|
2023-12-06 09:23:23 +08:00
|
|
|
import { Base64 } from 'js-base64';
|
2021-01-08 15:37:32 +08:00
|
|
|
|
|
|
|
|
export const dbApi = {
|
|
|
|
|
// 获取权限列表
|
2023-07-06 20:59:22 +08:00
|
|
|
dbs: Api.newGet('/dbs'),
|
2023-07-20 22:41:13 +08:00
|
|
|
dbTags: Api.newGet('/dbs/tags'),
|
2023-07-06 20:59:22 +08:00
|
|
|
saveDb: Api.newPost('/dbs'),
|
|
|
|
|
deleteDb: Api.newDelete('/dbs/{id}'),
|
|
|
|
|
dumpDb: Api.newPost('/dbs/{id}/dump'),
|
|
|
|
|
tableInfos: Api.newGet('/dbs/{id}/t-infos'),
|
|
|
|
|
tableIndex: Api.newGet('/dbs/{id}/t-index'),
|
|
|
|
|
tableDdl: Api.newGet('/dbs/{id}/t-create-ddl'),
|
2024-01-23 04:08:02 +00:00
|
|
|
copyTable: Api.newPost('/dbs/{id}/copy-table'),
|
2023-07-06 20:59:22 +08:00
|
|
|
columnMetadata: Api.newGet('/dbs/{id}/c-metadata'),
|
2023-11-12 20:14:44 +08:00
|
|
|
pgSchemas: Api.newGet('/dbs/{id}/pg/schemas'),
|
2021-01-08 15:37:32 +08:00
|
|
|
// 获取表即列提示
|
2023-07-06 20:59:22 +08:00
|
|
|
hintTables: Api.newGet('/dbs/{id}/hint-tables'),
|
2023-12-06 09:23:23 +08:00
|
|
|
sqlExec: Api.newPost('/dbs/{id}/exec-sql').withBeforeHandler((param: any) => {
|
|
|
|
|
// sql编码处理
|
|
|
|
|
if (param.sql) {
|
2024-01-15 11:55:59 +00:00
|
|
|
// 判断是开发环境就打印sql
|
|
|
|
|
if (process.env.NODE_ENV === 'development') {
|
|
|
|
|
console.log(param.sql);
|
|
|
|
|
}
|
2023-12-06 09:23:23 +08:00
|
|
|
param.sql = Base64.encode(param.sql);
|
|
|
|
|
}
|
2023-12-11 01:00:09 +08:00
|
|
|
return param;
|
2023-12-06 09:23:23 +08:00
|
|
|
}),
|
2021-01-08 15:37:32 +08:00
|
|
|
// 保存sql
|
2023-07-06 20:59:22 +08:00
|
|
|
saveSql: Api.newPost('/dbs/{id}/sql'),
|
2021-01-08 15:37:32 +08:00
|
|
|
// 获取保存的sql
|
2023-07-06 20:59:22 +08:00
|
|
|
getSql: Api.newGet('/dbs/{id}/sql'),
|
2021-12-20 20:42:52 +08:00
|
|
|
// 获取保存的sql names
|
2023-07-06 20:59:22 +08:00
|
|
|
getSqlNames: Api.newGet('/dbs/{id}/sql-names'),
|
|
|
|
|
deleteDbSql: Api.newDelete('/dbs/{id}/sql'),
|
2022-06-16 15:55:18 +08:00
|
|
|
// 获取数据库sql执行记录
|
2023-07-06 20:59:22 +08:00
|
|
|
getSqlExecs: Api.newGet('/dbs/{dbId}/sql-execs'),
|
2023-08-27 11:07:29 +08:00
|
|
|
|
|
|
|
|
instances: Api.newGet('/instances'),
|
2023-11-02 12:46:21 +08:00
|
|
|
getInstance: Api.newGet('/instances/{instanceId}'),
|
2023-08-30 22:41:42 +08:00
|
|
|
getAllDatabase: Api.newGet('/instances/{instanceId}/databases'),
|
2023-12-20 17:29:16 +08:00
|
|
|
getInstanceServerInfo: Api.newGet('/instances/{instanceId}/server-info'),
|
2023-11-12 20:14:44 +08:00
|
|
|
testConn: Api.newPost('/instances/test-conn'),
|
2023-08-27 11:07:29 +08:00
|
|
|
saveInstance: Api.newPost('/instances'),
|
|
|
|
|
getInstancePwd: Api.newGet('/instances/{id}/pwd'),
|
|
|
|
|
deleteInstance: Api.newDelete('/instances/{id}'),
|
2023-12-27 22:59:20 +08:00
|
|
|
|
|
|
|
|
// 获取数据库备份列表
|
|
|
|
|
getDbBackups: Api.newGet('/dbs/{dbId}/backups'),
|
|
|
|
|
createDbBackup: Api.newPost('/dbs/{dbId}/backups'),
|
|
|
|
|
getDbNamesWithoutBackup: Api.newGet('/dbs/{dbId}/db-names-without-backup'),
|
|
|
|
|
enableDbBackup: Api.newPut('/dbs/{dbId}/backups/{backupId}/enable'),
|
|
|
|
|
disableDbBackup: Api.newPut('/dbs/{dbId}/backups/{backupId}/disable'),
|
2024-01-05 08:55:34 +08:00
|
|
|
startDbBackup: Api.newPut('/dbs/{dbId}/backups/{backupId}/start'),
|
2023-12-27 22:59:20 +08:00
|
|
|
saveDbBackup: Api.newPut('/dbs/{dbId}/backups/{id}'),
|
|
|
|
|
getDbBackupHistories: Api.newGet('/dbs/{dbId}/backup-histories'),
|
|
|
|
|
|
|
|
|
|
// 获取数据库备份列表
|
|
|
|
|
getDbRestores: Api.newGet('/dbs/{dbId}/restores'),
|
|
|
|
|
createDbRestore: Api.newPost('/dbs/{dbId}/restores'),
|
|
|
|
|
getDbNamesWithoutRestore: Api.newGet('/dbs/{dbId}/db-names-without-restore'),
|
|
|
|
|
enableDbRestore: Api.newPut('/dbs/{dbId}/restores/{restoreId}/enable'),
|
|
|
|
|
disableDbRestore: Api.newPut('/dbs/{dbId}/restores/{restoreId}/disable'),
|
|
|
|
|
saveDbRestore: Api.newPut('/dbs/{dbId}/restores/{id}'),
|
2024-01-15 11:55:59 +00:00
|
|
|
|
2024-01-05 05:31:32 +00:00
|
|
|
// 数据同步相关
|
|
|
|
|
datasyncTasks: Api.newGet('/datasync/tasks'),
|
|
|
|
|
saveDatasyncTask: Api.newPost('/datasync/tasks/save').withBeforeHandler((param: any) => {
|
|
|
|
|
// sql编码处理
|
|
|
|
|
if (param.dataSql) {
|
|
|
|
|
param.dataSql = Base64.encode(param.dataSql);
|
|
|
|
|
}
|
|
|
|
|
return param;
|
|
|
|
|
}),
|
|
|
|
|
getDatasyncTask: Api.newGet('/datasync/tasks/{taskId}'),
|
|
|
|
|
deleteDatasyncTask: Api.newDelete('/datasync/tasks/{taskId}/del'),
|
|
|
|
|
updateDatasyncTaskStatus: Api.newPost('/datasync/tasks/{taskId}/status'),
|
|
|
|
|
runDatasyncTask: Api.newPost('/datasync/tasks/{taskId}/run'),
|
|
|
|
|
stopDatasyncTask: Api.newPost('/datasync/tasks/{taskId}/stop'),
|
|
|
|
|
datasyncLogs: Api.newGet('/datasync/tasks/{taskId}/logs'),
|
2023-07-06 20:59:22 +08:00
|
|
|
};
|