/** * Accept the given team invitation. * * @param \Illuminate\Http\Request $request * @param string $inviteId * @return \Illuminate\Http\Response */ public function acceptTeamInvitation(Request $request, $inviteId) { $user = $request->user(); $invitation = $user->invitations()->findOrFail($inviteId); $user->joinTeamById($invitation->team_id); $invitation->delete(); return $this->teams->getAllTeamsForUser($user); }
/** * 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); }
/** * Get all of the teams for the user. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function getAllTeamsForUser(Request $request) { return $this->teams->getAllTeamsForUser($request->user()); }