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,