| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- namespace App\Events;
- use App\Enums\Status;
- use App\Models\Message;
- use Illuminate\Broadcasting\InteractsWithSockets;
- use Illuminate\Broadcasting\PrivateChannel;
- use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
- //use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
- use Illuminate\Foundation\Events\Dispatchable;
- use Illuminate\Queue\SerializesModels;
- //class Streaming implements ShouldBroadcast
- class Streaming implements ShouldBroadcastNow
- {
- use Dispatchable, InteractsWithSockets, SerializesModels;
- public readonly string $chunk;
- public readonly int $index;
- public readonly Status $status;
- /**
- * Create a new event instance.
- */
- public function __construct(private readonly Message $message, int $index, string $chunk, Status $status)
- {
- $this->index = $index;
- $this->chunk = $chunk;
- $this->status = $status;
- }
- /**
- * Get the channels the event should broadcast on.
- *
- * @return array<int, \Illuminate\Broadcasting\Channel>
- */
- public function broadcastOn(): array
- {
- return [new PrivateChannel('App.Models.Message.' . $this->message->id)];
- }
- public function broadcastAs(): string
- {
- return 'Streaming';
- }
- }
|