Auto commit for release 'develop' on 2024-07-29

This commit is contained in:
github-actions
2024-07-29 05:06:54 +02:00
parent 2df4b40a28
commit ac8a43bb37
28 changed files with 523 additions and 566 deletions

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V2\Accounts;
use FireflyIII\Models\Account;
@@ -10,17 +12,15 @@ use LaravelJsonApi\Validation\Rule as JsonApiRule;
class AccountCollectionQuery extends ResourceQuery
{
/**
* Get the validation rules that apply to the request query parameters.
*
* @return array
*/
public function rules(): array
{
Log::debug(__METHOD__);
return [
'fields' => [
'fields' => [
'nullable',
'array',
JsonApiRule::fieldSets(),
@@ -30,27 +30,27 @@ class AccountCollectionQuery extends ResourceQuery
'integer',
new IsAllowedGroupAction(Account::class, request()->method()),
],
'filter' => [
'filter' => [
'nullable',
'array',
JsonApiRule::filter(),
],
'include' => [
'include' => [
'nullable',
'string',
JsonApiRule::includePaths(),
],
'page' => [
'page' => [
'nullable',
'array',
JsonApiRule::page(),
],
'sort' => [
'sort' => [
'nullable',
'string',
JsonApiRule::sort(),
],
'withCount' => [
'withCount' => [
'nullable',
'string',
JsonApiRule::countable(),

View File

@@ -45,9 +45,10 @@ use LaravelJsonApi\NonEloquent\Concerns\HasRelationsCapability;
*/
class AccountRepository extends AbstractRepository implements QueriesAll
{
use UsergroupAware;
use HasRelationsCapability;
use HasCrudCapability;
use HasRelationsCapability;
use UsergroupAware;
/**
* SiteRepository constructor.
*/
@@ -56,27 +57,28 @@ class AccountRepository extends AbstractRepository implements QueriesAll
public function exists(string $resourceId): bool
{
Log::debug(__METHOD__);
return null !== Account::find((int) $resourceId);
}
public function find(string $resourceId): ?object
{
Log::debug(__METHOD__);
// throw new \RuntimeException('trace me');
$account = Account::find((int) $resourceId);
if(null === $account) {
// throw new \RuntimeException('trace me');
$account = Account::find((int) $resourceId);
if (null === $account) {
return null;
}
// enrich the collected data
$enrichment = new AccountEnrichment();
return $enrichment->enrichSingle($account);
}
public function queryAll(): Capabilities\AccountQuery
{
Log::debug(__METHOD__);
return Capabilities\AccountQuery::make()
->withUserGroup($this->userGroup)
->withServer($this->server)
@@ -84,17 +86,11 @@ class AccountRepository extends AbstractRepository implements QueriesAll
;
}
/**
* @inheritDoc
*/
protected function crud(): Capabilities\CrudAccount
{
return Capabilities\CrudAccount::make();
}
/**
* @inheritDoc
*/
protected function relations(): CrudRelations
{
return Capabilities\CrudAccountRelations::make();

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V2\Accounts;
use FireflyIII\Models\Account;
@@ -14,26 +16,23 @@ class AccountResource extends JsonApiResource
{
/**
* Get the resource id.
*
* @return string
*/
public function id(): string
{
Log::debug(__METHOD__);
return (string) $this->resource->id;
}
/**
* Get the resource's attributes.
*
* @param Request|null $request
*
* @return iterable
* @param null|Request $request
*/
public function attributes($request): iterable
{
Log::debug(__METHOD__);
return [
'created_at' => $this->resource->created_at,
'updated_at' => $this->resource->updated_at,
@@ -57,17 +56,14 @@ class AccountResource extends JsonApiResource
'interest_period' => $this->resource->interest_period,
'current_debt' => $this->resource->current_debt,
'last_activity' => $this->resource->last_activity,
'last_activity' => $this->resource->last_activity,
];
}
/**
* Get the resource's relationships.
*
* @param Request|null $request
*
* @return iterable
* @param null|Request $request
*/
public function relationships($request): iterable
{
@@ -75,5 +71,4 @@ class AccountResource extends JsonApiResource
$this->relation('user')->withData($this->resource->user),
];
}
}

View File

@@ -109,7 +109,7 @@ class AccountResourceOld extends JsonApiResource
return [
$this->relation('user')->withData($this->resource->user),
$this->relation('currency')->withData($this->resource->transactionCurrency),
//$this->relation('account_balances')->withData($this->resource->balances),
// $this->relation('account_balances')->withData($this->resource->balances),
];
}
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V2\Accounts;
use FireflyIII\Models\Account;
@@ -11,27 +13,22 @@ use LaravelJsonApi\NonEloquent\Fields\Attribute;
use LaravelJsonApi\NonEloquent\Fields\ID;
use LaravelJsonApi\NonEloquent\Filters\Filter;
class AccountSchema extends Schema
{
use UsergroupAware;
/**
* The model the schema corresponds to.
*
* @var string
*/
public static string $model = Account::class;
/**
* Get the resource fields.
*
* @return array
*/
public function fields(): array
{
Log::debug(__METHOD__);;
Log::debug(__METHOD__);
return [
ID::make(),
Attribute::make('created_at'),
@@ -61,21 +58,19 @@ class AccountSchema extends Schema
// dynamic data
Attribute::make('last_activity'),
HasOne::make('user')->readOnly(),
];
}
/**
* Get the resource filters.
*
* @return array
*/
public function filters(): array
{
Log::debug(__METHOD__);;
Log::debug(__METHOD__);
return [
Filter::make('id'),
Filter::make('id'),
];
}
@@ -83,10 +78,11 @@ class AccountSchema extends Schema
{
Log::debug(__METHOD__);
$this->setUserGroup($this->server->getUsergroup());
return AccountRepository::make()
->withServer($this->server)
->withSchema($this)
->withUserGroup($this->userGroup);
}
return AccountRepository::make()
->withServer($this->server)
->withSchema($this)
->withUserGroup($this->userGroup)
;
}
}

View File

@@ -41,13 +41,13 @@ class AccountSchemaOld extends Schema
DateTime::make('created_at')->sortable()->readOnly(),
DateTime::make('updated_at')->sortable()->readOnly(),
Str::make('name')->sortable(),
// Str::make('account_type'),
// Str::make('virtual_balance'),
// Str::make('iban'),
// Boolean::make('active'),
// Number::make('order'),
// Str::make('account_type'),
// Str::make('virtual_balance'),
// Str::make('iban'),
// Boolean::make('active'),
// Number::make('order'),
HasOne::make('user')->readOnly(),
//HasMany::make('account_balances'),
// HasMany::make('account_balances'),
];
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V2\Accounts;
use Illuminate\Support\Facades\Log;
@@ -8,33 +10,31 @@ use LaravelJsonApi\Validation\Rule as JsonApiRule;
class AccountSingleQuery extends ResourceQuery
{
/**
* Get the validation rules that apply to the request query parameters.
*
* @return array
*/
public function rules(): array
{
Log::debug(__METHOD__);;
Log::debug(__METHOD__);
return [
'fields' => [
'fields' => [
'nullable',
'array',
JsonApiRule::fieldSets(),
],
'filter' => [
'filter' => [
'nullable',
'array',
JsonApiRule::filter()->forget('id'),
],
'include' => [
'include' => [
'nullable',
'string',
JsonApiRule::includePaths(),
],
'page' => JsonApiRule::notSupported(),
'sort' => JsonApiRule::notSupported(),
'page' => JsonApiRule::notSupported(),
'sort' => JsonApiRule::notSupported(),
'withCount' => [
'nullable',
'string',

View File

@@ -31,16 +31,12 @@ class CrudAccount extends CrudResource
{
/**
* Read the supplied site.
*
* @param Account $account
*
* @return Account|null
*/
public function read(Account $account): ?Account
{
// enrich the collected data
$enrichment = new AccountEnrichment();
return $enrichment->enrichSingle($account);
}
}

View File

@@ -25,7 +25,4 @@ namespace FireflyIII\JsonApi\V2\Accounts\Capabilities;
use LaravelJsonApi\NonEloquent\Capabilities\CrudRelations;
class CrudAccountRelations extends CrudRelations
{
}
class CrudAccountRelations extends CrudRelations {}

View File

@@ -43,10 +43,11 @@ class Server extends BaseServer
protected function allSchemas(): array
{
Log::debug(__METHOD__);
return [
AccountSchema::class,
UserSchema::class,
//AccountBalanceSchema::class,
// AccountBalanceSchema::class,
];
}
}