correções e bugs

This commit is contained in:
luisfepsale
2025-10-24 12:05:27 -03:00
parent a85465e332
commit 9f75feb69a
4 changed files with 109 additions and 44 deletions
+42 -16
View File
@@ -9,6 +9,21 @@ export interface ModelConfig {
description?: string; // Descrição opcional do modelo
}
/**
* Interface para modelo retornado pela API do banco de dados
*/
export interface ModelIA {
id: number;
provider_id: number;
name: string;
model_identifier: string;
cost_input_per_million: string;
cost_output_per_million: string;
is_active: number;
created_at: string;
updated_at: string;
}
/**
* Lista de modelos disponíveis
* NOTA: Estes dados correspondem à tabela de modelos do banco de dados.
@@ -112,21 +127,32 @@ export function getModelNames(): string[] {
}
/**
* FUTURA INTEGRAÇÃO COM BANCO DE DADOS
* Busca modelos de IA disponíveis no banco de dados
*
* Quando a API estiver pronta, substituir AVAILABLE_MODELS por chamada à API:
*
* export async function fetchModelsFromDatabase(): Promise<ModelConfig[]> {
* const response = await apiService.get('/api/models');
* return response.data.map((model: any) => ({
* name: model.name,
* id: model.id.toString(),
* description: model.description || '',
* }));
* }
*
* Nos componentes, usar:
* - useEffect para carregar modelos na montagem
* - useState para armazenar lista de modelos
* - Loading state durante o fetch
* @returns Promise com array de modelos ativos
*/
export async function fetchModelsFromDatabase(): Promise<ModelConfig[]> {
try {
// Importa dinamicamente para evitar circular dependency
const { apiService } = await import('@/services/api');
const response = await apiService.get<ModelIA[]>('/webhook/codex/get_models_ia');
console.log('Modelos carregados da API:', response.data);
// Filtra apenas modelos ativos e converte para ModelConfig
return response.data
.filter(model => model.is_active === 1)
.map((model: ModelIA) => ({
name: model.name,
id: model.id.toString(),
description: `${model.model_identifier}`,
}));
} catch (error) {
console.error('Erro ao buscar modelos da API:', error);
// Fallback para modelos hardcoded em caso de erro
console.warn('Usando modelos hardcoded como fallback');
return AVAILABLE_MODELS;
}
}