*/ final class UpdateSettings implements Action { /** * @param \App\Actions\Settings\UpdateSettingsInput $input */ #[\Override] public function __invoke(ActionInput $input): Setting { Assert::isInstanceOf($input, UpdateSettingsInput::class); $setting = Setting::getSingleton(); $setting->fill([ 'employee_sites' => array_values( array_map( static fn (ShopperSiteCode $siteCode): string => $siteCode->value, $input->employeeSites ) ), ]); $setting->saveOrFail(); return $setting; } }