import { Injectable } from '@nestjs/common';
import { Cron } from '@nestjs/schedule';
import { ServiceService } from '../modules/service/service.service';
import * as dotenv from 'dotenv';
import { OrderService } from '../modules/order/order.service';
import { CarService } from 'src/modules/car/car.service';
dotenv.config();

@Injectable()
export class TasksService {
  constructor(
    private serviceService: ServiceService,
    private orderService: OrderService,
    private carService: CarService,
  ) {}

  @Cron(process.env.CRON_JOB_SERVICE_DEADLINE)
  async handleServiceDeadline() {
    console.log('CRON JOB FOR HANDLEING SERVICE DEADLINE');
    await this.serviceService.handleDeadline();
  }

  @Cron(process.env.CRON_JOB_DELETE_UNPAID_ORDER)
  async handleDeleteUnpaidOrder() {
    console.log('CRON JOB FOR DELETE UNPAID ORDER');
    await this.orderService.handleDeleteUnpaid(false);
  }

  @Cron(process.env.CRON_JOB_DELETE_UNPAID_SERVICE)
  async handleDeleteUnpaidService() {
    console.log('CRON JOB FOR DELETE UNPAID SERVICE');
    await this.orderService.handleDeleteUnpaid(true);
  }

  // @Cron(process.env.CRON_JOB_INQUIRY_ALLOCATE_OIL_GOVERNMENT)
  // async handleAllocateOilGovernment() {
  //   console.log('CRON JOB FOR INQUIRY ALLOCATE OIL GOVERNMENT');
  //   await this.carService.handleAllocateOilGovernment();
  // }
}
