2024-10-21 22:23:20 -05:00
|
|
|
<?php
|
|
|
|
|
|
2025-01-28 17:33:54 -06:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
2024-10-21 22:23:20 -05:00
|
|
|
namespace App\Policies;
|
|
|
|
|
|
|
|
|
|
use App\Models\Portfolio;
|
2025-01-28 17:14:49 -06:00
|
|
|
use App\Models\User;
|
2024-10-21 22:23:20 -05:00
|
|
|
|
|
|
|
|
class PortfolioPolicy
|
|
|
|
|
{
|
|
|
|
|
public function readOnly(User $user, Portfolio $portfolio)
|
|
|
|
|
{
|
|
|
|
|
$pivot = $portfolio->users()->where('user_id', $user->id)->first();
|
|
|
|
|
|
2025-01-28 17:14:49 -06:00
|
|
|
return (bool) $pivot;
|
2024-10-21 22:23:20 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function fullAccess(User $user, Portfolio $portfolio)
|
|
|
|
|
{
|
|
|
|
|
$pivot = $portfolio->users()->where('user_id', $user->id)->first();
|
|
|
|
|
|
|
|
|
|
return $pivot && ($pivot->pivot->full_access || $pivot->pivot->owner);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function owner(User $user, Portfolio $portfolio)
|
|
|
|
|
{
|
|
|
|
|
$pivot = $portfolio->users()->where('user_id', $user->id)->first();
|
|
|
|
|
|
|
|
|
|
return $pivot && $pivot->pivot->owner;
|
|
|
|
|
}
|
|
|
|
|
}
|