teams->contains('id', $team->id); } /** * Determine whether the user can create models. */ public function create(User $user): bool { // All authenticated users can create teams return true; } /** * Determine whether the user can update the model. */ public function update(User $user, Team $team): bool { if (! $user->teams->contains('id', $team->id)) { return false; } return $user->isAdminOfTeam($team->id); } /** * Determine whether the user can delete the model. */ public function delete(User $user, Team $team): bool { if (! $user->teams->contains('id', $team->id)) { return false; } return $user->isAdminOfTeam($team->id); } /** * Determine whether the user can manage team members. */ public function manageMembers(User $user, Team $team): bool { if (! $user->teams->contains('id', $team->id)) { return false; } return $user->isAdminOfTeam($team->id); } /** * Determine whether the user can view admin panel. */ public function viewAdmin(User $user, Team $team): bool { if (! $user->teams->contains('id', $team->id)) { return false; } return $user->isAdminOfTeam($team->id); } /** * Determine whether the user can manage invitations. */ public function manageInvitations(User $user, Team $team): bool { if (! $user->teams->contains('id', $team->id)) { return false; } return $user->isAdminOfTeam($team->id); } }