'pendiente', 'in_progress' => 'en progreso', 'completed' => 'completada', 'cancelled' => 'cancelada', ][$this->task->status] ?? $this->task->status; $oldLabel = [ 'pending' => 'pendiente', 'in_progress' => 'en progreso', 'completed' => 'completada', 'cancelled' => 'cancelada', ][$this->oldStatus] ?? $this->oldStatus; return [ 'type' => 'task_status_changed', 'task_id' => $this->task->id, 'project_id' => $this->task->project_id, 'old_status' => $this->oldStatus, 'new_status' => $this->task->status, 'message' => "La tarea '{$this->task->title}' cambió de {$oldLabel} a {$label}", ]; } public function broadcastOn(): array { $userIds = []; if ($this->task->assigned_to) $userIds[] = $this->task->assigned_to; if ($this->task->created_by) $userIds[] = $this->task->created_by; return array_map(fn ($id) => new \Illuminate\Broadcasting\PrivateChannel("user.{$id}"), array_unique($userIds)); } }