dealhub/app/Enums/UserTypes.php
kusowl ed914b531d feature(auth): add columns to users table
- add extra columns in users table
- add traits for enum values as array
- refactor enums to specific namespace
2026-01-08 19:10:15 +05:30

33 lines
726 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;});
}
}