. */ namespace SP\Modules\Web\Controllers\Items; use SP\Core\Application; use SP\Domain\Client\Ports\ClientService; use SP\Domain\Core\Exceptions\ConstraintException; use SP\Domain\Core\Exceptions\QueryException; use SP\Domain\Core\Exceptions\SPException; use SP\Domain\Http\Services\JsonResponse; use SP\Modules\Web\Controllers\SimpleControllerBase; use SP\Mvc\Controller\SimpleControllerHelper; use SP\Mvc\View\Components\SelectItemAdapter; /** * Class ClientsController */ final class ClientsController extends SimpleControllerBase { private ClientService $clientService; public function __construct( Application $application, SimpleControllerHelper $simpleControllerHelper, ClientService $clientService ) { parent::__construct($application, $simpleControllerHelper); $this->checks(); $this->clientService = $clientService; } /** * @throws ConstraintException * @throws QueryException * @throws SPException */ public function clientsAction(): void { JsonResponse::factory($this->router->response()) ->sendRaw( SelectItemAdapter::factory($this->clientService->getAllForUser())->getJsonItemsFromModel() ); } }