- Introduced a new configuration file for purchase settings, including checkout and payment expiration times. - Added a migration to include a `reservation_status` column in the `compra_items` table, defaulting to 'active' and updating existing records based on purchase status. - Created a migration to add an `expires_at` timestamp to the `compras` table, updating it for existing records based on their status. - Scoped unique indexes in the `carritos` table to only active carts, adding virtual columns for active user and guest tokens. - Implemented a console command to expire overdue purchases and release stock reservations, scheduled to run every minute. - Added tests for Google token exchange and login functionality, ensuring proper cart handling and user authentication. - Updated purchase-related tests to reflect changes in item handling and customer data validation.
17 lines
1002 B
PHP
17 lines
1002 B
PHP
<?php
|
|
|
|
use App\Domains\Purchase\Controllers\PurchaseController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::prefix('tenants/{tenant:codigo}')->middleware('auth:sanctum')->group(function (): void {
|
|
Route::get('compras', [PurchaseController::class, 'index']);
|
|
Route::post('compras/start-checkout', [PurchaseController::class, 'startCheckout']);
|
|
Route::get('compras/{compra}', [PurchaseController::class, 'show']);
|
|
Route::post('compras/{compra}/edit-items', [PurchaseController::class, 'prepareItemEditing']);
|
|
Route::patch('compras/{compra}/items/{item}', [PurchaseController::class, 'updateItemQuantity']);
|
|
Route::patch('compras/{compra}/customer-data', [PurchaseController::class, 'updateCustomerData']);
|
|
Route::post('compras/{compra}/payment-intent', [PurchaseController::class, 'paymentIntent']);
|
|
Route::post('compras/{compra}/complete', [PurchaseController::class, 'complete']);
|
|
Route::post('compras/{compra}/cancel', [PurchaseController::class, 'cancel']);
|
|
});
|