import { Injectable, Query } from '@nestjs/common';
import { Cron, Interval } from '@nestjs/schedule';
// import { ModelService } from 'src/model/model.service';
import { ModelService } from '../model/model.service';
import moment from 'moment';
import * as fs from 'fs';
import * as path from "path";
import { config } from 'dotenv';
import * as mongoose from 'mongoose';
import { Types } from 'mongoose'
config();

const SERVER_URL = process.env.ENV;

@Injectable()
export class CronService {
    constructor(
        private model: ModelService,
    ) {
    }
    // @Cron("*/1 * * * *")
    // @Interval(300000)
    @Cron('*/5 * * * *')
    handleCron() {
        console.log("cronjob  is running");
        
this.status_update()
    }

    async status_update() {
        try {
            let start_date = moment().subtract(1, 'day').valueOf()

            await this.model.CallModel.updateMany({
                created_at: { $lte: start_date },
                type: "CHAT",
                status: "ACTIVE"
            },
                {
                    status: "COMPLETE"
                }
            )
        } catch (error) {
            throw error
        }
    }

}