From 583cd229cc25232b0f19cb677241ab41ed4a89c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=ED=9D=A0?= Date: Tue, 22 Oct 2024 11:37:32 +0900 Subject: [PATCH] cfmgrv4 init...3 --- .../Admin/Cloudflare/AccountController.php | 7 +- .../Admin/Cloudflare/AuthController.php | 5 +- .../Cloudflare}/CloudflareController.php | 25 +------ .../Admin/Cloudflare/FirewallController.php | 7 +- .../Admin/Cloudflare/RecordController.php | 9 +-- .../Admin/Cloudflare/ZoneController.php | 11 ++- .../Cloudflare/CloudflareController.php | 75 +++++++++++++++++++ .../Cloudflare/FirewallController.php | 3 +- .../Cloudflare/RecordController.php | 3 +- app/Controllers/Cloudflare/ZoneController.php | 3 +- 10 files changed, 98 insertions(+), 50 deletions(-) rename app/Controllers/{ => Admin/Cloudflare}/CloudflareController.php (77%) create mode 100644 app/Controllers/Cloudflare/CloudflareController.php diff --git a/app/Controllers/Admin/Cloudflare/AccountController.php b/app/Controllers/Admin/Cloudflare/AccountController.php index 32dfb23..f42891c 100644 --- a/app/Controllers/Admin/Cloudflare/AccountController.php +++ b/app/Controllers/Admin/Cloudflare/AccountController.php @@ -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 { diff --git a/app/Controllers/Admin/Cloudflare/AuthController.php b/app/Controllers/Admin/Cloudflare/AuthController.php index 7ac9d12..424a8e1 100644 --- a/app/Controllers/Admin/Cloudflare/AuthController.php +++ b/app/Controllers/Admin/Cloudflare/AuthController.php @@ -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 { diff --git a/app/Controllers/CloudflareController.php b/app/Controllers/Admin/Cloudflare/CloudflareController.php similarity index 77% rename from app/Controllers/CloudflareController.php rename to app/Controllers/Admin/Cloudflare/CloudflareController.php index 52b4ac9..14049b2 100644 --- a/app/Controllers/CloudflareController.php +++ b/app/Controllers/Admin/Cloudflare/CloudflareController.php @@ -1,7 +1,8 @@ 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); - } - } } diff --git a/app/Controllers/Admin/Cloudflare/FirewallController.php b/app/Controllers/Admin/Cloudflare/FirewallController.php index c8167a8..b385b60 100644 --- a/app/Controllers/Admin/Cloudflare/FirewallController.php +++ b/app/Controllers/Admin/Cloudflare/FirewallController.php @@ -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 { diff --git a/app/Controllers/Admin/Cloudflare/RecordController.php b/app/Controllers/Admin/Cloudflare/RecordController.php index 97d1d4d..593c63d 100644 --- a/app/Controllers/Admin/Cloudflare/RecordController.php +++ b/app/Controllers/Admin/Cloudflare/RecordController.php @@ -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 { diff --git a/app/Controllers/Admin/Cloudflare/ZoneController.php b/app/Controllers/Admin/Cloudflare/ZoneController.php index c019a58..9517ff2 100644 --- a/app/Controllers/Admin/Cloudflare/ZoneController.php +++ b/app/Controllers/Admin/Cloudflare/ZoneController.php @@ -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 { diff --git a/app/Controllers/Cloudflare/CloudflareController.php b/app/Controllers/Cloudflare/CloudflareController.php new file mode 100644 index 0000000..56cabe5 --- /dev/null +++ b/app/Controllers/Cloudflare/CloudflareController.php @@ -0,0 +1,75 @@ +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); + } + } +} diff --git a/app/Controllers/Cloudflare/FirewallController.php b/app/Controllers/Cloudflare/FirewallController.php index 9c5d6e6..37c8d33 100644 --- a/app/Controllers/Cloudflare/FirewallController.php +++ b/app/Controllers/Cloudflare/FirewallController.php @@ -1,8 +1,7 @@