/**
 * Cron: Session Cleanup - runs daily at 03:00.
 *
 * Deletes session rows where expires_at has passed.
 * Uses the existing purgeExpired query from the sessions query module.
 */

import { createDbService } from '@/server/services/db.js';
import { withSentry } from '@/server/observability/with-sentry';
import { purgeExpired } from '../db/queries/sessions.js';
import type { CronEnv } from './deal-expiry.js';

export const runSessionCleanup = withSentry(
  async function runSessionCleanup(env: CronEnv): Promise<void> {
    const db = env.db ?? createDbService({ DATABASE_URL: env.DATABASE_URL });
    await purgeExpired(db);
  },
  { name: 'cron.session-cleanup', kind: 'cron' },
);
