. */ declare(strict_types=1); namespace FireflyIII\Services\Internal\Update; use FireflyIII\Models\TransactionCurrency; /** * Class CurrencyUpdateService * */ 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 = 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']); } if (array_key_exists('enabled', $data) && is_bool($data['enabled'])) { $currency->enabled = (bool)$data['enabled']; } if (array_key_exists('decimal_places', $data) && is_int($data['decimal_places'])) { $currency->decimal_places = (int)$data['decimal_places']; } $currency->save(); return $currency; } }