import { Injectable, Logger } from '@nestjs/common';
import { Cron } from '@nestjs/schedule';
import { FideicomisoInmService } from './fideicomiso.service';

/** Día 1 de cada mes: borrador del informe del mes anterior para los proyectos en fideicomiso. */
@Injectable()
export class FideicomisoInmCron {
  private readonly logger = new Logger(FideicomisoInmCron.name);

  constructor(private readonly fideicomiso: FideicomisoInmService) {}

  @Cron('0 0 6 1 * *', { name: 'inm-informe-fideicomiso', timeZone: 'America/Asuncion' })
  async correr() {
    try {
      const n = await this.fideicomiso.borradoresMensuales();
      this.logger.log(`Informes de fideicomiso en borrador: ${n}`);
    } catch (e) {
      this.logger.error(`Falló el informe mensual de fideicomiso: ${(e as Error)?.message}`);
    }
  }
}
