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