public function addInvitation() { $data = $this->getJsonRequest(); try { $entity = $this->team_manager->sendInvitation($data, new TeamInvitationEmailSender($this->invitation_repository)); return $this->created($entity->getIdentifier()); } catch (NotFoundEntityException $ex1) { SS_Log::log($ex1, SS_Log::NOTICE); return $this->notFound($ex1->getMessage()); } catch (EntityValidationException $ex2) { SS_Log::log($ex2, SS_Log::NOTICE); return $this->validationError($ex2->getMessages()); } catch (TeamMemberAlreadyExistsException $ex3) { SS_Log::log($ex3, SS_Log::NOTICE); return $this->validationError(array(array('attribute' => 'error', 'message' => $ex3->getMessage()))); } catch (MemberNotSignedCCLAException $ex4) { SS_Log::log($ex4, SS_Log::NOTICE); return $this->validationError(array(array('attribute' => 'error', 'message' => $ex4->getMessage()))); } catch (Exception $ex) { SS_Log::log($ex, SS_Log::ERR); return $this->serverError(); } if (!$data) { return $this->serverError(); } }