mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
34 lines
1.0 KiB
PHP
34 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Dto;
|
|
|
|
use App\Casts\EnumCast;
|
|
use App\Contracts\DataRequest;
|
|
use App\Dto\Concerns\HasSfwParameter;
|
|
use App\Dto\Concerns\PreparesData;
|
|
use App\Enums\AnimeRatingEnum;
|
|
use App\Enums\AnimeTypeEnum;
|
|
use App\Enums\TopAnimeFilterEnum;
|
|
use App\Http\Resources\V4\AnimeCollection;
|
|
use App\Rules\Attributes\EnumValidation;
|
|
use Spatie\Enum\Laravel\Rules\EnumRule;
|
|
use Spatie\LaravelData\Attributes\WithCast;
|
|
use Spatie\LaravelData\Optional;
|
|
|
|
/**
|
|
* @implements DataRequest<AnimeCollection>
|
|
*/
|
|
final class QueryTopAnimeItemsCommand extends QueryTopItemsCommand implements DataRequest
|
|
{
|
|
use PreparesData, HasSfwParameter;
|
|
|
|
#[WithCast(EnumCast::class, AnimeTypeEnum::class), EnumValidation(AnimeTypeEnum::class)]
|
|
public AnimeTypeEnum|Optional $type;
|
|
|
|
#[WithCast(EnumCast::class, AnimeRatingEnum::class), EnumValidation(AnimeRatingEnum::class)]
|
|
public AnimeRatingEnum|Optional $rating;
|
|
|
|
#[WithCast(EnumCast::class, TopAnimeFilterEnum::class), EnumValidation(TopAnimeFilterEnum::class)]
|
|
public TopAnimeFilterEnum|Optional $filter;
|
|
}
|