feat: enhance alert diagnostics by adding template listing for improved user feedback; implement fallback template search in backend for better error handling and logging
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user