Files
firefly-iii/app/JsonApi/V2/Accounts/AccountResource.php

79 lines
2.3 KiB
PHP
Raw Normal View History

2024-05-10 09:42:09 +02:00
<?php
2024-07-26 12:52:54 +02:00
namespace FireflyIII\JsonApi\V2\Accounts;
2024-05-10 09:42:09 +02:00
use FireflyIII\Models\Account;
use Illuminate\Http\Request;
2024-07-28 07:02:04 +02:00
use Illuminate\Support\Facades\Log;
2024-05-10 09:42:09 +02:00
use LaravelJsonApi\Core\Resources\JsonApiResource;
/**
* @property Account $resource
*/
class AccountResource extends JsonApiResource
{
2024-07-27 15:42:43 +02:00
/**
* Get the resource id.
*
* @return string
*/
public function id(): string
{
return (string) $this->resource->id;
}
2024-05-10 09:42:09 +02:00
/**
* Get the resource's attributes.
*
2024-07-27 15:42:43 +02:00
* @param Request|null $request
*
* @return iterable
2024-05-10 09:42:09 +02:00
*/
public function attributes($request): iterable
{
2024-07-28 07:02:04 +02:00
Log::debug(__METHOD__);
2024-05-10 09:42:09 +02:00
return [
2024-07-28 07:47:54 +02:00
'created_at' => $this->resource->created_at,
'updated_at' => $this->resource->updated_at,
'name' => $this->resource->name,
'active' => $this->resource->active,
'order' => $this->resource->order,
'type' => $this->resource->account_type_string,
'account_role' => $this->resource->account_role,
'account_number' => '' === $this->resource->account_number ? null : $this->resource->account_number,
// currency
'currency_id' => $this->resource->currency_id,
'currency_name' => $this->resource->currency_name,
'currency_code' => $this->resource->currency_code,
'currency_symbol' => $this->resource->currency_symbol,
'currency_decimal_places' => $this->resource->currency_decimal_places,
// liability things
'liability_direction' => $this->resource->liability_direction,
'interest' => $this->resource->interest,
'interest_period' => $this->resource->interest_period,
'current_debt' => $this->resource->current_debt,
'last_activity' => $this->resource->last_activity,
2024-05-10 09:42:09 +02:00
];
}
/**
* Get the resource's relationships.
*
2024-07-27 15:42:43 +02:00
* @param Request|null $request
*
* @return iterable
2024-05-10 09:42:09 +02:00
*/
public function relationships($request): iterable
{
return [
2024-05-10 12:51:02 +02:00
$this->relation('user')->withData($this->resource->user),
2024-05-10 09:42:09 +02:00
];
}
2024-07-27 15:42:43 +02:00
2024-05-10 09:42:09 +02:00
}