visibleTo($user) ->whereKey($team->getKey()) ->exists(); } public function create(User $user): bool { return $user->hasVerifiedEmail(); } public function manage(User $user, Team $team): bool { $membership = $team->members()->whereKey($user->id)->first(); if (! $membership) { return false; } return ($membership->pivot->role === TeamMemberRole::Admin) || ($membership->pivot->role === TeamMemberRole::Owner); } public function delete(User $user, Team $team): bool { $membership = $team->members()->whereKey($user->id)->first(); if (! $membership) { return false; } return $membership->pivot->role === TeamMemberRole::Owner; } }