2023-01-02 16:29:05 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Dto;
|
|
|
|
|
|
|
|
use App\Casts\EnumCast;
|
|
|
|
use App\Contracts\DataRequest;
|
|
|
|
use App\Enums\MagazineOrderByEnum;
|
|
|
|
use App\Http\Resources\V4\MagazineCollection;
|
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<MagazineCollection>
|
|
|
|
*/
|
|
|
|
final class MagazineSearchCommand extends SearchCommand implements DataRequest
|
|
|
|
{
|
2023-01-27 22:19:31 +00:00
|
|
|
#[MapInputName("order_by"), MapOutputName("order_by"),
|
|
|
|
WithCast(EnumCast::class, MagazineOrderByEnum::class), EnumValidation(MagazineOrderByEnum::class)]
|
2023-01-02 16:29:05 +00:00
|
|
|
public MagazineOrderByEnum|Optional $orderBy;
|
|
|
|
}
|