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
|
|
|
}
|