feat: update email notification handling to use scheduler for template sending, with improved error handling for fallback scenarios

This commit is contained in:
2025-12-01 05:45:19 -03:00
parent 4e3feca84d
commit d9e78079c8
4 changed files with 541 additions and 14 deletions

View File

@@ -131,7 +131,7 @@ async function registrarNotificacoes(
if (ticket.solicitanteEmail) {
// Tentar usar template, senão usar envio direto
try {
await ctx.runAction(api.email.enviarEmailComTemplate, {
await ctx.scheduler.runAfter(0, api.email.enviarEmailComTemplate, {
destinatario: ticket.solicitanteEmail,
destinatarioId: ticket.solicitanteId,
templateCodigo: "chamado_atualizado",
@@ -145,6 +145,10 @@ async function registrarNotificacoes(
});
} catch (error) {
// Fallback para envio direto
console.warn(
"Erro ao agendar envio de email com template chamado_atualizado para solicitante, usando envio direto:",
error,
);
await ctx.runMutation(api.email.enfileirarEmail, {
destinatario: ticket.solicitanteEmail,
destinatarioId: ticket.solicitanteId,
@@ -172,7 +176,7 @@ async function registrarNotificacoes(
if (responsavel?.email) {
// Tentar usar template, senão usar envio direto
try {
await ctx.runAction(api.email.enviarEmailComTemplate, {
await ctx.scheduler.runAfter(0, api.email.enviarEmailComTemplate, {
destinatario: responsavel.email,
destinatarioId: ticket.responsavelId,
templateCodigo: "chamado_atualizado",
@@ -186,6 +190,10 @@ async function registrarNotificacoes(
});
} catch (error) {
// Fallback para envio direto
console.warn(
"Erro ao agendar envio de email com template chamado_atualizado para responsável, usando envio direto:",
error,
);
await ctx.runMutation(api.email.enfileirarEmail, {
destinatario: responsavel.email,
destinatarioId: ticket.responsavelId,