pelican-panel-mirror/app/Policies/Admin/DatabaseHostPolicy.php
MartinOscar 7c0d53c796
Use Policies rather then overriding can*() functions (#1837)
Co-authored-by: Boy132 <mail@boy132.de>
2025-12-07 14:53:13 -05:00

30 lines
618 B
PHP

<?php
namespace App\Policies\Admin;
use App\Models\DatabaseHost;
use App\Models\User;
class DatabaseHostPolicy
{
use DefaultPolicies;
protected string $modelName = 'databaseHost';
public function before(User $user, string $ability, string|DatabaseHost $databaseHost): ?bool
{
// For "viewAny" the $databaseHost param is the class name
if (is_string($databaseHost)) {
return null;
}
foreach ($databaseHost->nodes as $node) {
if (!$user->canTarget($node)) {
return false;
}
}
return null;
}
}