Auto commit for release 'develop' on 2024-05-13

This commit is contained in:
github-actions
2024-05-13 05:10:16 +02:00
parent 04fe5d1fc4
commit cb5d856769
48 changed files with 271 additions and 398 deletions

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\JsonApi\Rules;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class IsValidFilter implements ValidationRule
@@ -35,10 +34,8 @@ class IsValidFilter implements ValidationRule
$this->allowed = $keys;
}
/**
* @inheritDoc
*/
#[\Override] public function validate(string $attribute, mixed $value, Closure $fail): void
#[\Override]
public function validate(string $attribute, mixed $value, \Closure $fail): void
{
if ('filter' !== $attribute) {
$fail('validation.bad_api_filter')->translate();

View File

@@ -23,7 +23,6 @@ declare(strict_types=1);
namespace FireflyIII\JsonApi\Rules;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class IsValidPage implements ValidationRule
@@ -35,10 +34,8 @@ class IsValidPage implements ValidationRule
$this->allowed = $keys;
}
/**
* @inheritDoc
*/
#[\Override] public function validate(string $attribute, mixed $value, Closure $fail): void
#[\Override]
public function validate(string $attribute, mixed $value, \Closure $fail): void
{
if ('page' !== $attribute) {
$fail('validation.bad_api_filter')->translate();

View File

@@ -29,23 +29,17 @@ use LaravelJsonApi\NonEloquent\AbstractRepository;
class AccountBalanceRepository extends AbstractRepository implements QueriesAll
{
/**
* @inheritDoc
*/
#[\Override] public function find(string $resourceId): ?object
#[\Override]
public function find(string $resourceId): ?object
{
return AccountBalance::fromArray();
}
/**
* @inheritDoc
*/
public function queryAll(): Capabilities\AccountBalanceQuery
{
return Capabilities\AccountBalanceQuery::make()
->withServer($this->server)
->withSchema($this->schema);
->withServer($this->server)
->withSchema($this->schema)
;
}
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V3\AccountBalances;
use Illuminate\Http\Request;
@@ -9,8 +11,6 @@ class AccountBalanceResource extends JsonApiResource
{
/**
* Get the resource id.
*
* @return string
*/
public function id(): string
{
@@ -20,9 +20,7 @@ class AccountBalanceResource extends JsonApiResource
/**
* Get the resource's attributes.
*
* @param Request|null $request
*
* @return iterable
* @param null|Request $request
*/
public function attributes($request): iterable
{
@@ -35,9 +33,7 @@ class AccountBalanceResource extends JsonApiResource
/**
* Get the resource's relationships.
*
* @param Request|null $request
*
* @return iterable
* @param null|Request $request
*/
public function relationships($request): iterable
{
@@ -45,5 +41,4 @@ class AccountBalanceResource extends JsonApiResource
$this->relation('account')->withData($this->resource->getAccount()),
];
}
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V3\AccountBalances;
use FireflyIII\Entities\AccountBalance;
@@ -10,18 +12,13 @@ use LaravelJsonApi\NonEloquent\Fields\ID;
class AccountBalanceSchema extends Schema
{
/**
* The model the schema corresponds to.
*
* @var string
*/
public static string $model = AccountBalance::class;
/**
* Get the resource fields.
*
* @return array
*/
public function fields(): array
{
@@ -35,8 +32,6 @@ class AccountBalanceSchema extends Schema
/**
* Get the resource filters.
*
* @return array
*/
public function filters(): array
{
@@ -48,7 +43,8 @@ class AccountBalanceSchema extends Schema
public function repository(): AccountBalanceRepository
{
return AccountBalanceRepository::make()
->withServer($this->server)
->withSchema($this);
->withServer($this->server)
->withSchema($this)
;
}
}

View File

@@ -39,9 +39,6 @@ class AccountBalanceQuery extends QueryAll
parent::__construct();
}
/**
* @inheritDoc
*/
public function get(): iterable
{
return [
@@ -55,7 +52,7 @@ class AccountBalanceQuery extends QueryAll
public function withAccount(Account $account): self
{
$this->account = $account;
return $this;
}
}

View File

@@ -27,8 +27,6 @@ use FireflyIII\Models\Account;
use FireflyIII\Support\JsonApi\Concerns\UsergroupAware;
use LaravelJsonApi\Contracts\Store\QueriesAll;
use LaravelJsonApi\NonEloquent\AbstractRepository;
use LaravelJsonApi\NonEloquent\Concerns\HasCrudCapability;
class AccountRepository extends AbstractRepository implements QueriesAll
{
@@ -36,25 +34,20 @@ class AccountRepository extends AbstractRepository implements QueriesAll
/**
* SiteRepository constructor.
*
*/
public function __construct() {}
/**
* @inheritDoc
*/
public function find(string $resourceId): ?object
{
return Account::find((int) $resourceId);
}
public function queryAll(): Capabilities\AccountQuery
{
return Capabilities\AccountQuery::make()
->withUserGroup($this->userGroup)
->withServer($this->server)
->withSchema($this->schema);
->withUserGroup($this->userGroup)
->withServer($this->server)
->withSchema($this->schema)
;
}
}

View File

@@ -1,10 +1,11 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V3\Accounts;
use FireflyIII\Models\Account;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
use LaravelJsonApi\Core\Resources\JsonApiResource;
/**
@@ -12,13 +13,10 @@ use LaravelJsonApi\Core\Resources\JsonApiResource;
*/
class AccountResource extends JsonApiResource
{
/**
* Get the resource's attributes.
*
* @param Request|null $request
*
* @return iterable
* @param null|Request $request
*/
public function attributes($request): iterable
{
@@ -32,25 +30,19 @@ class AccountResource extends JsonApiResource
'type' => $this->resource->type,
'account_role' => $this->resource->account_role,
// 'virtual_balance' => $this->resource->virtual_balance,
// 'native_balance' => $this->resource->native_balance,
//'user' => $this->resource->user_array,
// 'balances' => []
//
// 'user' => $this->resource->user_array,
// 'balances' => []
//
// currency
// 'currency_id' => $this->resource->currency_id,
// 'currency_code' => $this->resource->currency_code,
// 'currency_symbol' => $this->resource->currency_symbol,
// 'currency_decimal_places' => $this->resource->currency_decimal_places,
// 'currency_id' => $this->resource->currency_id,
// 'currency_code' => $this->resource->currency_code,
// 'currency_symbol' => $this->resource->currency_symbol,
// 'currency_decimal_places' => $this->resource->currency_decimal_places,
// balance (in currency, on date)
// 'current_balance' => $this->resource->current_balance,
// 'current_balance' => $this->resource->current_balance,
// 'current_balance' => app('steam')->bcround(app('steam')->balance($account, $date), $decimalPlaces),
// 'current_balance_date' => $date->toAtomString(),
@@ -125,9 +117,7 @@ class AccountResource extends JsonApiResource
/**
* Get the resource's relationships.
*
* @param Request|null $request
*
* @return iterable
* @param null|Request $request
*/
public function relationships($request): iterable
{
@@ -136,5 +126,4 @@ class AccountResource extends JsonApiResource
$this->relation('account_balances')->withData($this->resource->balances),
];
}
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V3\Accounts;
use FireflyIII\Models\Account;
@@ -17,18 +19,13 @@ use LaravelJsonApi\Eloquent\Schema;
class AccountSchema extends Schema
{
/**
* The model the schema corresponds to.
*
* @var string
*/
public static string $model = Account::class;
/**
* Get the resource fields.
*
* @return array
*/
public function fields(): array
{
@@ -49,8 +46,6 @@ class AccountSchema extends Schema
/**
* Get the resource filters.
*
* @return array
*/
public function filters(): array
{
@@ -61,12 +56,9 @@ class AccountSchema extends Schema
/**
* Get the resource paginator.
*
* @return Paginator|null
*/
public function pagination(): ?Paginator
{
return PagePagination::make();
}
}

View File

@@ -35,19 +35,16 @@ use LaravelJsonApi\NonEloquent\Concerns\PaginatesEnumerables;
class AccountQuery extends QueryAll implements HasPagination
{
use PaginatesEnumerables;
use FiltersPagination;
use ValidateSortParameters;
use UsergroupAware;
use ExpandsQuery;
use FiltersPagination;
use PaginatesEnumerables;
use SortsCollection;
use UsergroupAware;
use ValidateSortParameters;
/**
* @inheritDoc
*/
#[\Override] public function get(): iterable
#[\Override]
public function get(): iterable
{
$filters = $this->queryParameters->filter();
$sort = $this->queryParameters->sortFields();
$pagination = $this->filtersPagination($this->queryParameters->page());
@@ -57,8 +54,8 @@ class AccountQuery extends QueryAll implements HasPagination
if (!$needsAll) {
$query = $this->addPagination($query, $pagination);
}
$query = $this->addSortParams($query, $sort);
$query = $this->addFilterParams('account', $query, $filters);
$query = $this->addSortParams($query, $sort);
$query = $this->addFilterParams('account', $query, $filters);
$collection = $query->get(['accounts.*']);
@@ -66,16 +63,11 @@ class AccountQuery extends QueryAll implements HasPagination
$enrichment = new AccountEnrichment();
$collection = $enrichment->enrich($collection);
// add filters after the query
// add sort after the query
$collection = $this->sortCollection($collection, $sort);
return $collection;
// var_dump($filters->value('name'));
// exit;
return $this->sortCollection($collection, $sort);
// var_dump($filters->value('name'));
// exit;
}
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V3;
use FireflyIII\JsonApi\V3\Accounts\AccountSchema;
@@ -9,18 +11,13 @@ use LaravelJsonApi\Core\Server\Server as BaseServer;
class Server extends BaseServer
{
/**
* The base URI namespace for this server.
*
* @var string
*/
protected string $baseUri = '/api/v3';
/**
* Bootstrap the server when it is handling an HTTP request.
*
* @return void
*/
public function serving(): void
{
@@ -29,8 +26,6 @@ class Server extends BaseServer
/**
* Get the server's list of schemas.
*
* @return array
*/
protected function allSchemas(): array
{
@@ -40,5 +35,4 @@ class Server extends BaseServer
AccountBalanceSchema::class,
];
}
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V3\Users;
use FireflyIII\Models\User;
@@ -11,12 +13,10 @@ use LaravelJsonApi\Core\Resources\JsonApiResource;
*/
class UserResource extends JsonApiResource
{
/**
* Get the resource's attributes.
*
* @param Request|null $request
* @return iterable
* @param null|Request $request
*/
public function attributes($request): iterable
{
@@ -30,8 +30,7 @@ class UserResource extends JsonApiResource
/**
* Get the resource's relationships.
*
* @param Request|null $request
* @return iterable
* @param null|Request $request
*/
public function relationships($request): iterable
{
@@ -39,5 +38,4 @@ class UserResource extends JsonApiResource
// @TODO
];
}
}

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\JsonApi\V3\Users;
use FireflyIII\User;
@@ -14,18 +16,13 @@ use LaravelJsonApi\Eloquent\Schema;
class UserSchema extends Schema
{
/**
* The model the schema corresponds to.
*
* @var string
*/
public static string $model = User::class;
/**
* Get the resource fields.
*
* @return array
*/
public function fields(): array
{
@@ -40,8 +37,6 @@ class UserSchema extends Schema
/**
* Get the resource filters.
*
* @return array
*/
public function filters(): array
{
@@ -52,8 +47,6 @@ class UserSchema extends Schema
/**
* Get the resource paginator.
*
* @return Paginator|null
*/
public function pagination(): ?Paginator
{