cfmgrv4/app/Controllers/Cloudflare/RecordController.php
2024-10-22 11:22:42 +09:00

56 lines
1.9 KiB
PHP

<?php
namespace App\Controllers\Admin\Cloudflare;
use App\Controllers\CloudflareController;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
use App\Models\Cloudflare\RecordModel;
use App\Services\Cloudflare\Record;
class RecordController extends CloudflareController
{
private $_zone_entity = null;
private $_myLibrays = [];
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
$this->class_name .= "Record";
$this->class_path .= $this->class_name;
$this->title = lang("{$this->class_path}.title");
}
final protected function getModel(): RecordModel
{
if ($this->model === null) {
$this->model = new RecordModel();
}
return $this->model;
}
final protected function getMyLibrary(): Record
{
if (!isset($this->_myLibrays[$this->_zone_entity->getPK()])) {
$this->_myLibrays[$this->_zone_entity->getPK()] = new Record($this->_zone_entity);
}
return $this->_myLibrays[$this->_zone_entity->getPK()];
}
//Trigger작업
protected function trigger_process(mixed $uid): void
{
// //자신정보정의
// $this->entity = $this->getModel()->getEntityByPK($uid);
// if ($this->entity === null) {
// throw new \Exception("{$uid} 정보를 찾을수 없습니다.");
// }
// //부모데이터정의
// $this->_zone_entity = $this->getZoneModel()->getEntityByPK($this->entity->getParent());
// //Socket처리
// $this->entity = $this->getMyLibrary()->sync($this->entity);
log_message("notice", "Record Trigger 작업완료");
}
public function trigger(mixed $uid): ResponseInterface
{
return $this->trigger_procedure($uid);
}
}