feat: add templateCodigo field to alert configurations and enhance alert handling with new email/chat templates for cybersecurity incidents

This commit is contained in:
2025-12-06 19:34:00 -03:00
parent 1ceef73847
commit f3b4721119
4 changed files with 437 additions and 3 deletions

View File

@@ -701,6 +701,164 @@ export const criarTemplatesPadrao = mutation({
],
categoria: 'email' as const,
tags: ['ausencia', 'reprovacao', 'gestao']
},
// ===================== ALERTAS DE SEGURANÇA CIBERNÉTICA =====================
{
codigo: 'incidente_critico',
nome: 'Incidente Crítico - Ação Imediata',
titulo: '🚨 ALERTA CRÍTICO: {{tipoAtaque}}',
corpo:
"<html><body style='font-family: Arial, sans-serif; line-height: 1.6; color: #333;'>" +
"<div style='max-width: 600px; margin: 0 auto; padding: 20px;'>" +
"<h2 style='color: #DC2626;'>🚨 ALERTA CRÍTICO DE SEGURANÇA</h2>" +
'<p>Olá <strong>{{destinatarioNome}}</strong>,</p>' +
'<p>Um <strong>incidente crítico de segurança</strong> foi detectado no sistema:</p>' +
"<div style='background-color: #FEF2F2; border-left: 4px solid #DC2626; padding: 15px; border-radius: 8px; margin: 20px 0;'>" +
"<p style='margin: 0;'><strong>Tipo de Ataque:</strong> {{tipoAtaque}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Severidade:</strong> <span style='color: #DC2626; font-weight: bold;'>{{severidade}}</span></p>" +
"<p style='margin: 5px 0 0 0;'><strong>Descrição:</strong> {{descricao}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>IP de Origem:</strong> {{origemIp}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Data/Hora:</strong> {{dataHora}}</p>" +
'</div>' +
"<p style='color: #DC2626; font-weight: bold;'>⚠️ AÇÃO IMEDIATA NECESSÁRIA</p>" +
"<p style='margin-top: 30px;'>" +
"<a href='{{urlSistema}}/ti/cybersecurity' " +
"style='background-color: #DC2626; color: white; padding: 12px 24px; " +
"text-decoration: none; border-radius: 6px; display: inline-block;'>" +
'Ver Detalhes do Incidente' +
'</a>' +
'</p>' +
"<p style='color: #6B7280; font-size: 12px; margin-top: 30px;'>" +
'SGSE - Sistema de Gerenciamento de Secretaria - Equipe de Segurança' +
'</p>' +
'</div></body></html>',
variaveis: [
'destinatarioNome',
'tipoAtaque',
'severidade',
'descricao',
'origemIp',
'dataHora',
'urlSistema'
],
categoria: 'email' as const,
tags: ['seguranca', 'alerta', 'critico', 'cybersecurity']
},
{
codigo: 'bloqueio_automatico',
nome: 'Bloqueio Automático',
titulo: '🔒 Bloqueio Automático: {{tipoAtaque}}',
corpo:
"<html><body style='font-family: Arial, sans-serif; line-height: 1.6; color: #333;'>" +
"<div style='max-width: 600px; margin: 0 auto; padding: 20px;'>" +
"<h2 style='color: #F59E0B;'>🔒 Bloqueio Automático Aplicado</h2>" +
'<p>Olá <strong>{{destinatarioNome}}</strong>,</p>' +
'<p>O sistema aplicou um <strong>bloqueio automático</strong> devido a uma tentativa de ataque detectada:</p>' +
"<div style='background-color: #FFFBEB; border-left: 4px solid #F59E0B; padding: 15px; border-radius: 8px; margin: 20px 0;'>" +
"<p style='margin: 0;'><strong>Tipo de Ataque:</strong> {{tipoAtaque}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>IP Bloqueado:</strong> {{origemIp}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Descrição:</strong> {{descricao}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Data/Hora:</strong> {{dataHora}}</p>" +
'</div>' +
"<p style='margin-top: 30px;'>" +
"<a href='{{urlSistema}}/ti/cybersecurity' " +
"style='background-color: #F59E0B; color: white; padding: 12px 24px; " +
"text-decoration: none; border-radius: 6px; display: inline-block;'>" +
'Ver Detalhes do Bloqueio' +
'</a>' +
'</p>' +
"<p style='color: #6B7280; font-size: 12px; margin-top: 30px;'>" +
'SGSE - Sistema de Gerenciamento de Secretaria - Equipe de Segurança' +
'</p>' +
'</div></body></html>',
variaveis: [
'destinatarioNome',
'tipoAtaque',
'origemIp',
'descricao',
'dataHora',
'urlSistema'
],
categoria: 'email' as const,
tags: ['seguranca', 'bloqueio', 'automatico', 'cybersecurity']
},
{
codigo: 'sumario_30min',
nome: 'Sumário 30 Min',
titulo: '📊 Sumário de Segurança - Últimos 30 minutos',
corpo:
"<html><body style='font-family: Arial, sans-serif; line-height: 1.6; color: #333;'>" +
"<div style='max-width: 600px; margin: 0 auto; padding: 20px;'>" +
"<h2 style='color: #2563EB;'>📊 Sumário de Segurança</h2>" +
'<p>Olá <strong>{{destinatarioNome}}</strong>,</p>' +
'<p>Resumo dos eventos de segurança dos últimos 30 minutos:</p>' +
"<div style='background-color: #EFF6FF; border-left: 4px solid #2563EB; padding: 15px; border-radius: 8px; margin: 20px 0;'>" +
"<p style='margin: 0;'><strong>Total de Eventos:</strong> {{totalEventos}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Eventos Críticos:</strong> {{eventosCriticos}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Eventos Altos:</strong> {{eventosAltos}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>IPs Bloqueados:</strong> {{ipsBloqueados}}</p>" +
'</div>' +
"<p style='margin-top: 30px;'>" +
"<a href='{{urlSistema}}/ti/cybersecurity' " +
"style='background-color: #2563EB; color: white; padding: 12px 24px; " +
"text-decoration: none; border-radius: 6px; display: inline-block;'>" +
'Ver Relatório Completo' +
'</a>' +
'</p>' +
"<p style='color: #6B7280; font-size: 12px; margin-top: 30px;'>" +
'SGSE - Sistema de Gerenciamento de Secretaria - Equipe de Segurança' +
'</p>' +
'</div></body></html>',
variaveis: [
'destinatarioNome',
'totalEventos',
'eventosCriticos',
'eventosAltos',
'ipsBloqueados',
'urlSistema'
],
categoria: 'email' as const,
tags: ['seguranca', 'sumario', 'relatorio', 'cybersecurity']
},
{
codigo: 'anormalidade',
nome: 'Anomalia Detectada',
titulo: '⚠️ Anomalia Detectada: {{tipoAtaque}}',
corpo:
"<html><body style='font-family: Arial, sans-serif; line-height: 1.6; color: #333;'>" +
"<div style='max-width: 600px; margin: 0 auto; padding: 20px;'>" +
"<h2 style='color: #F59E0B;'>⚠️ Anomalia Detectada</h2>" +
'<p>Olá <strong>{{destinatarioNome}}</strong>,</p>' +
'<p>O sistema detectou uma <strong>anomalia de segurança</strong> que requer atenção:</p>' +
"<div style='background-color: #FFFBEB; border-left: 4px solid #F59E0B; padding: 15px; border-radius: 8px; margin: 20px 0;'>" +
"<p style='margin: 0;'><strong>Tipo de Ataque:</strong> {{tipoAtaque}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Severidade:</strong> {{severidade}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Descrição:</strong> {{descricao}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>IP de Origem:</strong> {{origemIp}}</p>" +
"<p style='margin: 5px 0 0 0;'><strong>Data/Hora:</strong> {{dataHora}}</p>" +
'</div>' +
"<p style='margin-top: 30px;'>" +
"<a href='{{urlSistema}}/ti/cybersecurity' " +
"style='background-color: #F59E0B; color: white; padding: 12px 24px; " +
"text-decoration: none; border-radius: 6px; display: inline-block;'>" +
'Ver Detalhes da Anomalia' +
'</a>' +
'</p>' +
"<p style='color: #6B7280; font-size: 12px; margin-top: 30px;'>" +
'SGSE - Sistema de Gerenciamento de Secretaria - Equipe de Segurança' +
'</p>' +
'</div></body></html>',
variaveis: [
'destinatarioNome',
'tipoAtaque',
'severidade',
'descricao',
'origemIp',
'dataHora',
'urlSistema'
],
categoria: 'email' as const,
tags: ['seguranca', 'anomalia', 'alerta', 'cybersecurity']
}
];