Files
sprawozdania/project/src/Enum/UserPermission.php
T

47 lines
1.4 KiB
PHP

<?php
namespace App\Enum;
enum UserPermission : string
{
case ADMIN = 'ROLE_ADMIN';
case USER = 'ROLE_USER';
case ALL = 'ROLE_ACCESS_ALL';
case CLIENT_ADD = 'ROLE_CLIENT_ADD';
case CLIENT_VIEW = 'ROLE_CLIENT_VIEW';
case CLIENT_DELETE = 'ROLE_CLIENT_DELETE';
case REPORT_VIEW = 'ROLE_REPORT_VIEW';
case REPORT_EDIT = 'ROLE_REPORT_EDIT';
public function takeLang(): string
{
return match ($this) {
self::ADMIN => 'Admin',
self::USER => 'Zalogowany',
self::ALL => 'Pełny dostęp',
self::CLIENT_ADD => 'Dodawanie klienta',
self::CLIENT_VIEW => 'Wyświetlanie klienta',
self::CLIENT_DELETE => 'Usuwanie klientów',
self::REPORT_VIEW => 'Wyświetlanie sprawozdań',
self::REPORT_EDIT => 'Edycja sprawozdań',
};
}
public static function casesGroup() : array
{
return [
'case' => UserPermission::ADMIN,
'children' => [
[
'case' => UserPermission::ALL,
'children' => [
UserPermission::CLIENT_ADD,
UserPermission::CLIENT_VIEW,
UserPermission::CLIENT_DELETE,
UserPermission::REPORT_VIEW,
UserPermission::REPORT_EDIT,
]
]
]
];
}
}