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)
{
//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);
}

View File

@ -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
{

View File

@ -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

View File

@ -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)
{

View File

@ -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)

View File

@ -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)

View File

@ -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)