39 lines
848 B
PHP
39 lines
848 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Modules\RestaurantDelivery\Enums;
|
|
|
|
enum RiderStatus: string
|
|
{
|
|
case PENDING = 'pending';
|
|
case ACTIVE = 'active';
|
|
case SUSPENDED = 'suspended';
|
|
case INACTIVE = 'inactive';
|
|
|
|
public function label(): string
|
|
{
|
|
return match ($this) {
|
|
self::PENDING => 'Pending Verification',
|
|
self::ACTIVE => 'Active',
|
|
self::SUSPENDED => 'Suspended',
|
|
self::INACTIVE => 'Inactive',
|
|
};
|
|
}
|
|
|
|
public function color(): string
|
|
{
|
|
return match ($this) {
|
|
self::PENDING => '#F59E0B',
|
|
self::ACTIVE => '#10B981',
|
|
self::SUSPENDED => '#EF4444',
|
|
self::INACTIVE => '#6B7280',
|
|
};
|
|
}
|
|
|
|
public function canAcceptOrders(): bool
|
|
{
|
|
return $this === self::ACTIVE;
|
|
}
|
|
}
|