Files
Aether/frontend/src/api/endpoints/global-models.ts

100 lines
2.2 KiB
TypeScript
Raw Normal View History

2025-12-10 20:52:44 +08:00
import client from '../client'
import type {
GlobalModelCreate,
GlobalModelUpdate,
GlobalModelResponse,
GlobalModelWithStats,
GlobalModelListResponse,
ModelCatalogProviderDetail,
2025-12-10 20:52:44 +08:00
} 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
}