diff --git a/apps/web/src/lib/components/ti/AlertDiagnosticsCard.svelte b/apps/web/src/lib/components/ti/AlertDiagnosticsCard.svelte index db6c483..dbb8ab2 100644 --- a/apps/web/src/lib/components/ti/AlertDiagnosticsCard.svelte +++ b/apps/web/src/lib/components/ti/AlertDiagnosticsCard.svelte @@ -77,8 +77,13 @@

O template "monitoramento_alerta_sistema" não foi encontrado no banco de dados.

+ {#if config.todosTemplatesCodigos && config.todosTemplatesCodigos.length > 0} +

+ Templates encontrados no banco: {config.todosTemplatesCodigos.join(', ')} +

+ {/if}

- 💡 Execute a mutation "criarTemplatesPadrao" para criar os templates do sistema. + 💡 Para criar os templates padrão, acesse a página de Notificações e use o botão "Criar Templates Padrão", ou execute a mutation criarTemplatesPadrao via Convex Dashboard.

{/if} diff --git a/packages/backend/convex/monitoramento.ts b/packages/backend/convex/monitoramento.ts index 37b6c44..c708d90 100644 --- a/packages/backend/convex/monitoramento.ts +++ b/packages/backend/convex/monitoramento.ts @@ -163,6 +163,7 @@ export const verificarConfiguracaoAlertas = query({ }), v.null() ), + todosTemplatesCodigos: v.optional(v.array(v.string())), // Para debug roleTiMasterExiste: v.boolean(), usuariosTiMaster: v.array( v.object({ @@ -193,12 +194,36 @@ export const verificarConfiguracaoAlertas = query({ // 1. Verificar template let template = null; try { + // Tentar buscar usando índice template = await ctx.db .query('templatesMensagens') .withIndex('by_codigo', (q) => q.eq('codigo', 'monitoramento_alerta_sistema')) .first(); + + // Se não encontrou com índice, tentar busca direta + if (!template) { + const todosTemplates = await ctx.db.query('templatesMensagens').collect(); + template = todosTemplates.find( + (t) => t.codigo?.toLowerCase() === 'monitoramento_alerta_sistema'.toLowerCase() + ) || null; + } + + if (template) { + console.log('✅ Template encontrado:', template.codigo, template.nome); + } else { + console.warn('⚠️ Template monitoramento_alerta_sistema não encontrado no banco'); + } } catch (error) { - console.warn('Erro ao buscar template:', error); + console.error('❌ Erro ao buscar template:', error); + // Tentar busca alternativa sem índice + try { + const todosTemplates = await ctx.db.query('templatesMensagens').collect(); + template = todosTemplates.find( + (t) => t.codigo?.toLowerCase() === 'monitoramento_alerta_sistema'.toLowerCase() + ) || null; + } catch (fallbackError) { + console.error('❌ Erro na busca alternativa:', fallbackError); + } } // 2. Verificar role TI_MASTER @@ -249,7 +274,17 @@ export const verificarConfiguracaoAlertas = query({ console.warn('Erro ao buscar configuração SMTP:', error); } - // 5. Verificar fila de emails + // 5. Listar todos os templates para debug (opcional) + let todosTemplatesCodigos: string[] = []; + try { + const todosTemplates = await ctx.db.query('templatesMensagens').collect(); + todosTemplatesCodigos = todosTemplates.map((t) => t.codigo || '').filter(Boolean); + console.log('📋 Templates encontrados no banco:', todosTemplatesCodigos); + } catch (error) { + console.warn('Erro ao listar templates para debug:', error); + } + + // 6. Verificar fila de emails let emailsPendentes = 0; let emailsFalha = 0; try { @@ -260,7 +295,7 @@ export const verificarConfiguracaoAlertas = query({ console.warn('Erro ao buscar emails:', error); } - // 6. Verificar alertas + // 7. Verificar alertas let alertasAtivos = 0; let alertasComEmail = 0; try { @@ -283,6 +318,7 @@ export const verificarConfiguracaoAlertas = query({ htmlCorpo: template.htmlCorpo } : null, + todosTemplatesCodigos: todosTemplatesCodigos.length > 0 ? todosTemplatesCodigos : undefined, roleTiMasterExiste: !!roleTiMaster, usuariosTiMaster, configSmtpAtiva: !!configSmtp, @@ -306,6 +342,7 @@ export const verificarConfiguracaoAlertas = query({ return { templateExiste: false, templateInfo: null, + todosTemplatesCodigos: undefined, roleTiMasterExiste: false, usuariosTiMaster: [], configSmtpAtiva: false,