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 { $profileId = $this->currentAccountService->getCurrentAccount()->getProfileWithId($request->getAttribute('profileId'))->getId(); $responseBuilder->setJson(['bookmarks' => array_map(function (ProfileCommunityEQ $entity) { return $entity->toJSON(); }, $this->profileCommunitiesService->getBookmarksOfProfile($profileId))])->setStatusSuccess(); return $responseBuilder->build(); }
public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface { $themes = $this->themeService->getAllThemes(); $responseBuilder->setJson(['total' => count($themes), 'entities' => array_map(function (Theme $theme) { return $theme->toJSON(); }, $themes)])->setStatusSuccess(); 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 { $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) : 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 { $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) : 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 { $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 { $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 { $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 { $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) : 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 { $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 { $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 { $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 { $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 { $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 { 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 { $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 { $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'); $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 { $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(); }