dealhub/app/Enums/UserTypes.php
2026-01-13 15:11:38 +05:30

35 lines
749 B
PHP

<?php
namespace App\Enums;
use App\Traits\EnumAsArray;
enum UserTypes: string
{
use EnumAsArray;
case Admin = 'admin';
case User = 'user';
case Broker = 'broker';
public function label(): string
{
return match ($this) {
UserTypes::Broker => 'Broker (Posts deals)',
UserTypes::User => 'User (Browse deals)',
self::Admin => 'Admin',
};
}
public static function labels(): array
{
$labels = array_map(function ($enum) {
return ['value' => $enum->value, 'label' => $enum->label()];
}, self::cases());
return array_filter($labels, function ($kv) {
return $kv['value'] !== self::Admin->value;
});
}
}