refac: Auction DTO류를 새 DTO에 맞게 변경

This commit is contained in:
2022-06-09 01:21:21 +09:00
parent b7f8655109
commit 9d43b3e6a0
5 changed files with 38 additions and 83 deletions
+17 -29
View File
@@ -2,37 +2,25 @@
namespace sammo\DTO;
use sammo\Json;
use Spatie\DataTransferObject\DataTransferObject;
use Spatie\DataTransferObject\Attributes\MapFrom;
use Spatie\DataTransferObject\Attributes\MapTo;
use sammo\DTO\Attr\JsonString;
use sammo\DTO\Attr\RawName;
class AuctionBidItem extends DataTransferObject{
public int $id;
#[MapFrom('auction_id')]
#[MapTo('auction_id')]
public int $auctionID;
public ?int $owner;
class AuctionBidItem extends DTO
{
public function __construct(
public int $id,
#[RawName('auction_id')]
public int $auctionID,
public ?int $owner,
#[MapFrom('general_id')]
#[MapTo('general_id')]
public int $generalID;
#[RawName('general_id')]
public int $generalID,
public int $amount;
public int $amount,
public string $date;
public AuctionBidItemData $data;
public static function parse(array $data): self
{
$data['data'] = Json::decode($data['data']);
return new self($data);
public string $date,
#[JsonString]
public AuctionBidItemData $data,
) {
}
public function toArray(): array
{
$result = parent::toArray();
$result['data'] = Json::encode($this->data);
return $result;
}
}
}