2024-07-28 07:02:04 +02:00
|
|
|
<?php
|
|
|
|
|
2024-07-29 05:06:54 +02:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2024-07-28 07:02:04 +02:00
|
|
|
namespace FireflyIII\JsonApi\V2\Accounts;
|
|
|
|
|
|
|
|
use FireflyIII\Models\Account;
|
|
|
|
use FireflyIII\Rules\IsAllowedGroupAction;
|
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
use LaravelJsonApi\Laravel\Http\Requests\ResourceQuery;
|
|
|
|
use LaravelJsonApi\Validation\Rule as JsonApiRule;
|
|
|
|
|
|
|
|
class AccountCollectionQuery extends ResourceQuery
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Get the validation rules that apply to the request query parameters.
|
|
|
|
*/
|
|
|
|
public function rules(): array
|
|
|
|
{
|
|
|
|
Log::debug(__METHOD__);
|
2024-07-29 05:06:54 +02:00
|
|
|
|
2024-07-28 07:02:04 +02:00
|
|
|
return [
|
2024-07-29 05:06:54 +02:00
|
|
|
'fields' => [
|
2024-07-28 07:02:04 +02:00
|
|
|
'nullable',
|
|
|
|
'array',
|
|
|
|
JsonApiRule::fieldSets(),
|
|
|
|
],
|
|
|
|
'user_group_id' => [
|
|
|
|
'nullable',
|
|
|
|
'integer',
|
|
|
|
new IsAllowedGroupAction(Account::class, request()->method()),
|
|
|
|
],
|
2024-07-29 05:06:54 +02:00
|
|
|
'filter' => [
|
2024-07-28 07:02:04 +02:00
|
|
|
'nullable',
|
|
|
|
'array',
|
|
|
|
JsonApiRule::filter(),
|
|
|
|
],
|
2024-07-29 05:06:54 +02:00
|
|
|
'include' => [
|
2024-07-28 07:02:04 +02:00
|
|
|
'nullable',
|
|
|
|
'string',
|
|
|
|
JsonApiRule::includePaths(),
|
|
|
|
],
|
2024-07-29 05:06:54 +02:00
|
|
|
'page' => [
|
2024-07-28 07:02:04 +02:00
|
|
|
'nullable',
|
|
|
|
'array',
|
|
|
|
JsonApiRule::page(),
|
|
|
|
],
|
2024-07-29 05:06:54 +02:00
|
|
|
'sort' => [
|
2024-07-28 07:02:04 +02:00
|
|
|
'nullable',
|
|
|
|
'string',
|
|
|
|
JsonApiRule::sort(),
|
|
|
|
],
|
2024-07-29 05:06:54 +02:00
|
|
|
'withCount' => [
|
2024-07-28 07:02:04 +02:00
|
|
|
'nullable',
|
|
|
|
'string',
|
|
|
|
JsonApiRule::countable(),
|
|
|
|
],
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|