mangaRepository->findById($command->id); if (!$manga) { throw new MangaNotFoundException($command->id); } // Update only provided fields (partial update) if (null !== $command->title) { $manga->updateTitle(new MangaTitle($command->title)); } if (null !== $command->description) { $manga->updateDescription($command->description); } if (null !== $command->author) { $manga->updateAuthor($command->author); } if (null !== $command->publicationYear) { $manga->updatePublicationYear($command->publicationYear); } if (null !== $command->genres) { $manga->updateGenres($command->genres); } if (null !== $command->status) { $manga->updateStatus($command->status); } if (null !== $command->rating) { $manga->setRating($command->rating); } if (null !== $command->alternativeSlugs) { $manga->updateAlternativeSlugs($command->alternativeSlugs); } $this->mangaRepository->save($manga); } }