47 lines
1.4 KiB
PHP
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,
|
|
]
|
|
]
|
|
]
|
|
];
|
|
}
|
|
} |