ldc-dam/app/Policies/Rules/UserStaticRules.php
2026-06-04 17:17:38 +02:00

47 lines
907 B
PHP

<?php
namespace App\Policies\Rules;
use App\Enums\Users\RoleEnum;
use Illuminate\Database\Eloquent\Model;
/**
* Userlevel Policiy Static Rules
*
* @codeCoverageIgnore
*/
abstract class UserStaticRules
{
/**
* Allow everyone.
*
* @return boolean
*/
public static function everyOne(): bool
{
return true;
}
/**
* Allow no one.
*
* @return boolean
*/
public static function noOne(): bool
{
return false;
}
/**
* At least a minimum role
*
* @param \Illuminate\Database\Eloquent\Model $authModel
* @param \App\Enums\Users\RoleEnum $minRole
* @return boolean
*/
public static function atLeastRole(Model $authModel, RoleEnum $minRole): bool
{
// phpcs:enable
return isset($authModel->role) && $authModel->role->value() <= $minRole->value();
}
}