40 lines
894 B
PHP
40 lines
894 B
PHP
<?php
|
|
|
|
namespace App\Lib\Events;
|
|
|
|
use App\Lib\JobMiddleware\JobChannels;
|
|
use Illuminate\Broadcasting\Channel;
|
|
use Illuminate\Broadcasting\InteractsWithSockets;
|
|
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
|
|
use Illuminate\Foundation\Events\Dispatchable;
|
|
use Illuminate\Queue\SerializesModels;
|
|
|
|
class ReloadTriggered implements ShouldBroadcastNow
|
|
{
|
|
use Dispatchable, InteractsWithSockets, SerializesModels;
|
|
|
|
final private function __construct(public JobChannels $channels)
|
|
{
|
|
}
|
|
|
|
public static function on(JobChannels $channels): self
|
|
{
|
|
return new static($channels);
|
|
}
|
|
|
|
public function dispatch(): void
|
|
{
|
|
event($this);
|
|
}
|
|
|
|
/**
|
|
* Get the channels the event should broadcast on.
|
|
*
|
|
* @return array<int, Channel>
|
|
*/
|
|
public function broadcastOn()
|
|
{
|
|
return $this->channels->toBroadcast();
|
|
}
|
|
}
|