protected function makeFeed(Source $source, ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { $request = $this->createFeedRequest($request); $entities = $this->feedService->getFeed($source, $request); $responseBuilder->setStatusSuccess()->setJson(['entities' => $entities]); return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $qp = $request->getQueryParams(); $options = ['profileId' => null, 'seek' => ['limit' => $request->getAttribute('limit'), 'offset' => $request->getAttribute('offset')], 'filter' => []]; if (isset($qp['profileId'])) { $options['profileId'] = (int) $qp['profileId']; } else { $options['profileId'] = $this->currentAccountService->getCurrentAccount()->getCurrentProfile()->getId(); } if (isset($qp['read'])) { $options['filter']['read'] = QueryBoolean::extract($qp['read']); } if (isset($qp['answer'])) { $options['filter']['answer'] = QueryBoolean::extract($qp['answer']); } $feedbackEntities = $this->feedbackService->getFeedbackEntities($options); $responseBuilder->setStatusSuccess()->setJson(['entities' => array_map(function (Feedback $feedback) { return $feedback->toJSON(); }, $feedbackEntities)]); } catch (ProfileNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } catch (SeekException $e) { $responseBuilder->setStatusBadRequest()->setError($e); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { $account = $this->currentAccountService->getCurrentAccount(); try { $profile = $this->profileService->createProfileForAccount($account); return $responseBuilder->setStatusSuccess()->setJson(['entity' => $profile->toJSON()])->build(); } catch (MaxProfilesReachedException $e) { throw new BadCommandCallException($e->getMessage()); } }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $profileId = (int) $request->getAttribute('profileId'); $profile = $this->profileService->getProfileById($profileId); return $responseBuilder->setStatusSuccess()->setJson(['entity' => $this->profileExtendedFormatter->format($profile)])->build(); } catch (ProfileNotFoundException $e) { return $responseBuilder->setStatusNotFound()->setError($e)->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 { $community = $this->communityService->getCommunityById($request->getAttribute('communityId')); $responseBuilder->setStatusSuccess()->setJson(['entity' => $this->communityFormatter->format($community)]); } catch (CommunityNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $this->feedbackService->deleteFeedback($request->getAttribute('feedbackId')); $responseBuilder->setStatusSuccess(); } catch (FeedbackNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e->getMessage()); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $collection = $this->collectionService->getCollectionById($request->getAttribute('collectionId')); $responseBuilder->setStatusSuccess()->setJson(['entity' => $collection->toJSON()]); } catch (CollectionNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } 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 { $feedback = $this->feedbackService->getFeedbackById($request->getAttribute('feedbackId')); $responseBuilder->setStatusSuccess()->setJson(['entity' => $feedback->toJSON()]); } catch (FeedbackNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } 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 { $account = $this->currentAccountService->getCurrentAccount(); try { $this->accountService->requestDelete($account); $responseBuilder->setStatusSuccess()->setJson(['date_account_delete_request' => $account->getDateAccountDeleteRequested()->format(\DateTime::RFC2822)]); } catch (AccountHasDeleteRequestException $e) { $responseBuilder->setStatusConflict()->setError($e); } return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { $currentProfile = $this->currentAccountService->getCurrentAccount()->getCurrentProfile(); try { $theme = $this->themeService->getThemeById($request->getAttribute('themeId')); $this->subscribeService->unSubscribeTheme($currentProfile, $theme); return $responseBuilder->setStatusSuccess()->build(); } catch (ThemeNotFoundException $e) { return $responseBuilder->setStatusNotFound()->build(); } }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { $currentProfile = $this->currentAccountService->getCurrentAccount()->getCurrentProfile(); try { $community = $this->communityService->getCommunityById($request->getAttribute('communityId')); $this->subscribeService->subscribeCommunity($currentProfile, $community); return $responseBuilder->setStatusSuccess()->build(); } catch (CommunityNotFoundException $e) { return $responseBuilder->setStatusNotFound()->build(); } }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { try { $this->feedbackService->markAsRead($request->getAttribute('feedbackId')); $responseBuilder->setStatusSuccess(); } catch (FeedbackNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } catch (FeedbackHasNoAnswerException $e) { $responseBuilder->setStatusConflict()->setError($e); } 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 { $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) : Response { try { $image = $this->profileService->uploadImage($request->getAttribute('profileId'), (new UploadImageRequest($request))->getParameters()); $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 { try { $this->collectionService->setPublicOptions($request->getAttribute('collectionId'), (new SetPublicOptionsRequest($request))->getParameters()); $responseBuilder->setStatusSuccess(); } catch (InvalidCollectionOptionsException $e) { $responseBuilder->setStatusConflict()->setError($e); } catch (CollectionNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } return $responseBuilder->build(); }
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 { $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 { 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 { /** @var Backdrop $backdrop */ $backdrop = $this->perform($request); $responseBuilder->setStatusSuccess()->setJson(['backdrop' => $backdrop->toJSON()]); } catch (ProfileNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } catch (BackdropUploadException $e) { $responseBuilder->setStatusConflict()->setError($e); } 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 = (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 { $communityId = $request->getAttribute('communityId'); $featureCode = $request->getAttribute('feature'); $community = $this->communityService->getCommunityById($communityId); $isActivated = $this->communityFeatureService->isFeatureActivated($featureCode, $community); $responseBuilder->setStatusSuccess()->setJson(['is_feature_activated' => $isActivated]); } catch (CommunityNotFoundException $e) { $responseBuilder->setStatusNotFound()->setError($e); } 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 { $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 { $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(); }