NodeActions.php 741 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Events;
  3. use Illuminate\Broadcasting\Channel;
  4. use Illuminate\Broadcasting\InteractsWithSockets;
  5. use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
  6. use Illuminate\Foundation\Events\Dispatchable;
  7. use Illuminate\Queue\SerializesModels;
  8. class NodeActions implements ShouldBroadcastNow
  9. {
  10. use Dispatchable, InteractsWithSockets, SerializesModels;
  11. public function __construct(
  12. public string $type,
  13. public array $data = [],
  14. public ?int $nodeId = null
  15. ) {
  16. }
  17. public function broadcastOn(): Channel
  18. {
  19. return new Channel('node.'.$this->type.'.'.($this->nodeId ?? 'all'));
  20. }
  21. public function broadcastAs(): string
  22. {
  23. return 'node.actions';
  24. }
  25. }