feat: add templateCodigo field to alert configurations and enhance alert handling with new email/chat templates for cybersecurity incidents
This commit is contained in:
@@ -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']
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user