. */ namespace SP\Modules\Web\Controllers\Client; use SP\Core\Application; use SP\Domain\Auth\Services\AuthException; use SP\Domain\Client\Ports\ClientService; use SP\Domain\Core\Exceptions\SessionTimeout; use SP\Domain\CustomField\Ports\CustomFieldDataService; use SP\Modules\Web\Controllers\ControllerBase; use SP\Modules\Web\Forms\ClientForm; use SP\Mvc\Controller\WebControllerHelper; /** * Class ClientSaveBase */ abstract class ClientSaveBase extends ControllerBase { protected readonly ClientForm $form; /** * @throws AuthException * @throws SessionTimeout */ public function __construct( Application $application, WebControllerHelper $webControllerHelper, protected readonly ClientService $clientService, protected readonly CustomFieldDataService $customFieldService ) { parent::__construct($application, $webControllerHelper); $this->checkLoggedIn(); $this->form = new ClientForm($application, $this->request); } }