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(); }
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(); }
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(); }
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(); }