import { Injectable, Logger } from '@nestjs/common';
import { Cron } from '@nestjs/schedule';
import { PresupuestosDashboardService } from './presupuestos-dashboard.service';

@Injectable()
export class PresupuestosCron {
  private readonly logger = new Logger(PresupuestosCron.name);

  constructor(private readonly dashboardService: PresupuestosDashboardService) {}

  /** Diariamente a las 06:15: vencer presupuestos SENT/VIEWED con vigencia expirada. */
  @Cron('15 6 * * *')
  async vencerPresupuestos() {
    try {
      const count = await this.dashboardService.vencerExpirados();
      if (count > 0) this.logger.log(`Vencidos: ${count} presupuesto(s) → EXPIRED`);
    } catch (err) {
      this.logger.error('Error en job vencerPresupuestos', err);
    }
  }
}
