diff --git a/app/Classes/Modules/ControllersLogic/Orders/UpdateOrderAddressLogic.php b/app/Classes/Modules/ControllersLogic/Orders/UpdateOrderAddressLogic.php new file mode 100644 index 0000000..d72b6bd --- /dev/null +++ b/app/Classes/Modules/ControllersLogic/Orders/UpdateOrderAddressLogic.php @@ -0,0 +1,37 @@ +UpdatesOrderAddress = $UpdatesOrderAddress; + } + + public function execute(string $orderId, Request $request){ + try{ + + return $this->UpdatesOrderAddress->execute($orderId,$request->address_id); + return new JsonResponse([],HttpStatus::REQUEST_ACCEPTED); + + } catch (\Exception $exception) { + throw new InternalServerErrorException("Failed to update address because{$exception->getMessage()}"); + } + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Orders/Services/UpdatesOrderAddress.php b/app/Classes/Modules/Orders/Services/UpdatesOrderAddress.php new file mode 100644 index 0000000..3a3750c --- /dev/null +++ b/app/Classes/Modules/Orders/Services/UpdatesOrderAddress.php @@ -0,0 +1,39 @@ +repository = $repository; + } + + + public function execute(string $orderId,string $addressId){ + try{ + + $repository = $this->repository->findOrFail($orderId); + $repository->address_id = $addressId; + $repository->save(); + return new JsonResponse([],HttpStatus::OK); + + }catch (\Exception $exception){ + + throw new InternalServerErrorException("Failed to update address because {$exception->getMessage()}"); + } + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Orders/UpdateOrderAddressController.php b/app/Http/Controllers/Orders/UpdateOrderAddressController.php new file mode 100644 index 0000000..4ccf670 --- /dev/null +++ b/app/Http/Controllers/Orders/UpdateOrderAddressController.php @@ -0,0 +1,14 @@ +execute($orderId,$request); + } + +} \ No newline at end of file diff --git a/routes/api.php b/routes/api.php index 4a4a2ff..547ff5d 100644 --- a/routes/api.php +++ b/routes/api.php @@ -140,6 +140,8 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function + Route::post('/{orderId}/address','UpdateOrderAddressController@update')->name('address.order.update'); + }); // Service Routes