提交更改
This commit is contained in:
68
src/api/database.ts
Normal file
68
src/api/database.ts
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
import type {
|
||||||
|
DatabaseType,
|
||||||
|
DatabaseInfo,
|
||||||
|
DatabaseItem,
|
||||||
|
CreateDatabaseRequest,
|
||||||
|
UpdateDatabaseRequest,
|
||||||
|
DatabaseConnectionInfo,
|
||||||
|
DatabaseListParams,
|
||||||
|
DatabaseListResponse
|
||||||
|
} from '@/types/database'
|
||||||
|
|
||||||
|
// 获取数据库信息
|
||||||
|
export function getDatabaseInfo(type: DatabaseType): Promise<DatabaseInfo> {
|
||||||
|
return request.get(`/api/database/${type}/info`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 启动数据库
|
||||||
|
export function startDatabase(type: DatabaseType): Promise<void> {
|
||||||
|
return request.post(`/api/database/${type}/start`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 停止数据库
|
||||||
|
export function stopDatabase(type: DatabaseType): Promise<void> {
|
||||||
|
return request.post(`/api/database/${type}/stop`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重启数据库
|
||||||
|
export function restartDatabase(type: DatabaseType): Promise<void> {
|
||||||
|
return request.post(`/api/database/${type}/restart`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取数据库列表
|
||||||
|
export function getDatabaseList(type: DatabaseType, params?: DatabaseListParams): Promise<DatabaseListResponse> {
|
||||||
|
return request.get(`/api/database/${type}/list`, { params })
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建数据库
|
||||||
|
export function createDatabase(type: DatabaseType, data: CreateDatabaseRequest): Promise<DatabaseItem> {
|
||||||
|
return request.post(`/api/database/${type}`, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新数据库
|
||||||
|
export function updateDatabase(type: DatabaseType, id: number, data: UpdateDatabaseRequest): Promise<DatabaseItem> {
|
||||||
|
return request.put(`/api/database/${type}/${id}`, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除数据库
|
||||||
|
export function deleteDatabase(type: DatabaseType, id: number): Promise<void> {
|
||||||
|
return request.delete(`/api/database/${type}/${id}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取连接信息
|
||||||
|
export function getDatabaseConnectionInfo(type: DatabaseType, id: number): Promise<DatabaseConnectionInfo> {
|
||||||
|
return request.get(`/api/database/${type}/${id}/connection`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出类型
|
||||||
|
export type {
|
||||||
|
DatabaseType,
|
||||||
|
DatabaseInfo,
|
||||||
|
DatabaseItem,
|
||||||
|
CreateDatabaseRequest,
|
||||||
|
UpdateDatabaseRequest,
|
||||||
|
DatabaseConnectionInfo,
|
||||||
|
DatabaseListParams,
|
||||||
|
DatabaseListResponse
|
||||||
|
}
|
||||||
63
src/types/database.ts
Normal file
63
src/types/database.ts
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
// 数据库类型
|
||||||
|
export type DatabaseType = 'mysql' | 'postgresql' | 'redis'
|
||||||
|
|
||||||
|
// 数据库状态
|
||||||
|
export type DatabaseStatus = 'running' | 'stopped' | 'error'
|
||||||
|
|
||||||
|
// 数据库信息
|
||||||
|
export interface DatabaseInfo {
|
||||||
|
type: DatabaseType
|
||||||
|
status: DatabaseStatus
|
||||||
|
version: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 数据库实例
|
||||||
|
export interface DatabaseItem {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
description?: string
|
||||||
|
createdAt: string
|
||||||
|
updatedAt?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建数据库请求
|
||||||
|
export interface CreateDatabaseRequest {
|
||||||
|
name: string
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
description?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新数据库请求
|
||||||
|
export interface UpdateDatabaseRequest {
|
||||||
|
name?: string
|
||||||
|
username?: string
|
||||||
|
password?: string
|
||||||
|
description?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 数据库连接信息
|
||||||
|
export interface DatabaseConnectionInfo {
|
||||||
|
host: string
|
||||||
|
port: number
|
||||||
|
username: string
|
||||||
|
password: string
|
||||||
|
database: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分页请求
|
||||||
|
export interface DatabaseListParams {
|
||||||
|
keyword?: string
|
||||||
|
page?: number
|
||||||
|
pageSize?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分页响应
|
||||||
|
export interface DatabaseListResponse {
|
||||||
|
list: DatabaseItem[]
|
||||||
|
total: number
|
||||||
|
page: number
|
||||||
|
pageSize: number
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user