mirror of
https://github.com/pacnpal/thrillwiki_laravel.git
synced 2025-12-20 09:11:10 -05:00
37 lines
782 B
PHP
37 lines
782 B
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
enum UserRole: string
|
|
{
|
|
case USER = 'USER';
|
|
case MODERATOR = 'MODERATOR';
|
|
case ADMIN = 'ADMIN';
|
|
case SUPERUSER = 'SUPERUSER';
|
|
|
|
public function label(): string
|
|
{
|
|
return match($this) {
|
|
self::USER => 'User',
|
|
self::MODERATOR => 'Moderator',
|
|
self::ADMIN => 'Admin',
|
|
self::SUPERUSER => 'Superuser',
|
|
};
|
|
}
|
|
|
|
public function canModerate(): bool
|
|
{
|
|
return match($this) {
|
|
self::MODERATOR, self::ADMIN, self::SUPERUSER => true,
|
|
default => false,
|
|
};
|
|
}
|
|
|
|
public function canAdmin(): bool
|
|
{
|
|
return match($this) {
|
|
self::ADMIN, self::SUPERUSER => true,
|
|
default => false,
|
|
};
|
|
}
|
|
} |