<?php

namespace App\Controllers\Admin\Equipment;

use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;

use App\Helpers\Equipment\CodeHelper;
use App\Services\Equipment\CodeService;

class CodeController extends EquipmentController
{
  public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
  {
    parent::initController($request, $response, $logger);
    $this->content_title = lang("{$this->getService()->getClassName()}.title");
    $this->class_path .= $this->getService()->getClassName();
    $this->uri_path .= strtolower($this->getService()->getClassName('/')) . '/';
    // $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR;

  }
  public function getService(): CodeService
  {
    if (!$this->_service) {
      $this->_service = new CodeService($this->request);
    }
    return $this->_service;
  }
  public function getHelper(): CodeHelper
  {
    if (!$this->_helper) {
      $this->_helper = new CodeHelper($this->request);
    }
    return $this->_helper;
  }
  //Index,FieldForm관련
  protected function setOrderByForList(): void
  {
    //OrderBy 처리
    $this->getService()->getModel()->orderBy('code', 'ASC', false);
    parent::setOrderByForList();
  }
}
