} public function login($request) { User::login($this->userRepository, $request["email"], $request["password"]); setJsonResponse(User::isAuthenticated()); } public function logout() { $this->verifyAuthenticated(); User::logout(); } public function getCurrent() { $this->verifyAuthenticated(); setJsonResponse(User::current()); } public function getBasketSummaryEntries() { $this->verifyAuthenticated(); $summaryEntries = $this->basketRepository->getSummaryForUser(User::current()->id); setJsonResponse($summaryEntries); } public function languages() { $languages = $this->languageRepository->getAll(); setJsonResponse($languages); } } $controllerFactory = new ControllerFactory(); $controllerFactory->resolveController()->invokeAction();