HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/base.komma.pro/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);
    }
}