Spaces:
Running
Running
import { query } from '@/shared/api/query'; | |
import { LLMConfig } from './types'; | |
export const fetchLLMConfigs = async (): Promise<LLMConfig[]> => { | |
const response = await query<LLMConfig[]>({ | |
url: '/llm_config/', | |
method: 'get', | |
}); | |
if ('error' in response) { | |
throw new Error(`Ошибка получения конфигураций: ${response.error.status}`); | |
} | |
return response.data; | |
}; | |
export const fetchLLMConfigById = async (id: number): Promise<LLMConfig> => { | |
const response = await query<LLMConfig>({ | |
url: `/llm_config/${id}`, | |
method: 'get', | |
}); | |
if ('error' in response) { | |
throw new Error(`Ошибка получения конфигурации: ${response.error.status}`); | |
} | |
return response.data; | |
}; | |
export const createLLMConfig = async (config: Omit<LLMConfig, 'id' | 'created_at'>): Promise<LLMConfig> => { | |
const response = await query<LLMConfig>({ | |
url: '/llm_config/', | |
method: 'post', | |
data: config, | |
}); | |
if ('error' in response) { | |
throw new Error(`Ошибка создания конфигурации: ${response.error.status}`); | |
} | |
return response.data; | |
}; | |
export const updateLLMConfig = async (config: LLMConfig): Promise<void> => { | |
const response = await query<void>({ | |
url: `/llm_config/${config.id}`, | |
method: 'put', | |
data: config, | |
}); | |
if ('error' in response) { | |
throw new Error(`Ошибка обновления конфигурации: ${response.error.status}`); | |
} | |
}; | |
export const setDefaultLLMConfig = async (id: number): Promise<void> => { | |
const response = await query<void>({ | |
url: `/llm_config/default/${id}`, | |
method: 'put', | |
}); | |
if ('error' in response) { | |
throw new Error(`Ошибка установки конфигурации по умолчанию: ${response.error.status}`); | |
} | |
}; | |
export const deleteLLMConfig = async (id: number): Promise<void> => { | |
const response = await query<void>({ | |
url: `/llm_config/${id}`, | |
method: 'delete', | |
}); | |
if ('error' in response) { | |
throw new Error(`Ошибка удаления конфигурации: ${response.error.status}`); | |
} | |
}; | |
export const fetchDefaultLLMConfig = async (): Promise<LLMConfig | null> => { | |
const response = await query<LLMConfig>({ | |
url: '/llm_config/default', | |
method: 'get', | |
}); | |
if ('error' in response) { | |
if (response.error.status === 404) return null; // Если дефолтной записи нет | |
throw new Error(`Ошибка получения дефолтной конфигурации: ${response.error.status}`); | |
} | |
return response.data; | |
}; |