<?php namespace core\services; use core\entities\Settings; use core\forms\SettingsForm; use core\repositories\SettingsRepository; class SettingsService { private $repository; public function __construct(SettingsRepository $repository) { $this->repository = $repository; } public function create(SettingsForm $form): Settings { $settings = Settings::create( $form->type, $form->section, $form->key, $form->value, $form->active ); $this->repository->save($settings); return $settings; } public function edit($id, SettingsForm $form): void { $settings = $this->repository->get($id); $settings->edit( $form->type, $form->section, $form->key, $form->value, $form->active ); $this->repository->save($settings); } public function remove($id): void { $settings = $this->repository->get($id); $this->repository->remove($settings); } }