'Queued', self::Processing => 'Processing', self::Ready => 'Ready', self::Failed => 'Failed', }; } public function color(): string { return match ($this) { self::Pending => 'warning', self::Processing => 'info', self::Ready => 'success', self::Failed => 'danger', }; } public static function options(): array { return collect(self::cases()) ->mapWithKeys(fn (self $status): array => [$status->value => $status->label()]) ->all(); } }