fix: adiciona fallback para Gemini 1.5-flash e desabilita sincronizacao destruidora de provas do JSON para o SQL
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 2m15s
Details
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 2m15s
Details
This commit is contained in:
parent
de08900fbe
commit
f04dea7e8a
|
|
@ -1280,6 +1280,9 @@ app.post('/api/ai/generate-questions', async (req, res) => {
|
|||
if (provider === 'gemini') {
|
||||
apiKey = aiConfig.geminiKey;
|
||||
modelName = aiConfig.geminiModel || 'gemini-1.5-flash';
|
||||
if (modelName === 'gemini-2.5-flash') {
|
||||
modelName = 'gemini-1.5-flash';
|
||||
}
|
||||
} else if (provider === 'openai') {
|
||||
apiKey = aiConfig.openaiKey;
|
||||
modelName = aiConfig.openaiModel || 'gpt-4o-mini';
|
||||
|
|
|
|||
|
|
@ -1137,27 +1137,8 @@ export async function syncJsonToRelationalTables() {
|
|||
}
|
||||
|
||||
// 6. Sincronizar Provas
|
||||
if (data.exams && Array.isArray(data.exams)) {
|
||||
const examIds = data.exams.map(e => e.id).filter(Boolean);
|
||||
if (examIds.length > 0) {
|
||||
await client.query('DELETE FROM provas WHERE id != ALL($1)', [examIds]);
|
||||
} else {
|
||||
await client.query('DELETE FROM provas');
|
||||
}
|
||||
|
||||
for (const e of data.exams) {
|
||||
if (!e.id || !e.title) continue;
|
||||
await client.query(
|
||||
`INSERT INTO provas (id, turma_id, disciplina_id, periodo_id, titulo, duracao_minutos, status, permitir_refacao)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
turma_id = EXCLUDED.turma_id, disciplina_id = EXCLUDED.disciplina_id, periodo_id = EXCLUDED.periodo_id,
|
||||
titulo = EXCLUDED.titulo, duracao_minutos = EXCLUDED.duracao_minutos, status = EXCLUDED.status,
|
||||
permitir_refacao = EXCLUDED.permitir_refacao`,
|
||||
[e.id, e.classId || null, e.subjectId || null, e.periodId || null, e.title, e.durationMinutes || 60, e.status || 'draft', e.allowRetake || false]
|
||||
).catch(err => console.warn(`[Sync:Provas] Erro na prova ${e.id}:`, err.message));
|
||||
}
|
||||
}
|
||||
// [REMOVIDO] A tabela de provas e questões agora é a Single Source of Truth (SQL-First).
|
||||
// O JSON legado data.exams é ignorado para não sobrescrever nem deletar os registros reais do banco.
|
||||
|
||||
// 7. Sincronizar Frequências
|
||||
// [REMOVIDO] A tabela de frequencias agora é a Single Source of Truth (SQL-First).
|
||||
|
|
|
|||
Loading…
Reference in New Issue