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
);

// Limpar indicadores de digitação antigos (>10s) a cada minuto
crons.interval(
  "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,
  {}
);

// Criar períodos aquisitivos de férias automaticamente (diariamente)
crons.interval(
  "criar-periodos-aquisitivos",
  { hours: 24 },
  internal.saldoFerias.criarPeriodosAquisitivos,
  {}
);

// Processar fila de emails pendentes a cada 2 minutos
crons.interval(
  "processar-fila-emails",
  { minutes: 2 },
  internal.email.processarFilaEmails,
  {}
);

export default crons;

