entityManager->getRepository(AppSettings::class)->findOneBy([]); if (!$settings) { $settings = $this->createDefaultSettings(); } return $settings; } public function updateSettings(AppSettings $newSettings): void { $settings = $this->entityManager->getRepository(AppSettings::class)->findOneBy([]); if (!$settings) { $settings = new AppSettings(); } $settings->setMangaDirectory($newSettings->getMangaDirectory()); $settings->setImageDirectory($newSettings->getImageDirectory()); $this->entityManager->persist($settings); $this->entityManager->flush(); } private function createDefaultSettings(): AppSettings { $settings = new AppSettings(); $settings->setMangaDirectory(self::DEFAULT_MANGA_DIRECTORY); $settings->setImageDirectory(self::DEFAULT_IMAGE_DIRECTORY); $this->entityManager->persist($settings); $this->entityManager->flush(); return $settings; } }