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();
 }
Beispiel #3
0
 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();
 }
Beispiel #5
0
 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();
 }
Beispiel #6
0
 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();
 }
Beispiel #8
0
 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();
 }
Beispiel #9
0
 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();
 }
Beispiel #10
0
 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();
 }
Beispiel #11
0
 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();
 }
Beispiel #12
0
 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();
 }
Beispiel #13
0
 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();
 }
Beispiel #14
0
 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();
 }
Beispiel #15
0
 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();
 }
Beispiel #17
0
 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();
 }
Beispiel #19
0
 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();
 }
Beispiel #25
0
 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();
 }