SendPersistentNotificationEvent.php 901 B

1234567891011121314151617181920212223242526272829303132333435
  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 SendPersistentNotificationEvent implements ShouldBroadcastNow
  9. {
  10. use Dispatchable, InteractsWithSockets, SerializesModels;
  11. public const CHANNEL = 'actions';
  12. public function __construct(
  13. private readonly int $userId,
  14. private readonly array $notificationPayload,
  15. ) {}
  16. public function broadcastOn(): Channel
  17. {
  18. return new Channel(self::CHANNEL);
  19. }
  20. public function broadcastWith(): array
  21. {
  22. return [
  23. 'action' => 'persistent_notification',
  24. 'user_id' => $this->userId,
  25. 'notification' => $this->notificationPayload,
  26. ];
  27. }
  28. }