user; return [ 'id' => $this->id, 'imageUrl' => $this->imageUrl(), 'caption' => $this->caption, 'calories' => $this->calories, 'proteins' => $this->proteins, 'carbs' => $this->carbs, 'fats' => $this->fats, 'title' => $this->title, 'visibility' => $this->visibility, 'eatenAt' => $this->eaten_at, 'createdAt' => $this->created_at, 'updatedAt' => $this->updated_at, 'user' => [ 'name' => $user?->name, 'avatarUrl' => $user?->avatar_url ? asset(Storage::url($user->avatar_url)) : null, 'id' => $user->id, ], ]; } private function imageUrl(): ?string { if (! $this->image_url) { return null; } if (Str::startsWith($this->image_url, ['http://', 'https://'])) { return $this->image_url; } return asset(Storage::url($this->image_url)); } }