ldc-supportweb/app/Policies/Rules/UserRoleRules.php

68 lines
1.2 KiB
PHP
Raw Permalink Normal View History

<?php
namespace App\Policies\Rules;
use App\Enums\Role;
use App\Models\User;
use Kwaadpepper\CrudPolicies\Policies\Rules\StaticRules;
/**
2022-05-31 14:06:07 +02:00
* User Policiy Static Rules
2022-03-29 16:57:54 +02:00
* ! Rules has to return boolean value
*/
abstract class UserRoleRules extends StaticRules
{
2022-05-31 14:06:07 +02:00
/**
* User is admin
*
* @param User $user
* @return boolean
*/
protected static function userIsAdmin(User $user): bool
{
2021-07-23 11:04:09 +02:00
return $user->isAdmin();
}
2022-05-31 14:06:07 +02:00
/**
* User Is Dev
*
* @param User $user
* @return boolean
*/
protected static function userIsDev(User $user): bool
{
return $user->role->equals(Role::developper());
}
2022-05-31 14:06:07 +02:00
/**
* User Is Client
*
* @param User $user
* @return boolean
*/
protected static function userIsClient(User $user): bool
2021-09-29 13:09:35 +02:00
{
return $user->role->equals(Role::client());
}
2022-05-31 14:06:07 +02:00
/**
* Allow every one
*
* @return boolean
*/
protected static function allowEveryOne(): bool
{
return true;
}
2022-05-31 14:06:07 +02:00
/**
* Deny everyone
*
* @return boolean
*/
protected static function denyEveryOne(): bool
{
return false;
}
}