/**
  * Destroy the given team invitation.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  string  $teamId
  * @param  string  $inviteId
  * @return \Illuminate\Http\Response
  */
 public function destroyTeamInvitationForOwner(Request $request, $teamId, $inviteId)
 {
     $user = $request->user();
     $team = $user->teams()->where('owner_id', $user->id)->findOrFail($teamId);
     $team->invitations()->where('id', $inviteId)->delete();
     return $this->teams->getTeam($user, $teamId);
 }
 /**
  * Destroy the given team.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  string  $teamId
  * @return \Illuminate\Http\Response
  */
 public function destroy(Request $request, $teamId)
 {
     $user = $request->user();
     $team = $request->user()->teams()->where('owner_id', $user->id)->findOrFail($teamId);
     event(new DeletingTeam($team));
     $team->users()->where('current_team_id', $team->id)->update(['current_team_id' => null]);
     $team->users()->detach();
     $team->delete();
     return $this->teams->getAllTeamsForUser($user);
 }
 /**
  * Handle a registration request for the application.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  bool  $withSubscription
  * @return \Illuminate\Http\Response
  */
 protected function handleRegistration(Request $request, $withSubscription = false)
 {
     $this->validateRegistration($request, $withSubscription);
     $user = $this->users->createUserFromRegistrationRequest($request, $withSubscription);
     if ($request->team_name) {
         $team = $this->teams->create($user, ['name' => $request->team_name]);
         event(new TeamCreated($team));
     }
     if ($request->invitation) {
         $this->teams->attachUserToTeamByInvitation($request->invitation, $user);
     }
     event(new Registered($user));
     if ($withSubscription) {
         event(new Subscribed($user));
     }
     Auth::login($user);
     return response()->json(['path' => $this->redirectPath()]);
 }
 /**
  * Get all of the pending invitations for the user.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function getPendingInvitationsForUser(Request $request)
 {
     return $this->teams->getPendingInvitationsForUser($request->user());
 }