Files
Aether/frontend/src/api/endpoints/global-models.ts
2025-12-10 20:52:44 +08:00

86 lines
1.9 KiB
TypeScript

import client from '../client'
import type {
GlobalModelCreate,
GlobalModelUpdate,
GlobalModelResponse,
GlobalModelWithStats,
GlobalModelListResponse
} 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
}