<?php

namespace App\Events;

use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;

class UserTypingEvent implements ShouldBroadcast
{
	use Dispatchable, InteractsWithSockets, SerializesModels;
	
	public $userId;
	public $conversationId;
	public $adminId;
	
	public function __construct($userId, $conversationId, $adminId)
	{
		$this->userId = $userId;
		$this->conversationId = $conversationId;
		$this->adminId = $adminId;
	}
	
	public function broadcastOn()
	{
		return new PrivateChannel('chat.admin.' . $this->adminId);
	}
}