update order reference id

This commit is contained in:
Haziq Danial
2021-09-28 18:51:43 +08:00
parent 4626eb937e
commit 61a75a4ee1
4 changed files with 79 additions and 0 deletions
@@ -0,0 +1,46 @@
<?php
namespace App\Classes\Modules\Orders\ControllersLogic;
use App\Classes\Exceptions\ErrorException;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Orders\Services\FetchesOrder;
use App\Classes\Modules\Orders\Services\UpdateOrderReference;
use App\Http\Resources\OrderResource;
use App\Models\Company;
use App\Models\Order;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class UpdateOrderLogic extends AbstractControllerLogic
{
protected function notification(): array
{
return [
'title' => 'Update Order',
'message' => 'You have successfully update the order'
];
}
private $updateOrderReference;
private $fetchesOrder;
public function __construct(UpdateOrderReference $updateOrderReference, FetchesOrder $fetchesOrder)
{
$this->updateOrderReference = $updateOrderReference;
$this->fetchesOrder = $fetchesOrder;
}
protected function logic(Request $request): JsonResponse
{
$reference_id = $request->input('reference_id');
$order = $this->fetchesOrder->execute(['id' => $request->route('id')]);
$order = $this->updateOrderReference->execute($order, $reference_id);
return $this->resourceResponse(new OrderResource($order));
}
}
@@ -0,0 +1,17 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
use App\Models\Order;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
class UpdateOrderReference extends AbstractUpdateRecord
{
public function execute(Order $model, string $reference)
{
$model->reference = $reference;
return $this->handler($model);
}
}
@@ -0,0 +1,15 @@
<?php
namespace App\Http\Controllers\Orders;
use App\Classes\Modules\Orders\ControllersLogic\UpdateOrderLogic;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class UpdateOrderController
{
public function update(Request $request, UpdateOrderLogic $logic)
{
return $logic->execute($request);
}
}
+1
View File
@@ -10,5 +10,6 @@ Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], f
Route::put('/cancel/{id}', 'CancelOrderController@cancel')->name('cancel');
Route::put('/restore/{id}', 'RestoreOrderController@restore')->name('restore');
Route::post('/address/change/request', 'RequestChangeOrderAddressController@request')->name('address.change.request');
Route::post('/update/{id}','UpdateOrderController@update')->name('reference.update');
Route::put('/address/{id}/status/{status}', 'ApproveChangeOrderAddressController@approve')->name('address.status.update');
});