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