67 lines
2.6 KiB
PHP
67 lines
2.6 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Modules\Core\Cart\Http\Controllers\CartController;
|
|
use Modules\Core\Checkout\Http\Controllers\CheckoutController;
|
|
|
|
/*
|
|
* Cart + checkout module routes. The {locale} prefix and `locale`
|
|
* middleware (registered by Providers\LocalizationServiceProvider) are
|
|
* this module's own convention, not a host one — every action already
|
|
* declares $locale as its literal first parameter, per Laravel's
|
|
* ControllerDispatcher positional-args behavior.
|
|
*
|
|
* Loaded from Providers\CheckoutModuleServiceProvider inside the `web`
|
|
* middleware group.
|
|
*/
|
|
|
|
Route::prefix('{locale}')
|
|
->middleware('locale')
|
|
->group(function () {
|
|
// No standalone cart page — the drawer (checkout::drawer) is the cart.
|
|
Route::get('checkout', [CheckoutController::class, 'show'])
|
|
->name('checkout.show');
|
|
|
|
Route::post('checkout/address', [CheckoutController::class, 'saveAddress'])
|
|
->name('checkout.address.save');
|
|
|
|
Route::post('checkout/shipping-option', [CheckoutController::class, 'selectShippingOption'])
|
|
->name('checkout.shipping-option.select');
|
|
|
|
Route::get('checkout/box-now/lockers', [CheckoutController::class, 'boxNowLockers'])
|
|
->name('checkout.box-now.lockers');
|
|
|
|
Route::post('checkout/box-now/locker', [CheckoutController::class, 'selectBoxNowLocker'])
|
|
->name('checkout.box-now.locker.select');
|
|
|
|
|
|
Route::post('checkout/payment-method', [CheckoutController::class, 'selectPaymentMethod'])
|
|
->name('checkout.payment-method.select');
|
|
|
|
Route::post('checkout/place-order', [CheckoutController::class, 'placeOrder'])
|
|
->name('checkout.place-order');
|
|
|
|
Route::get('checkout/order-status', [CheckoutController::class, 'orderStatus'])
|
|
->name('checkout.order-status');
|
|
|
|
Route::get('checkout/confirmation', [CheckoutController::class, 'confirmation'])
|
|
->name('checkout.confirmation');
|
|
|
|
Route::post('cart/lines', [CartController::class, 'add'])
|
|
->name('checkout.cart.add');
|
|
|
|
Route::patch('cart/lines/{line}', [CartController::class, 'updateLine'])
|
|
->whereNumber('line')
|
|
->name('checkout.cart.update');
|
|
|
|
Route::delete('cart/lines/{line}', [CartController::class, 'remove'])
|
|
->whereNumber('line')
|
|
->name('checkout.cart.remove');
|
|
|
|
Route::post('cart/coupon', [CartController::class, 'applyCoupon'])
|
|
->name('checkout.cart.coupon.apply');
|
|
|
|
Route::delete('cart/coupon', [CartController::class, 'removeCoupon'])
|
|
->name('checkout.cart.coupon.remove');
|
|
});
|