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:
2022-05-22 22:39:28 +09:00
parent 43a5162a15
commit 78a55fb87a
24 changed files with 152 additions and 128 deletions
+20 -21
View File
@@ -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,
) {
}
}