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
 {
     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 {
         $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();
 }
Beispiel #4
0
 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
 {
     try {
         $communityId = $request->getAttribute('communityId');
         $featureCode = $request->getAttribute('feature');
         $community = $this->communityService->getCommunityById($communityId);
         $this->communityFeatureService->activateFeature($featureCode, $community);
         $responseBuilder->setStatusSuccess();
     } catch (FeatureIsActivatedException $e) {
         $responseBuilder->setStatusConflict()->setError($e);
     } catch (CommunityNotFoundException $e) {
         $responseBuilder->setStatusNotFound()->setError($e);
     }
     return $responseBuilder->build();
 }
Beispiel #6
0
 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(), $profile);
         $this->profileService->deleteProfile($profileId);
         $responseBuilder->setStatusSuccess()->setJson(['current_profile_id' => $this->currentAccountService->getCurrentAccount()->getCurrentProfile()->getId()]);
     } catch (LastProfileException $e) {
         $responseBuilder->setStatusConflict()->setError($e);
     } catch (ProfileNotFoundException $e) {
         $responseBuilder->setStatusNotFound()->setError($e);
     }
     return $responseBuilder->build();
 }
Beispiel #7
0
 public function run(ServerRequestInterface $request, ResponseBuilder $responseBuilder) : ResponseInterface
 {
     try {
         $request = new SignUpRequest($request);
         $account = $this->authService->signUp($request->getParameters());
         $frontline = $this->frontlineService->fetch(new IncludeFilter([FrontlineScript::TAG_IS_AUTHENTICATED]));
         $responseBuilder->setStatusSuccess()->setJson($this->signInFormatter->format($account, $frontline));
     } catch (MissingRequiredFieldException $e) {
         $responseBuilder->setStatusNotFound()->setError($e);
     } catch (DuplicateAccountException $e) {
         $responseBuilder->setStatusConflict()->setError($e);
     } catch (ValidationException $e) {
         $responseBuilder->setStatusBadRequest()->setError($e);
     }
     return $responseBuilder->build();
 }