/**
  * Registers a new admin into the system.
  *
  * @param Request $request
  *
  * @return Response
  */
 public function registerAdministrator(Request $request)
 {
     $data = $request->all();
     // TODO: Validate the data.
     $user = $this->usersRepository->addUser($data['email'], $data['name'], $data['password']);
     $admin = $this->administratorsRepository->addAdministrator($user, $user->name);
     return ['administrator' => $admin->toArray()];
 }
 /**
  * Updates a Ranking into
  * the provided tournament.
  *
  * @param int $adminID
  * @param int $rankingID
  * @param int $score
  * @param int $tournamentID
  * @param int $playerID
  *
  * @return Ranking
  */
 public function updateRanking($adminID, $rankingID, $score = 0, $tournamentID = null, $playerID = null)
 {
     $admin = $this->administratorsRepository->get($adminID);
     $player = null;
     $tournament = null;
     if ($playerID) {
         $player = $this->playersRepo->getPlayer($playerID);
     }
     if ($tournamentID) {
         $tournament = $this->tournamentsRepo->getTournament($tournamentID);
     }
     return $this->repo->updateRanking($admin, $rankingID, $score, $tournament, $player);
 }
 /**
  * Gets the logged admin.
  *
  * @throws Illuminate\Database\Eloquent\ModelNotFoundException
  *
  * @return Administrator
  */
 public function getLogged()
 {
     $user = \Auth::user();
     return $this->repo->getAdministrator($user);
 }