ldc-supportweb/app/Policies/Rules/UserRoleRules.php
2022-05-31 17:37:37 +02:00

67 lines
1.2 KiB
PHP

<?php
namespace App\Policies\Rules;
use App\Enums\Role;
use App\Models\User;
use Kwaadpepper\CrudPolicies\Policies\Rules\StaticRules;
/**
* User Policiy Static Rules
* ! Rules has to return boolean value
*/
abstract class UserRoleRules extends StaticRules
{
/**
* User is admin
*
* @param User $user
* @return boolean
*/
protected static function userIsAdmin(User $user): bool
{
return $user->isAdmin();
}
/**
* User Is Dev
*
* @param User $user
* @return boolean
*/
protected static function userIsDev(User $user): bool
{
return $user->role->equals(Role::developper());
}
/**
* User Is Client
*
* @param User $user
* @return boolean
*/
protected static function userIsClient(User $user): bool
{
return $user->role->equals(Role::client());
}
/**
* Allow every one
*
* @return boolean
*/
protected static function allowEveryOne(): bool
{
return true;
}
/**
* Deny everyone
*
* @return boolean
*/
protected static function denyEveryOne(): bool
{
return false;
}
}