alerta = $alerta; } /** * Canal público para todos los usuarios */ public function broadcastOn(): Channel { return new Channel('alertas-robos'); } /** * Nombre del evento en el frontend */ public function broadcastAs(): string { return 'vehiculo.robado.detectado'; } /** * Datos que se envían al frontend */ public function broadcastWith(): array { return [ 'alerta_id' => $this->alerta->id, 'fast_id' => $this->alerta->fast_id, 'vin' => $this->alerta->vin, 'placa' => $this->alerta->placa, 'marca' => $this->alerta->marca, 'modelo' => $this->alerta->modelo, 'color' => $this->alerta->color, 'arco_id' => $this->alerta->arco_id, 'arco_nombre' => $this->alerta->arco_nombre, 'antena' => $this->alerta->antena, 'fecha_deteccion' => $this->alerta->fecha_deteccion->toIso8601String(), 'mensaje' => "🚨 VEHÍCULO ROBADO DETECTADO: {$this->alerta->placa} en {$this->alerta->arco_nombre}", ]; } }