| Total Complexity | 6 |
| Total Lines | 47 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 11 | class ChangeAddressUseCase { |
||
| 12 | |||
| 13 | private $addressChangeRepository; |
||
| 14 | |||
| 15 | public function __construct( AddressChangeRepository $addressChangeRepository ) { |
||
| 16 | $this->addressChangeRepository = $addressChangeRepository; |
||
| 17 | } |
||
| 18 | |||
| 19 | public function changeAddress( ChangeAddressRequest $request ): ChangeAddressResponse { |
||
| 20 | try { |
||
| 21 | $addressChange = $this->buildAddressChange( $request ); |
||
| 22 | } |
||
| 23 | catch ( ChangeAddressValidationException $e ) { |
||
| 24 | return ChangeAddressResponse::newErrorResponse( [ $e->getMessage() ] ); |
||
| 25 | } |
||
| 26 | $this->addressChangeRepository->storeAddressChange( $addressChange ); |
||
| 27 | return ChangeAddressResponse::newSuccessResponse(); |
||
| 28 | } |
||
| 29 | |||
| 30 | private function buildAddressChange( ChangeAddressRequest $request ): AddressChange { |
||
| 58 | } |
||
| 59 | |||
| 60 | } |