<?php

namespace App\Controllers\Admin\Cloudflare;

use App\Controllers\Admin\AdminController;
use App\Models\Cloudflare\AccountModel;
use App\Models\Cloudflare\RecordModel;

use App\Models\Cloudflare\ZoneModel;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;

abstract class CloudflareController extends AdminController
{
    private $_accountModel = null;
    private $_zoneModel = null;
    private $_recordModel = null;
    public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
    {
        parent::initController($request, $response, $logger);
        $this->class_path .= "Cloudflare/";
    }
    final protected function getAccountModel(): AccountModel
    {
        if ($this->_accountModel === null) {
            $this->_accountModel = new AccountModel();
        }
        return $this->_accountModel;
    }
    final protected function getZoneModel(): ZoneModel
    {
        if ($this->_zoneModel === null) {
            $this->_zoneModel = new ZoneModel();
        }
        return $this->_zoneModel;
    }
    final protected function getRecordModel(): RecordModel
    {
        if ($this->_recordModel === null) {
            $this->_recordModel = new RecordModel();
        }
        return $this->_recordModel;
    }
    protected function modify_process_submit(): void
    {
    }
}
