提交更改
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