cfmgrv3 init..3

This commit is contained in:
최준흠 2023-06-21 13:43:53 +09:00
parent 8f47c334a9
commit 301a052f66
7 changed files with 37 additions and 7 deletions

View File

@ -141,9 +141,7 @@ class ZoneController extends APIController
protected function delete_process($entity) protected function delete_process($entity)
{ {
//Zone삭제전에 Record부터 삭제하기위함 //Zone삭제전에 Record부터 삭제하기위함
$recordModel = new \App\Models\Cloudflare\API\RecordModel(); foreach ($this->getRecordModel()->getEntitysByZone($entity->getPrimaryKey()) as $record) {
$records = $recordModel->asObject(\App\Entities\Cloudflare\API\RecordEntity::class)->where($recordModel::PARENT_FIELD, $entity->getPrimaryKey())->findAll();
foreach ($records as $record) {
$api = new \App\Libraries\Cloudflare\API\Record($entity); $api = new \App\Libraries\Cloudflare\API\Record($entity);
$api->delete($record); $api->delete($record);
} }

View File

@ -2,6 +2,8 @@
namespace App\Libraries\Cloudflare\API; namespace App\Libraries\Cloudflare\API;
use App\Libraries\Log\Log;
class Account extends API class Account extends API
{ {
private $_endPoint = null; private $_endPoint = null;
@ -65,7 +67,9 @@ class Account extends API
if (!$cfResult->success) { if (!$cfResult->success) {
throw new \Exception(var_export($cfResult, true)); 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 protected function getCFResults_List(int $page): array
{ {

View File

@ -2,6 +2,8 @@
namespace App\Libraries\Cloudflare\API; namespace App\Libraries\Cloudflare\API;
use App\Libraries\Log\Log;
class Firewall extends API class Firewall extends API
{ {
private $_endPoint = null; private $_endPoint = null;
@ -71,7 +73,9 @@ class Firewall extends API
if (!$cfResult->success) { if (!$cfResult->success) {
throw new \Exception(var_export($cfResult, true)); 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 delete(){ }
public function sync(\App\Entities\Cloudflare\API\FirewallEntity $entity): \App\Entities\Cloudflare\API\FirewallEntity public function sync(\App\Entities\Cloudflare\API\FirewallEntity $entity): \App\Entities\Cloudflare\API\FirewallEntity

View File

@ -65,7 +65,9 @@ class Record extends API
if (!$cfResult->success) { if (!$cfResult->success) {
throw new \Exception(var_export($cfResult, true)); 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 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) { if (!$cfResult->success) {
throw new \Exception(var_export($cfResult, true)); 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) public function delete(\App\Entities\Cloudflare\API\RecordEntity $entity)
{ {

View File

@ -110,6 +110,7 @@ class Zone extends API
$entity = $this->setCFSetting($entity, 'ipv6', 'off'); $entity = $this->setCFSetting($entity, 'ipv6', 'off');
$entity = $this->setCFSetting($entity, 'development_mode', 'off'); $entity = $this->setCFSetting($entity, 'development_mode', 'off');
$entity = $this->setCFSetting($entity, 'security_level', 'medium'); $entity = $this->setCFSetting($entity, 'security_level', 'medium');
Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다.");
return $entity; return $entity;
} }
public function update(\App\Entities\Cloudflare\API\ZoneEntity $entity, array $fieldDatas): \App\Entities\Cloudflare\API\ZoneEntity 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) { foreach ($fieldDatas as $field => $value) {
$entity = $this->setCFSetting($entity, $field, $value); $entity = $this->setCFSetting($entity, $field, $value);
} }
Log::add("warning", "API {$entity->getTitle()} " . __FUNCTION__ . " 완료하였습니다.");
return $entity; return $entity;
} }
public function delete(\App\Entities\Cloudflare\API\ZoneEntity $entity) public function delete(\App\Entities\Cloudflare\API\ZoneEntity $entity)

View File

@ -2,6 +2,7 @@
namespace App\Models\Cloudflare\API; namespace App\Models\Cloudflare\API;
use App\Entities\Cloudflare\API\ZoneEntity;
use App\Entities\Cloudflare\API\FirewallEntity; use App\Entities\Cloudflare\API\FirewallEntity;
use CodeIgniter\Model; use CodeIgniter\Model;
@ -66,6 +67,14 @@ class FirewallModel extends Model
} }
return $entity; 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 검색용 //Index 검색용
public function setIndexWordFilter(string $word) public function setIndexWordFilter(string $word)

View File

@ -2,6 +2,7 @@
namespace App\Models\Cloudflare\API; namespace App\Models\Cloudflare\API;
use App\Entities\Cloudflare\API\ZoneEntity;
use App\Entities\Cloudflare\API\RecordEntity; use App\Entities\Cloudflare\API\RecordEntity;
use App\Libraries\Log\Log; use App\Libraries\Log\Log;
use CodeIgniter\Model; use CodeIgniter\Model;
@ -69,6 +70,14 @@ class RecordModel extends Model
} }
return $entity; 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 검색어용 //Index 검색어용
public function setIndexWordFilter(string $word) public function setIndexWordFilter(string $word)