| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- namespace App\Events;
- use Illuminate\Broadcasting\Channel;
- use Illuminate\Broadcasting\InteractsWithSockets;
- use Illuminate\Broadcasting\PresenceChannel;
- use Illuminate\Broadcasting\PrivateChannel;
- use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
- use Illuminate\Foundation\Events\Dispatchable;
- use Illuminate\Queue\SerializesModels;
- class ExportFailed implements ShouldBroadcast
- {
- use Dispatchable, InteractsWithSockets, SerializesModels;
- public $userId;
- public $errorMessage;
- public $message;
- /**
- * Create a new event instance.
- */
- public function __construct($userId, $errorMessage)
- {
- $this->userId = $userId;
- $this->errorMessage = $errorMessage;
- $this->message = 'Export fallito. Riprova o contatta il supporto.';
- }
- /**
- * Get the channels the event should broadcast on.
- */
- public function broadcastOn()
- {
- return new PrivateChannel('exports.' . $this->userId);
- }
- /**
- * Get the data to broadcast.
- */
- public function broadcastWith()
- {
- return [
- 'type' => 'export_failed',
- 'message' => $this->message,
- 'error' => $this->errorMessage,
- 'timestamp' => now()->toISOString()
- ];
- }
- /**
- * The event's broadcast name.
- */
- public function broadcastAs()
- {
- return 'export.failed';
- }
- }
|