Files
ots/app/Policies/TeamPolicy.php
T
Twyco 6220a26852
CI/CD / test_and_check_app (push) Failing after 2m15s
CI/CD / Publish immutable image (push) Skipped
added teams
2026-09-11 02:28:44 +02:00

34 lines
690 B
PHP

<?php
namespace App\Policies;
use App\Enums\TeamMemberRole;
use App\Models\Team;
use App\Models\User;
class TeamPolicy
{
public function view(User $user, Team $team): bool
{
return Team::query()
->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;
}
}