Refactor order creation logic by introducing CreateOrderService and removing the create method from OrderRepository. Update ProductRepository with stricter type declarations and fix minor typos in comments.

This commit is contained in:
2026-02-05 01:29:10 +05:00
parent d0f962220c
commit eaae8b9be9
5 changed files with 160 additions and 54 deletions

View File

@@ -7,6 +7,7 @@ use App\Http\Requests\CheckoutOrderRequest;
use App\Http\Resources\Api\V1\Order\OrderIndexResource;
use App\Models\Ecommerce\Product\Order\Order;
use App\Repositories\Ecommerce\Order\OrderRepository;
use App\Services\Order\CreateOrderService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -35,9 +36,9 @@ class OrderController extends Controller
/**
* (*) Store order
*/
public function store(CheckoutOrderRequest $request): JsonResponse
public function store(CheckoutOrderRequest $request, CreateOrderService $service): JsonResponse
{
$order = (new OrderRepository($request->all()))->create();
$order = $service->execute(auth()->user(), $request->validated());
$url = null;
if ($request->payment_type_id == 3) {