Files
kreios/backoffice/routes/api.php
T
carmine.savino 06617a985a feat: add previous configuration handling for user selections in quotes
- Implemented session storage management for the last configuration choices made by the user.
- Added functionality to prompt users when changing models to retain their previous selections.
- Introduced methods to apply previous choices to the newly loaded model, including finishes, handles, glass types, and options.
- Enhanced user experience by ensuring selections are automatically applied where applicable.
2026-10-19 19:49:44 +02:00

36 lines
1.8 KiB
PHP

<?php
use App\Http\Controllers\Api\AuthController;
use App\Http\Controllers\Api\CarrelloController;
use App\Http\Controllers\Api\CatalogoController;
use App\Http\Controllers\Api\MediaController;
use Illuminate\Support\Facades\Route;
// Espone al configuratore l'URL corrente dell'app cliente (checkout), così il
// frontend non deve indovinare la porta su cui gira Vite (può cambiare se 5174 è occupata).
Route::get('config', fn () => response()->json([
'frontend_cliente_url' => config('preventivi.frontend_cliente_url'),
]));
// Catalogo prodotti (sistemi e modelli con icone) per il configuratore.
Route::get('sistemi', [CatalogoController::class, 'sistemi']);
Route::get('sistemi/{codice}', [CatalogoController::class, 'sistemaPerCodice']);
Route::get('sistemi/{codice}/modelli/{modello}/listino', [CatalogoController::class, 'listino']);
Route::get('sistemi/{codice}/modelli/{modello}/configurazione', [CatalogoController::class, 'configurazione']);
Route::post('sistemi/{codice}/modelli/{modello}/prezzo', [CatalogoController::class, 'prezzo'])->middleware('throttle:240,1');
// Immagini del configuratore (finiture, vetri, icone) servite con gli header CORS.
Route::get('media/{percorso}', MediaController::class)->where('percorso', '.*')->name('media');
Route::prefix('auth')->group(function () {
Route::post('login', [AuthController::class, 'login']);
Route::middleware('auth:sanctum')->get('me', [AuthController::class, 'me']);
});
Route::prefix('carrello')->group(function () {
Route::post('aggiungi', [CarrelloController::class, 'aggiungi']);
Route::get('{token}', [CarrelloController::class, 'mostra']);
Route::delete('{token}/item/{item}', [CarrelloController::class, 'rimuoviItem']);
Route::post('{token}/conferma', [CarrelloController::class, 'conferma']);
});