. */ declare(strict_types=1); namespace FireflyIII\Services\Internal\Update; use FireflyIII\Models\TransactionCurrency; /** * Class CurrencyUpdateService */ class CurrencyUpdateService { public function update(TransactionCurrency $currency, array $data): TransactionCurrency { if (array_key_exists('code', $data) && '' !== (string) $data['code']) { $currency->code = e($data['code']); } if (array_key_exists('symbol', $data) && '' !== (string) $data['symbol']) { $currency->symbol = e($data['symbol']); } if (array_key_exists('name', $data) && '' !== (string) $data['name']) { $currency->name = e($data['name']); } $currency->enabled = false; if (array_key_exists('decimal_places', $data) && is_int($data['decimal_places'])) { $currency->decimal_places = $data['decimal_places']; } $currency->userGroupEnabled = null; $currency->userGroupNative = null; $currency->save(); return $currency; } }