From 301a052f660d559b1f75064a04dd790763b4f85d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=ED=9D=A0?= Date: Wed, 21 Jun 2023 13:43:53 +0900 Subject: [PATCH] cfmgrv3 init..3 --- app/Controllers/Admin/Cloudflare/API/ZoneController.php | 4 +--- app/Libraries/Cloudflare/API/Account.php | 6 +++++- app/Libraries/Cloudflare/API/Firewall.php | 6 +++++- app/Libraries/Cloudflare/API/Record.php | 8 ++++++-- app/Libraries/Cloudflare/API/Zone.php | 2 ++ app/Models/Cloudflare/API/FirewallModel.php | 9 +++++++++ app/Models/Cloudflare/API/RecordModel.php | 9 +++++++++ 7 files changed, 37 insertions(+), 7 deletions(-) diff --git a/app/Controllers/Admin/Cloudflare/API/ZoneController.php b/app/Controllers/Admin/Cloudflare/API/ZoneController.php index 28f302b..db954a9 100644 --- a/app/Controllers/Admin/Cloudflare/API/ZoneController.php +++ b/app/Controllers/Admin/Cloudflare/API/ZoneController.php @@ -141,9 +141,7 @@ class ZoneController extends APIController protected function delete_process($entity) { //Zone삭제전에 Record부터 삭제하기위함 - $recordModel = new \App\Models\Cloudflare\API\RecordModel(); - $records = $recordModel->asObject(\App\Entities\Cloudflare\API\RecordEntity::class)->where($recordModel::PARENT_FIELD, $entity->getPrimaryKey())->findAll(); - foreach ($records as $record) { + foreach ($this->getRecordModel()->getEntitysByZone($entity->getPrimaryKey()) as $record) { $api = new \App\Libraries\Cloudflare\API\Record($entity); $api->delete($record); } diff --git a/app/Libraries/Cloudflare/API/Account.php b/app/Libraries/Cloudflare/API/Account.php index 15baa11..e78b8de 100644 --- a/app/Libraries/Cloudflare/API/Account.php +++ b/app/Libraries/Cloudflare/API/Account.php @@ -2,6 +2,8 @@ namespace App\Libraries\Cloudflare\API; +use App\Libraries\Log\Log; + class Account extends API { private $_endPoint = null; @@ -65,7 +67,9 @@ class Account extends API if (!$cfResult->success) { throw new \Exception(var_export($cfResult, true)); } - return $this->getEntityByResult($cfResult->result); + $entity = $this->getEntityByResult($cfResult->result); + Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다."); + return $entity; } protected function getCFResults_List(int $page): array { diff --git a/app/Libraries/Cloudflare/API/Firewall.php b/app/Libraries/Cloudflare/API/Firewall.php index 0d3c414..55a1433 100644 --- a/app/Libraries/Cloudflare/API/Firewall.php +++ b/app/Libraries/Cloudflare/API/Firewall.php @@ -2,6 +2,8 @@ namespace App\Libraries\Cloudflare\API; +use App\Libraries\Log\Log; + class Firewall extends API { private $_endPoint = null; @@ -71,7 +73,9 @@ class Firewall extends API if (!$cfResult->success) { throw new \Exception(var_export($cfResult, true)); } - return $this->getEntityByResult($cfResult->result); + $entity = $this->getEntityByResult($cfResult->result); + Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다."); + return $entity; } // public function delete(){ } public function sync(\App\Entities\Cloudflare\API\FirewallEntity $entity): \App\Entities\Cloudflare\API\FirewallEntity diff --git a/app/Libraries/Cloudflare/API/Record.php b/app/Libraries/Cloudflare/API/Record.php index 5bf6e8f..8832043 100644 --- a/app/Libraries/Cloudflare/API/Record.php +++ b/app/Libraries/Cloudflare/API/Record.php @@ -65,7 +65,9 @@ class Record extends API if (!$cfResult->success) { throw new \Exception(var_export($cfResult, true)); } - return $this->getEntityByResult($cfResult->result); + $entity = $this->getEntityByResult($cfResult->result); + Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다."); + return $entity; } public function update(\App\Entities\Cloudflare\API\RecordEntity $entity, array $fieldDatas): \App\Entities\Cloudflare\API\RecordEntity { @@ -85,7 +87,9 @@ class Record extends API if (!$cfResult->success) { throw new \Exception(var_export($cfResult, true)); } - return $this->getEntityByResult($cfResult->result); + $entity = $this->getEntityByResult($cfResult->result); + Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다."); + return $entity; } public function delete(\App\Entities\Cloudflare\API\RecordEntity $entity) { diff --git a/app/Libraries/Cloudflare/API/Zone.php b/app/Libraries/Cloudflare/API/Zone.php index dde6693..63ac6fc 100644 --- a/app/Libraries/Cloudflare/API/Zone.php +++ b/app/Libraries/Cloudflare/API/Zone.php @@ -110,6 +110,7 @@ class Zone extends API $entity = $this->setCFSetting($entity, 'ipv6', 'off'); $entity = $this->setCFSetting($entity, 'development_mode', 'off'); $entity = $this->setCFSetting($entity, 'security_level', 'medium'); + Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다."); return $entity; } public function update(\App\Entities\Cloudflare\API\ZoneEntity $entity, array $fieldDatas): \App\Entities\Cloudflare\API\ZoneEntity @@ -118,6 +119,7 @@ class Zone extends API foreach ($fieldDatas as $field => $value) { $entity = $this->setCFSetting($entity, $field, $value); } + Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다."); return $entity; } public function delete(\App\Entities\Cloudflare\API\ZoneEntity $entity) diff --git a/app/Models/Cloudflare/API/FirewallModel.php b/app/Models/Cloudflare/API/FirewallModel.php index 5a1d58d..6a5353f 100644 --- a/app/Models/Cloudflare/API/FirewallModel.php +++ b/app/Models/Cloudflare/API/FirewallModel.php @@ -2,6 +2,7 @@ namespace App\Models\Cloudflare\API; +use App\Entities\Cloudflare\API\ZoneEntity; use App\Entities\Cloudflare\API\FirewallEntity; use CodeIgniter\Model; @@ -66,6 +67,14 @@ class FirewallModel extends Model } return $entity; } + public function getEntitys(array $wheres) + { + return $this->asObject(FirewallEntity::class)->where($wheres)->findAll(); + } + public function getEntitysByZone(ZoneEntity $zone) + { + return $this->getEntitys([self::PARENT_FIELD, $zone->getPrimaryKey()]); + } //Index 검색용 public function setIndexWordFilter(string $word) diff --git a/app/Models/Cloudflare/API/RecordModel.php b/app/Models/Cloudflare/API/RecordModel.php index fd388a6..50102db 100644 --- a/app/Models/Cloudflare/API/RecordModel.php +++ b/app/Models/Cloudflare/API/RecordModel.php @@ -2,6 +2,7 @@ namespace App\Models\Cloudflare\API; +use App\Entities\Cloudflare\API\ZoneEntity; use App\Entities\Cloudflare\API\RecordEntity; use App\Libraries\Log\Log; use CodeIgniter\Model; @@ -69,6 +70,14 @@ class RecordModel extends Model } return $entity; } + public function getEntitys(array $wheres) + { + return $this->asObject(RecordEntity::class)->where($wheres)->findAll(); + } + public function getEntitysByZone(ZoneEntity $zone) + { + return $this->getEntitys([self::PARENT_FIELD, $zone->getPrimaryKey()]); + } //Index 검색어용 public function setIndexWordFilter(string $word)