2023-01-02 16:29:05 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Dto;
|
|
|
|
|
|
|
|
use App\Casts\EnumCast;
|
|
|
|
use App\Contracts\DataRequest;
|
|
|
|
use App\Enums\CharacterOrderByEnum;
|
|
|
|
use App\Http\Resources\V4\CharacterCollection;
|
2023-01-27 22:19:31 +00:00
|
|
|
use App\Rules\Attributes\EnumValidation;
|
2023-01-02 16:29:05 +00:00
|
|
|
use Spatie\LaravelData\Attributes\MapInputName;
|
|
|
|
use Spatie\LaravelData\Attributes\MapOutputName;
|
|
|
|
use Spatie\LaravelData\Attributes\WithCast;
|
2023-01-24 23:30:47 +00:00
|
|
|
use Spatie\LaravelData\Optional;
|
2023-01-02 16:29:05 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @implements DataRequest<CharacterCollection>
|
|
|
|
*/
|
|
|
|
final class CharactersSearchCommand extends SearchCommand implements DataRequest
|
|
|
|
{
|
2023-01-27 22:19:31 +00:00
|
|
|
#[MapInputName("order_by"), MapOutputName("order_by"),
|
|
|
|
WithCast(EnumCast::class, CharacterOrderByEnum::class), EnumValidation(CharacterOrderByEnum::class)]
|
2023-01-02 16:29:05 +00:00
|
|
|
public CharacterOrderByEnum|Optional $orderBy;
|
|
|
|
}
|