feat: Add 'atas' (minutes/records) management feature, and implement various improvements across UI, backend logic, and authentication.

This commit is contained in:
2025-12-02 16:37:48 -03:00
parent 05e7f1181d
commit 4bd9e21748
265 changed files with 29156 additions and 26460 deletions

View File

@@ -1,58 +1,53 @@
import { cronJobs } from "convex/server";
import { internal } from "./_generated/api";
import { cronJobs } from 'convex/server';
import { internal } from './_generated/api';
const crons = cronJobs();
// Enviar mensagens agendadas a cada minuto
crons.interval(
"enviar-mensagens-agendadas",
{ minutes: 1 },
internal.chat.enviarMensagensAgendadas
'enviar-mensagens-agendadas',
{ minutes: 1 },
internal.chat.enviarMensagensAgendadas
);
// Processar fila de emails (incluindo agendados) a cada minuto
crons.interval(
"processar-fila-emails",
{ minutes: 1 },
internal.email.processarFilaEmails
);
crons.interval('processar-fila-emails', { minutes: 1 }, internal.email.processarFilaEmails);
// Limpar indicadores de digitação antigos (>10s) a cada minuto
crons.interval(
"limpar-indicadores-digitacao",
{ minutes: 1 },
internal.chat.limparIndicadoresDigitacao
'limpar-indicadores-digitacao',
{ minutes: 1 },
internal.chat.limparIndicadoresDigitacao
);
// Atualizar status de férias dos funcionários diariamente
crons.interval(
"atualizar-status-ferias",
{ hours: 24 },
internal.ferias.atualizarStatusTodosFuncionarios,
{}
'atualizar-status-ferias',
{ hours: 24 },
internal.ferias.atualizarStatusTodosFuncionarios,
{}
);
crons.interval(
"expirar-bloqueios-ip-automaticos",
{ minutes: 5 },
internal.security.expirarBloqueiosIpAutomaticos,
{}
'expirar-bloqueios-ip-automaticos',
{ minutes: 5 },
internal.security.expirarBloqueiosIpAutomaticos,
{}
);
crons.interval(
"sincronizar-threat-intel",
{ hours: 2 },
internal.security.atualizarThreatIntelFeedsInternal,
{}
'sincronizar-threat-intel',
{ hours: 2 },
internal.security.atualizarThreatIntelFeedsInternal,
{}
);
// Monitorar logs de login e detectar brute force a cada 5 minutos
crons.interval(
"monitorar-logs-login-brute-force",
{ minutes: 5 },
internal.security.monitorarLogsLogin,
{}
'monitorar-logs-login-brute-force',
{ minutes: 5 },
internal.security.monitorarLogsLogin,
{}
);
export default crons;