mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-24 07:17:55 +01:00
La vecchia JSON API custom verrà rimossa successivamente, quando quella nuova avrà un'interfaccia stabile per i moduli
63 lines
1.3 KiB
PHP
63 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\JsonApi\V1\Users;
|
|
|
|
use App\Models\User;
|
|
use LaravelJsonApi\Eloquent\Contracts\Paginator;
|
|
use LaravelJsonApi\Eloquent\Fields\DateTime;
|
|
use LaravelJsonApi\Eloquent\Fields\ID;
|
|
use LaravelJsonApi\Eloquent\Fields\Str;
|
|
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(),
|
|
Str::make('username'),
|
|
Str::make('email'),
|
|
DateTime::make('createdAt')->sortable()->readOnly(),
|
|
DateTime::make('updatedAt')->sortable()->readOnly(),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* 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();
|
|
}
|
|
|
|
}
|