mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
36 lines
1008 B
PHP
36 lines
1008 B
PHP
<?php
|
|
|
|
namespace App\Dto;
|
|
|
|
use App\Casts\EnumCast;
|
|
use App\Dto\Concerns\HasLimitParameter;
|
|
use App\Dto\Concerns\HasPageParameter;
|
|
use App\Enums\SortDirection;
|
|
use App\Rules\Attributes\EnumValidation;
|
|
use Spatie\LaravelData\Attributes\Validation\Alpha;
|
|
use Spatie\LaravelData\Attributes\Validation\Max;
|
|
use Spatie\LaravelData\Attributes\Validation\Prohibits;
|
|
use Spatie\LaravelData\Attributes\Validation\Size;
|
|
use Spatie\LaravelData\Attributes\Validation\StringType;
|
|
use Spatie\LaravelData\Attributes\WithCast;
|
|
use Spatie\LaravelData\Data;
|
|
use Spatie\LaravelData\Optional;
|
|
|
|
class SearchCommand extends Data
|
|
{
|
|
use HasLimitParameter, HasPageParameter;
|
|
|
|
/**
|
|
* The search keywords
|
|
* @var string|Optional
|
|
*/
|
|
#[Max(255), StringType]
|
|
public string|Optional $q;
|
|
|
|
#[WithCast(EnumCast::class, SortDirection::class), EnumValidation(SortDirection::class)]
|
|
public SortDirection|Optional $sort;
|
|
|
|
#[Size(1), StringType, Alpha, Prohibits("q")]
|
|
public string|Optional $letter;
|
|
}
|