<?php

namespace App\Controllers;

use App\Controllers\BaseController;
use App\Core\Library\Mailer;
use App\Core\Service\Logger;
use App\Model\MasterModel;

class Cron extends BaseController
{
    private $Mailer;
        private $model;
    public function __construct()
    {
        $this->Mailer = new Mailer();
        $this->model = new MasterModel();
    }

    public function sendEmailSms()
    {
        try {
            $comp_id = 1;
            $dbPrefix = $this->model->client_db_prefix . $comp_id;
            $compList = $this->model->fetchSingleData("SELECT * FROM `sanordo_db`.`admin_client_master` WHERE id = $comp_id");
            if ($compList['status']) {
                foreach ($compList['data'] as $key => $val) {
                    // $this->ApiModel->setCompDb($val['id']);
                    // $this->fx->setCompDb($val['id']);
                    $emailSmsData = $this->model->fetchAllData("SELECT * FROM `$dbPrefix`.`email_sms_log` WHERE status = 0");
                    if ($emailSmsData['status']) {
                        foreach ($emailSmsData['data'] as $value) {
                            $data = json_decode($value['data']);
                            if ($value['type'] == 'Email') {
                                // $mailer->setCompDb($val['id']);
                                $this->Mailer->sendEmail((array)$data, $value['id'], $val['id']);
                            } else if ($value['type'] == 'WhatsApp') {
                                // if ($val['enable_whatsapp_business'] == 1) {
                                //     $this->fx->chatBotWhatsapp($value['body'], $value['id']);
                                // } else {
                                //     $this->fx->teamInspectorWhatsapp($value['body'], $value['to'], $value['attachment'] ? json_decode($value['attachment']) : '', $value['id'], '');
                                // }
                            } else if ($value['type'] == 'SMS') {
                            }
                        }
                    } else {
                        throw new \Exception($val['id'] . " : " . $emailSmsData['error']);
                    }
                }
            } else {
                throw new \Exception($compList['error']);
            }
        } catch (\Exception $e) {
            Logger::error($e->getMessage(), ['File' => $e->getFile(), 'Line'=>$e->getLine()]);
        }
    }
}
