diff --git a/app/Api/V1/Requests/AccountStoreRequest.php b/app/Api/V1/Requests/AccountStoreRequest.php index 39b4e44039..7dc729c0e1 100644 --- a/app/Api/V1/Requests/AccountStoreRequest.php +++ b/app/Api/V1/Requests/AccountStoreRequest.php @@ -46,6 +46,53 @@ class AccountStoreRequest extends Request return auth()->check(); } + /** + * @return array + */ + public function getAllAccountData(): array + { + $active = true; + $includeNetWorth = true; + if (null !== $this->get('active')) { + $active = $this->boolean('active'); + } + if (null !== $this->get('include_net_worth')) { + $includeNetWorth = $this->boolean('include_net_worth'); + } + $data = [ + 'name' => $this->string('name'), + 'active' => $active, + 'include_net_worth' => $includeNetWorth, + 'account_type' => $this->string('type'), + 'account_type_id' => null, + 'currency_id' => $this->integer('currency_id'), + 'currency_code' => $this->string('currency_code'), + 'virtual_balance' => $this->string('virtual_balance'), + 'iban' => $this->string('iban'), + 'BIC' => $this->string('bic'), + 'account_number' => $this->string('account_number'), + 'account_role' => $this->string('account_role'), + 'opening_balance' => $this->string('opening_balance'), + 'opening_balance_date' => $this->date('opening_balance_date'), + 'cc_type' => $this->string('credit_card_type'), + 'cc_Monthly_payment_date' => $this->string('monthly_payment_date'), + 'notes' => $this->nlString('notes'), + 'interest' => $this->string('interest'), + 'interest_period' => $this->string('interest_period'), + ]; + // append Location information. + $data = $this->appendLocationData($data); + + if ('liability' === $data['account_type']) { + $data['opening_balance'] = bcmul($this->string('liability_amount'), '-1'); + $data['opening_balance_date'] = $this->date('liability_start_date'); + $data['account_type'] = $this->string('liability_type'); + $data['account_type_id'] = null; + } + + return $data; + } + /** * The rules that the incoming request must be matched against. * diff --git a/app/Api/V1/Requests/Request.php b/app/Api/V1/Requests/Request.php index 738f2f1a2b..9bcd608eb0 100644 --- a/app/Api/V1/Requests/Request.php +++ b/app/Api/V1/Requests/Request.php @@ -34,56 +34,4 @@ use FireflyIII\Http\Requests\Request as FireflyIIIRequest; */ class Request extends FireflyIIIRequest { - /** - * @return array - */ - public function getAllAccountData(): array - { - $active = true; - $includeNetWorth = true; - $hasLocation = false; - if (null !== $this->get('active')) { - $active = $this->boolean('active'); - } - if (null !== $this->get('include_net_worth')) { - $includeNetWorth = $this->boolean('include_net_worth'); - } - if ($this->has('longitude') && $this->has('latitude') && $this->has('zoom_level')) { - $hasLocation = true; - } - $data = [ - 'name' => $this->string('name'), - 'active' => $active, - 'include_net_worth' => $includeNetWorth, - 'account_type' => $this->string('type'), - 'account_type_id' => null, - 'currency_id' => $this->integer('currency_id'), - 'currency_code' => $this->string('currency_code'), - 'virtual_balance' => $this->string('virtual_balance'), - 'iban' => $this->string('iban'), - 'BIC' => $this->string('bic'), - 'account_number' => $this->string('account_number'), - 'account_role' => $this->string('account_role'), - 'opening_balance' => $this->string('opening_balance'), - 'opening_balance_date' => $this->date('opening_balance_date'), - 'cc_type' => $this->string('credit_card_type'), - 'cc_Monthly_payment_date' => $this->string('monthly_payment_date'), - 'notes' => $this->nlString('notes'), - 'interest' => $this->string('interest'), - 'interest_period' => $this->string('interest_period'), - 'has_location' => $hasLocation, - 'longitude' => $this->string('longitude'), - 'latitude' => $this->string('latitude'), - 'zoom_level' => $this->integer('zoom_level'), - ]; - - if ('liability' === $data['account_type']) { - $data['opening_balance'] = bcmul($this->string('liability_amount'), '-1'); - $data['opening_balance_date'] = $this->date('liability_start_date'); - $data['account_type'] = $this->string('liability_type'); - $data['account_type_id'] = null; - } - - return $data; - } }