mirror of
https://github.com/pelican-dev/panel.git
synced 2026-05-04 18:00:48 +03:00
30 lines
601 B
PHP
30 lines
601 B
PHP
<?php
|
|
|
|
namespace App\Policies;
|
|
|
|
use App\Models\BackupHost;
|
|
use App\Models\User;
|
|
|
|
class BackupHostPolicy
|
|
{
|
|
use DefaultAdminPolicies;
|
|
|
|
protected string $modelName = 'backupHost';
|
|
|
|
public function before(User $user, string $ability, string|BackupHost $backupHost): ?bool
|
|
{
|
|
// For "viewAny" the $backupHost param is the class name
|
|
if (is_string($backupHost)) {
|
|
return null;
|
|
}
|
|
|
|
foreach ($backupHost->nodes as $node) {
|
|
if (!$user->canTarget($node)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|