mirror of
https://github.com/fawney19/Aether.git
synced 2026-01-03 00:02:28 +08:00
添加新的 API 端点 GET /api/admin/models/global/{global_model_id}/providers,用于获取 GlobalModel 的所有关联提供商(包括非活跃的)。
- 后端:实现 AdminGetGlobalModelProvidersAdapter 适配器
- 前端:使用新 API 替换原有的 ModelCatalog 获取方式
- 数据库:改进初始化时的错误提示和连接异常处理
100 lines
2.2 KiB
TypeScript
100 lines
2.2 KiB
TypeScript
import client from '../client'
|
|
import type {
|
|
GlobalModelCreate,
|
|
GlobalModelUpdate,
|
|
GlobalModelResponse,
|
|
GlobalModelWithStats,
|
|
GlobalModelListResponse,
|
|
ModelCatalogProviderDetail,
|
|
} from './types'
|
|
|
|
/**
|
|
* 获取 GlobalModel 列表
|
|
*/
|
|
export async function getGlobalModels(params?: {
|
|
skip?: number
|
|
limit?: number
|
|
is_active?: boolean
|
|
search?: string
|
|
}): Promise<GlobalModelListResponse> {
|
|
const response = await client.get('/api/admin/models/global', { params })
|
|
return response.data
|
|
}
|
|
|
|
/**
|
|
* 获取单个 GlobalModel 详情
|
|
*/
|
|
export async function getGlobalModel(id: string): Promise<GlobalModelWithStats> {
|
|
const response = await client.get(`/api/admin/models/global/${id}`)
|
|
return response.data
|
|
}
|
|
|
|
/**
|
|
* 创建 GlobalModel
|
|
*/
|
|
export async function createGlobalModel(data: GlobalModelCreate): Promise<GlobalModelResponse> {
|
|
const response = await client.post('/api/admin/models/global', data)
|
|
return response.data
|
|
}
|
|
|
|
/**
|
|
* 更新 GlobalModel
|
|
*/
|
|
export async function updateGlobalModel(
|
|
id: string,
|
|
data: GlobalModelUpdate
|
|
): Promise<GlobalModelResponse> {
|
|
const response = await client.patch(`/api/admin/models/global/${id}`, data)
|
|
return response.data
|
|
}
|
|
|
|
/**
|
|
* 删除 GlobalModel
|
|
*/
|
|
export async function deleteGlobalModel(
|
|
id: string,
|
|
force: boolean = false
|
|
): Promise<void> {
|
|
await client.delete(`/api/admin/models/global/${id}`, { params: { force } })
|
|
}
|
|
|
|
/**
|
|
* 批量为 GlobalModel 添加关联提供商
|
|
*/
|
|
export async function batchAssignToProviders(
|
|
globalModelId: string,
|
|
data: {
|
|
provider_ids: string[]
|
|
create_models: boolean
|
|
}
|
|
): Promise<{
|
|
success: Array<{
|
|
provider_id: string
|
|
provider_name: string
|
|
model_id?: string
|
|
}>
|
|
errors: Array<{
|
|
provider_id: string
|
|
error: string
|
|
}>
|
|
}> {
|
|
const response = await client.post(
|
|
`/api/admin/models/global/${globalModelId}/assign-to-providers`,
|
|
data
|
|
)
|
|
return response.data
|
|
}
|
|
|
|
/**
|
|
* 获取 GlobalModel 的所有关联提供商(包括非活跃的)
|
|
*/
|
|
export async function getGlobalModelProviders(globalModelId: string): Promise<{
|
|
providers: ModelCatalogProviderDetail[]
|
|
total: number
|
|
}> {
|
|
const response = await client.get(
|
|
`/api/admin/models/global/${globalModelId}/providers`
|
|
)
|
|
return response.data
|
|
}
|