public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $image = $this->collectionService->generateImage($request->getAttribute('collectionId')); return $responseBuilder->setStatusSuccess()->setJson(['image' => $image->toJSON()])->build(); } catch (ImageServiceException $e) { $responseBuilder->setError($e)->setStatusConflict(); } catch (CollectionNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $image = $this->communityService->uploadCommunityImage($request->getAttribute('communityId'), (new UploadImageRequest($request))->getParameters()); $responseBuilder->setStatusSuccess()->setJson(['image' => $image->toJSON()]); } catch (ImageServiceException $e) { $responseBuilder->setError($e)->setStatusNotProcessable(); } catch (CommunityNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $collection = $this->collectionService->createCollection((new CreateCollectionRequest($request))->getParameters()); $responseBuilder->setStatusSuccess()->setJson(['entity' => $collection->toJSON()]); } catch (CommunityNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $parameters = (new SetPublicOptionsRequest($request))->getParameters(); $this->communityService->setPublicOptions($request->getAttribute('communityId'), $parameters); $responseBuilder->setStatusSuccess(); } catch (CommunityHasNoThemeException $e) { $responseBuilder->setError($e)->setStatusConflict(); } catch (CommunityNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { $collectionId = $request->getAttribute('collectionId'); try { $this->collectionService->deleteCollection($collectionId); $responseBuilder->setStatusSuccess(); } catch (CollectionIsProtectedException $e) { $responseBuilder->setError($e)->setStatusConflict(); } catch (CollectionNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = $request->getAttribute('profileId'); $communitySID = $request->getAttribute('communitySID'); $eq = $this->profileCommunitiesService->joinToCommunity($this->currentAccountService->getCurrentAccount()->getProfileWithId($profileId)->getId(), $communitySID); $responseBuilder->setStatusSuccess()->setJson(['entity' => $eq->toJSON()]); } catch (AlreadyJoinedException $e) { $responseBuilder->setError($e)->setStatusConflict(); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotAllowed(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = $request->getAttribute('profileId'); $parameters = (new SetBirthdayRequest($request))->getParameters(); $this->profileService->setBirthday($profileId, $parameters->getDate()); $responseBuilder->setStatusSuccess(); } catch (InvalidBirthdayException $e) { $responseBuilder->setError($e)->setStatusConflict(); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $feedback = $this->feedbackService->createFeedback((new CreateFeedbackRequest($request))->getParameters()); $responseBuilder->setStatusSuccess()->setJson(['entity' => $feedback->toJSON()]); } catch (InvalidFeedbackTypeException $e) { $responseBuilder->setError($e)->setStatusBadRequest(); } catch (EmptyDescriptionException $e) { $responseBuilder->setError($e)->setStatusBadRequest(); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $createPostParameters = (new CreatePostRequest($request))->getParameters(); $post = $this->postService->createPost($createPostParameters); $responseBuilder->setStatusSuccess()->setJson(['entity' => $this->postFormatter->format($post)]); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } catch (CollectionNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } catch (UnknownPostTypeException $e) { $responseBuilder->setError($e)->setStatusBadRequest(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $responseBuilder->setJson(['entity' => $this->themeService->getThemeById($request->getAttribute('themeId'))->toJSON()])->setStatusSuccess(); } catch (ThemeNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $url = $request->getQueryParams()['url'] ?? ''; $source = new ExternalSource($url); if (strpos($url, 'http') === false) { $url = 'http://' . $url; } $result = $this->fetchResourceService->fetchResource($url); $entity = $this->attachmentService->linkAttachment($url, '', '', $result, $source); $responseBuilder->setStatusSuccess()->setJson(['entity' => $entity->toJSON()]); } catch (InvalidURLException $e) { $responseBuilder->setError($e)->setStatusBadRequest(); } catch (NotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $responseBuilder->setJson(['entity' => $this->profileExtendedFormatter->format($this->profileService->getProfileBySID($request->getAttribute('sid')))])->setStatusSuccess(); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : Response { try { $gender = $this->profileService->setGender($request->getAttribute('profileId'), Gender::createFromStringCode((new SetGenderRequest($request))->getParameters()->getGenderStringCode())); $responseBuilder->setStatusSuccess()->setJson(['gender' => $gender->toJSON()]); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $this->themeService->deleteTheme($request->getAttribute('themeId')); $responseBuilder->setStatusSuccess(); } catch (ThemeNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $parameters = (new UpdateThemeRequest($request))->getParameters(); $themeEntity = $this->themeService->updateTheme((int) $request->getAttribute('themeId'), $parameters); $responseBuilder->setJson(['entity' => $themeEntity->toJSON()])->setStatusSuccess(); } catch (ThemeNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = $request->getAttribute('profileId'); $this->profileService->unsetBirthday($profileId); $responseBuilder->setStatusSuccess(); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $parameters = (new CreateThemeRequest($request))->getParameters(); $theme = $this->themeService->createTheme($parameters); $responseBuilder->setJson(['entity' => $theme->toJSON()])->setStatusSuccess(); } catch (ThemeWithThisIdExistsException $e) { $responseBuilder->setError($e)->setStatusConflict(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $image = $this->profileService->deleteProfileImage($request->getAttribute('profileId')); $responseBuilder->setStatusSuccess()->setJson(['image' => $image->toJSON()]); } catch (ImageServiceException $e) { $responseBuilder->setStatusNotProcessable()->setError($e); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = $request->getAttribute('profileId'); $communitySID = $request->getAttribute('communitySID'); $this->profileCommunitiesService->leaveCommunity($this->currentAccountService->getCurrentAccount()->getProfileWithId($profileId)->getId(), $communitySID); $responseBuilder->setStatusSuccess(); } catch (AlreadyLeavedException $e) { $responseBuilder->setError($e)->setStatusConflict(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { $account = $this->currentAccountService->getCurrentAccount(); $profileId = $request->getAttribute('profileId'); try { $this->accountService->switchToProfile($account, $profileId); $responseBuilder->setStatusSuccess()->setJson(['profile' => $account->getCurrentProfile()->toJSON()]); } catch (AccountNotContainsProfileException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = (int) $request->getAttribute('profileId'); $profile = $this->profileService->getProfileById($profileId); $this->validation->validateIsProfileOwnedByAccount($this->currentAccountService->getCurrentAccount(), $this->profileService->getProfileById($profileId)); $this->profileService->setInterestingInThemes($profileId, array_map('intval', (new InterestingInRequest($request))->getParameters()->getThemeIds())); $responseBuilder->setStatusSuccess()->setJson(['interesting_in_ids' => $profile->getInterestingInIds()]); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $account = $this->currentAccountService->getCurrentAccount(); $parameters = (new ChangePasswordRequest($request))->getParameters(); $newAPIKey = $this->accountService->changePassword($account, $parameters['old_password'], $parameters['new_password']); $this->authService->auth($account); $responseBuilder->setStatusSuccess()->setJson(['apiKey' => $newAPIKey]); } catch (InvalidOldPasswordException $e) { $responseBuilder->setError($e)->setStatusConflict(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = $request->getAttribute('profileId'); $this->validation->validateIsProfileOwnedByAccount($this->currentAccountService->getCurrentAccount(), $this->profileService->getProfileById($profileId)); $request = new EditPersonalRequest($request); $params = $request->getParameters(); $profile = $this->profileService->updatePersonalData($profileId, $params); $responseBuilder->setStatusSuccess()->setJson(['entity' => $profile->toJSON()]); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = (int) $request->getAttribute('profileId'); $this->validation->validateIsProfileOwnedByAccount($this->currentAccountService->getCurrentAccount(), $this->profileService->getProfileById($profileId)); $method = $request->getAttribute('method'); $parameters = (array) $this->getRequest($request, $method)->getParameters(); $profile = $this->profileService->setGreetings($profileId, Greetings::createFromMethod($method, $parameters)); $responseBuilder->setStatusSuccess()->setJson(['greetings' => $profile->getGreetings()->toJSON()]); } catch (ProfileNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $themeId = (int) $request->getAttribute('themeId'); $parentThemeId = (int) $request->getAttribute('parentThemeId'); $position = (int) $request->getAttribute('position'); if ($parentThemeId == 0 || $parentThemeId == 'null') { $parentThemeId = null; } if ($position === "last") { $position = SerialManager::POSITION_LAST; } else { if ($position === "first") { $position = 1; } } $theme = $this->themeService->moveTheme($themeId, $parentThemeId, $position); $responseBuilder->setJson(['entity' => $theme->toJSON()])->setStatusSuccess(); } catch (ThemeNotFoundException $e) { $responseBuilder->setError($e)->setStatusNotFound(); } return $responseBuilder->build(); }