提交更改

This commit is contained in:
super
2026-01-17 19:59:07 +08:00
parent 76632cc306
commit b40007e74b
2 changed files with 131 additions and 0 deletions

68
src/api/database.ts Normal file
View 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
View 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
}