File: D:/HostingSpaces/SBogers10/shop.komma.nl/vendor/komma/kms/src/Users/RoleTrait.php
<?php declare(strict_types=1);
namespace Komma\KMS\Users;
use Illuminate\Database\Eloquent\Model;
use Komma\KMS\Users\Models\KmsUserRole;
/**
* Trait RoleTrait
*
* @package Komma\KMS\Users
* @mixin Model
*/
trait RoleTrait
{
/**
* Checks if the user is at least a certain role
*
* @param int $role
* @return bool
* @see KmsUserRole
*/
public function isAtLeast(int $role = null): bool
{
if(!$role) return true;
if(!KmsUserRole::isValidItem($role)) throw new \InvalidArgumentException('The given role is not valid.');
return ($this->role && $this->role <= $role);
}
/**
* @param int $role
* @return \Illuminate\Database\Eloquent\Builder
*/
public static function whereRoleIsAtLeast(int $role)
{
return self::query()->where('role', '<=', $role);
}
}