. */ 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']); } $currency->enabled = false; if (array_key_exists('decimal_places', $data) && is_int($data['decimal_places'])) { $currency->decimal_places = $data['decimal_places']; } $currency->userEnabled = null; $currency->userDefault = null; $currency->save(); return $currency; } }