ekart/backend/app/Data/AddUserAddressRequestDTO.php
kusowl c27ae1969f feature: add address api
- users can save, edi and delete addresses
- each user can have multiple address
- used shallow routes for address
2026-03-13 18:08:45 +05:30

46 lines
1.1 KiB
PHP

<?php
namespace App\Data;
use App\Contracts\InputDataTransferObject;
use Illuminate\Foundation\Http\FormRequest;
final readonly class AddUserAddressRequestDTO implements InputDataTransferObject
{
public function __construct(
public string $firstName,
public string $lastName,
public string $street,
public string $city,
public string $state,
public string $pinCode
) {}
/**
* @return array<string, mixed>
*/
public function toArray(): array
{
return [
'first_name' => $this->firstName,
'last_name' => $this->lastName,
'street' => $this->street,
'city' => $this->city,
'state' => $this->state,
'pin' => $this->pinCode,
];
}
public static function fromRequest(FormRequest $request): InputDataTransferObject
{
return new self(
firstName: $request->firstName,
lastName: $request->lastName,
street: $request->street,
city: $request->city,
state: $request->state,
pinCode: $request->pinCode
);
}
}