client) { $transformer = new ClientTransformer($this->account, $this->serializer); return $this->includeItem($task->client, $transformer, 'client'); } else { return null; } } public function includeProject(Task $task) { if ($task->project) { $transformer = new ProjectTransformer($this->account, $this->serializer); return $this->includeItem($task->project, $transformer, 'project'); } else { return null; } } public function transform(Task $task) { return array_merge($this->getDefaults($task), [ 'id' => (int) $task->public_id, 'description' => $task->description ?: '', 'duration' => $task->getDuration() ?: 0, 'updated_at' => (int) $this->getTimestamp($task->updated_at), 'archived_at' => (int) $this->getTimestamp($task->deleted_at), 'invoice_id' => $task->invoice ? (int) $task->invoice->public_id : 0, 'client_id' => $task->client ? (int) $task->client->public_id : 0, 'project_id' => $task->project ? (int) $task->project->public_id : 0, 'is_deleted' => (bool) $task->is_deleted, 'time_log' => $task->time_log ?: '', 'is_running' => (bool) $task->is_running, 'custom_value1' => $task->custom_value1 ?: '', 'custom_value2' => $task->custom_value2 ?: '', ]); } }