cfmgrv4 init...3

This commit is contained in:
최준흠 2024-10-22 11:37:32 +09:00
parent b89c0e2a85
commit 583cd229cc
10 changed files with 98 additions and 50 deletions

View File

@ -2,15 +2,14 @@
namespace App\Controllers\Admin\Cloudflare;
use App\Controllers\CloudflareController;
use App\Helpers\Cloudflare\AccountHelper;
use App\Models\Cloudflare\AccountModel;
use App\Services\Cloudflare\Account;
use CodeIgniter\HTTP\DownloadResponse;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Helpers\Cloudflare\AccountHelper;
use App\Models\Cloudflare\AccountModel;
use App\Services\Cloudflare\Account;
class AccountController extends CloudflareController
{

View File

@ -2,14 +2,13 @@
namespace App\Controllers\Admin\Cloudflare;
use App\Controllers\CloudflareController;
use App\Helpers\Cloudflare\AuthHelper;
use App\Models\Cloudflare\AuthModel;
use CodeIgniter\HTTP\DownloadResponse;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Helpers\Cloudflare\AuthHelper;
use App\Models\Cloudflare\AuthModel;
class AuthController extends CloudflareController
{

View File

@ -1,7 +1,8 @@
<?php
namespace App\Controllers;
namespace App\Controllers\Admin\Cloudflare;
use App\Controllers\Admin\AdminController;
use App\Models\Cloudflare\AccountModel;
use App\Models\Cloudflare\AuthModel;
use App\Models\Cloudflare\RecordModel;
@ -11,7 +12,7 @@ use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
abstract class CloudflareController extends MVController
abstract class CloudflareController extends AdminController
{
private $_authModel = null;
private $_accountModel = null;
@ -90,24 +91,4 @@ abstract class CloudflareController extends MVController
return redirect()->back()->with('error', __FUNCTION__ . " 실패하였습니다.\n" . $e->getMessage());
}
}
//Trigger
protected function trigger_process(mixed $uid): void {}
final protected function trigger_procedure(mixed $uid): ResponseInterface
{
//Transaction Start
$this->getModel()->transStart();
try {
// 여기에 필요한 로직을 구현하세요
$this->trigger_process($uid);
$this->message = "{$this->class_name}: Trigger 작업이 완료되었습니다.";
$this->getModel()->transCommit();
log_message("notice", __FUNCTION__ . $this->message);
return $this->response->setJSON(['status' => 200, $this->message], 200);
} catch (\Exception $e) {
//Transaction Rollback
$this->getModel()->transRollback();
log_message("error", $e->getMessage());
return $this->response->setJSON(['status' => 500, 'message' => $e->getMessage()], 500);
}
}
}

View File

@ -2,16 +2,15 @@
namespace App\Controllers\Admin\Cloudflare;
use App\Controllers\CloudflareController;
use App\Helpers\Cloudflare\FirewallHelper;
use App\Models\Cloudflare\FirewallModel;
use App\Models\Cloudflare\ZoneModel;
use App\Services\Cloudflare\Firewall;
use CodeIgniter\HTTP\DownloadResponse;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Models\Cloudflare\FirewallModel;
use App\Models\Cloudflare\ZoneModel;
use App\Services\Cloudflare\Firewall;
class FirewallController extends CloudflareController
{

View File

@ -2,16 +2,15 @@
namespace App\Controllers\Admin\Cloudflare;
use App\Controllers\CloudflareController;
use App\Helpers\Cloudflare\RecordHelper;
use App\Models\Cloudflare\RecordModel;
use App\Models\Cloudflare\ZoneModel;
use App\Services\Cloudflare\Record;
use CodeIgniter\HTTP\DownloadResponse;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Helpers\Cloudflare\RecordHelper;
use App\Models\Cloudflare\RecordModel;
use App\Models\Cloudflare\ZoneModel;
use App\Services\Cloudflare\Record;
class RecordController extends CloudflareController
{

View File

@ -2,17 +2,16 @@
namespace App\Controllers\Admin\Cloudflare;
use App\Controllers\CloudflareController;
use App\Helpers\Cloudflare\ZoneHelper;
use App\Models\Cloudflare\AccountModel;
use App\Models\Cloudflare\ZoneModel;
use App\Services\Cloudflare\Record;
use App\Services\Cloudflare\Zone;
use CodeIgniter\HTTP\DownloadResponse;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Helpers\Cloudflare\ZoneHelper;
use App\Models\Cloudflare\AccountModel;
use App\Models\Cloudflare\ZoneModel;
use App\Services\Cloudflare\Record;
use App\Services\Cloudflare\Zone;
class ZoneController extends CloudflareController
{

View File

@ -0,0 +1,75 @@
<?php
namespace App\Controllers\Cloudflare;
use App\Controllers\MVController;
use CodeIgniter\HTTP\RedirectResponse;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Models\Cloudflare\AccountModel;
use App\Models\Cloudflare\AuthModel;
use App\Models\Cloudflare\RecordModel;
use App\Models\Cloudflare\ZoneModel;
abstract class CloudflareController extends MVController
{
private $_authModel = null;
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/";
$this->uri_path .= strtolower($this->class_path);
}
final protected function getAuthModel(): AuthModel
{
if ($this->_authModel === null) {
$this->_authModel = new AuthModel();
}
return $this->_authModel;
}
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;
}
//Trigger
protected function trigger_process(mixed $uid): void {}
final protected function trigger_procedure(mixed $uid): ResponseInterface
{
//Transaction Start
$this->getModel()->transStart();
try {
// 여기에 필요한 로직을 구현하세요
$this->trigger_process($uid);
$this->message = "{$this->class_name}: Trigger 작업이 완료되었습니다.";
$this->getModel()->transCommit();
log_message("notice", __FUNCTION__ . $this->message);
return $this->response->setJSON(['status' => 200, $this->message], 200);
} catch (\Exception $e) {
//Transaction Rollback
$this->getModel()->transRollback();
log_message("error", $e->getMessage());
return $this->response->setJSON(['status' => 500, 'message' => $e->getMessage()], 500);
}
}
}

View File

@ -1,8 +1,7 @@
<?php
namespace App\Controllers\Admin\Cloudflare;
namespace App\Controllers\Cloudflare;
use App\Controllers\CloudflareController;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;

View File

@ -1,8 +1,7 @@
<?php
namespace App\Controllers\Admin\Cloudflare;
namespace App\Controllers\Cloudflare;
use App\Controllers\CloudflareController;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;

View File

@ -1,8 +1,7 @@
<?php
namespace App\Controllers\Admin\Cloudflare;
namespace App\Controllers\Cloudflare;
use App\Controllers\CloudflareController;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;