mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-23 04:46:44 +00:00
66 lines
1.3 KiB
PHP
66 lines
1.3 KiB
PHP
![]() |
<?php
|
||
|
|
||
|
namespace FireflyIII\JsonApi\V3\Users;
|
||
|
|
||
|
use FireflyIII\User;
|
||
|
use LaravelJsonApi\Eloquent\Contracts\Paginator;
|
||
|
use LaravelJsonApi\Eloquent\Fields\DateTime;
|
||
|
use LaravelJsonApi\Eloquent\Fields\ID;
|
||
|
use LaravelJsonApi\Eloquent\Fields\Relations\HasMany;
|
||
|
use LaravelJsonApi\Eloquent\Filters\WhereIdIn;
|
||
|
use LaravelJsonApi\Eloquent\Pagination\PagePagination;
|
||
|
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
|
||
|
{
|
||
|
return [
|
||
|
ID::make(),
|
||
|
DateTime::make('createdAt')->sortable()->readOnly(),
|
||
|
DateTime::make('updatedAt')->sortable()->readOnly(),
|
||
|
HasMany::make('accounts'),
|
||
|
];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the resource filters.
|
||
|
*
|
||
|
* @return array
|
||
|
*/
|
||
|
public function filters(): array
|
||
|
{
|
||
|
return [
|
||
|
WhereIdIn::make($this),
|
||
|
];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the resource paginator.
|
||
|
*
|
||
|
* @return Paginator|null
|
||
|
*/
|
||
|
public function pagination(): ?Paginator
|
||
|
{
|
||
|
return PagePagination::make();
|
||
|
}
|
||
|
public function authorizable(): bool
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
}
|