refac: 변경한 DTO에 따라 코드 수정
- Spatie/DataTransferObject 대비
- MapFrom,MapTo -> RawName
- Strict -> 항상
- 심지어 raw type도 더 까다롭게
- array에 MapConverter 적용
- NullIsUndefined 적용
- 빈 nullable arg자리에 null 강제 지정
- Vue3에 v-model.number 지정
- input type="number" 기준
This commit is contained in:
@@ -2,33 +2,32 @@
|
||||
|
||||
namespace sammo\DTO;
|
||||
|
||||
use sammo\DTO\Attr\Convert;
|
||||
use sammo\DTO\Converter\MapConverter;
|
||||
use sammo\DTO\SelectItem;
|
||||
use Spatie\DataTransferObject\Attributes\CastWith;
|
||||
use Spatie\DataTransferObject\Attributes\Strict;
|
||||
use Spatie\DataTransferObject\DataTransferObject;
|
||||
use Spatie\DataTransferObject\Casters\ArrayCaster;
|
||||
|
||||
//https://json2dto.atymic.dev/
|
||||
|
||||
|
||||
|
||||
#[Strict]
|
||||
class BettingInfo extends DataTransferObject
|
||||
class BettingInfo extends DTO
|
||||
{
|
||||
public int $id;
|
||||
public string $type;
|
||||
public string $name;
|
||||
public bool $finished;
|
||||
public int $selectCnt;
|
||||
public ?bool $isExlusive;
|
||||
public bool $reqInheritancePoint;
|
||||
public int $openYearMonth;
|
||||
public int $closeYearMonth;
|
||||
public function __construct(
|
||||
public int $id,
|
||||
public string $type,
|
||||
public string $name,
|
||||
public bool $finished,
|
||||
public int $selectCnt,
|
||||
public ?bool $isExclusive,
|
||||
public bool $reqInheritancePoint,
|
||||
public int $openYearMonth,
|
||||
public int $closeYearMonth,
|
||||
|
||||
/** @var \sammo\DTO\SelectItem[] */
|
||||
#[CastWith(ArrayCaster::class, itemType: SelectItem::class)]
|
||||
public array $candidates;
|
||||
public ?array $winner;
|
||||
|
||||
/** @var \sammo\DTO\SelectItem[] */
|
||||
#[Convert(MapConverter::class, [SelectItem::class])]
|
||||
public array $candidates,
|
||||
public ?array $winner,
|
||||
) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user