*/ final class AnimeSearchCommand extends MediaSearchCommand implements DataRequest { #[WithCast(EnumCast::class, AnimeStatusEnum::class)] public AnimeStatusEnum|Optional $status; #[WithCast(EnumCast::class, AnimeRatingEnum::class)] public AnimeRatingEnum|Optional $rating; #[IntegerType, Min(1)] public int|Optional $producer; #[Prohibits("producer"), StringType] public string|Optional $producers; #[MapInputName("order_by"), MapOutputName("order_by"), WithCast(EnumCast::class, AnimeOrderByEnum::class)] public AnimeOrderByEnum|Optional $orderBy; public static function rules(): array { return [ ...parent::rules(), "status" => [new EnumRule(AnimeStatusEnum::class)], "rating" => [new EnumRule(AnimeRatingEnum::class)], "order_by" => [new EnumRule(AnimeOrderByEnum::class)] ]; } }