diff --git a/routes/web.php b/routes/web.php index 60f3cec..163df66 100644 --- a/routes/web.php +++ b/routes/web.php @@ -30,157 +30,70 @@ Route::get('/', function () { ]); }); -Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () { - return Inertia::render('Dashboard'); -})->name('dashboard'); +Route::middleware(['auth:sanctum', 'verified'])->group(function () { + Route::get('/dashboard', function () { + return Inertia::render('Dashboard'); + })->name('dashboard'); -Route::get('contacts', [ContactController::class, 'index']) - ->name('contacts') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('contacts')->group(function () { + Route::get('/', [ContactController::class, 'index'])->name('contacts'); + Route::get('buyers', [ContactController::class, 'buyers'])->name('contacts.buyers'); + Route::get('sellers', [ContactController::class, 'sellers'])->name('contacts.sellers'); + Route::get('create', [ContactController::class, 'create'])->name('contacts.create'); + Route::post('/', [ContactController::class, 'store'])->name('contacts.store'); + Route::post('store_for_contract', [ContactController::class, 'storeForContract'])->name('contacts.store_for_contract'); -Route::get('contacts/buyers', [ContactController::class, 'buyers']) - ->name('contacts.buyers') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('{contact}')->group(function () { + Route::get('/', [ContactController::class, 'show'])->name('contacts.show'); + Route::get('edit', [ContactController::class, 'edit'])->name('contacts.edit'); + Route::put('/', [ContactController::class, 'update'])->name('contacts.update'); + Route::get('delete', [ContactController::class, 'destroy'])->name('contacts.destroy'); + Route::get('restore', [ContactController::class, 'restore'])->name('contacts.restore'); + }); + }); -Route::get('contacts/sellers', [ContactController::class, 'sellers']) - ->name('contacts.sellers') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('cars')->group(function () { + Route::get('/', [CarController::class, 'index'])->name('cars'); + Route::get('unsold', [CarController::class, 'unsold'])->name('cars.unsold'); + Route::get('sold', [CarController::class, 'sold'])->name('cars.sold'); + Route::get('create', [CarController::class, 'create'])->name('cars.create'); + Route::post('cars', [CarController::class, 'store'])->name('cars.store'); + Route::post('cars/store_for_contract', [CarController::class, 'storeForContract'])->name('cars.store_for_contract'); -Route::get('contacts/create', [ContactController::class, 'create']) - ->name('contacts.create') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('{car}')->group(function () { + Route::get('/', [CarController::class, 'show'])->name('cars.show'); + Route::get('edit', [CarController::class, 'edit'])->name('cars.edit'); + Route::put('/', [CarController::class, 'update'])->name('cars.update'); + Route::get('delete', [CarController::class, 'destroy'])->name('cars.destroy'); + Route::get('restore', [CarController::class, 'restore'])->name('cars.restore'); + }); + }); -Route::post('contacts', [ContactController::class, 'store']) - ->name('contacts.store') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('contracts')->group(function () { + Route::post('/', [ContractController::class, 'store'])->name('contracts.store'); -Route::post('contacts/store_for_contract', [ContactController::class, 'storeForContract']) - ->name('contacts.store_for_contract') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('create/{0|1}')->group(function () { + Route::get('car/{car}/contact/{contact}', [ContractController::class, 'create'])->name('contracts.create'); + Route::get('car/{car}', [ContractController::class, 'createFromCar'])->name('contracts.create_from_car'); + Route::get('contact/{contact}', [ContractController::class, 'createFromContact'])->name('contracts.create_from_contact'); + }); -Route::get('contacts/{contact}/edit', [ContactController::class, 'edit']) - ->name('contacts.edit') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('{contract}')->group(function () { + Route::get('/', [ContractController::class, 'show'])->name('contracts.show'); + Route::get('edit', [ContractController::class, 'edit'])->name('contracts.edit'); + Route::put('/', [ContractController::class, 'update'])->name('contracts.update'); + Route::get('delete', [ContractController::class, 'destroy'])->name('contracts.destroy'); + Route::get('restore', [ContractController::class, 'restore'])->name('contracts.restore'); + Route::get('print', [ContractController::class, 'print'])->name('contracts.print'); + }); + }); -Route::get('contacts/{contact}', [ContactController::class, 'show']) - ->name('contacts.show') - ->middleware(['auth:sanctum', 'verified']); + Route::prefix('documents')->group(function () { + Route::get('{document}', [DocumentController::class, 'show'])->name('documents.show'); + Route::get('{document}/delete', [DocumentController::class, 'destroy'])->name('documents.destroy'); + Route::post('{contract}', [DocumentController::class, 'store'])->name('documents.store'); + }); -Route::put('contacts/{contact}', [ContactController::class, 'update']) - ->name('contacts.update') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contacts/{contact}/delete', [ContactController::class, 'destroy']) - ->name('contacts.destroy') - ->middleware(['auth:sanctum', 'verified']); - -Route::put('contacts/{contact}/restore', [ContactController::class, 'restore']) - ->name('contacts.restore') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars', [CarController::class, 'index']) - ->name('cars') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars/unsold', [CarController::class, 'unsold']) - ->name('cars.unsold') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars/sold', [CarController::class, 'sold']) - ->name('cars.sold') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars/create', [CarController::class, 'create']) - ->name('cars.create') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars/{car}/edit', [CarController::class, 'edit']) - ->name('cars.edit') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars/{car}', [CarController::class, 'show']) - ->name('cars.show') - ->middleware(['auth:sanctum', 'verified']); - -Route::put('cars/{car}', [CarController::class, 'update']) - ->name('cars.update') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars/{car}/delete', [CarController::class, 'destroy']) - ->name('cars.destroy') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('cars/{car}/restore', [CarController::class, 'restore']) - ->name('cars.restore') - ->middleware(['auth:sanctum', 'verified']); - -Route::post('cars', [CarController::class, 'store']) - ->name('cars.store') - ->middleware(['auth:sanctum', 'verified']); - -Route::post('cars/store_for_contract', [CarController::class, 'storeForContract']) - ->name('cars.store_for_contract') - ->middleware(['auth:sanctum', 'verified']); - -Route::post('brands', [BrandController::class, 'store']) - ->name('brands.store') - ->middleware(['auth:sanctum', 'verified']); - -Route::post('models', [CarModelController::class, 'store']) - ->name('models.store') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/{contract}', [ContractController::class, 'show']) - ->name('contracts.show') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/{contract}/print', [ContractController::class, 'print']) - ->name('contracts.print') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/create/{type}/car/{car}/contact/{contact}', [ContractController::class, 'create']) - ->where('type', '0|1') - ->name('contracts.create') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/create/{type}/car/{car}', [ContractController::class, 'createFromCar']) - ->where('type', '0|1') - ->name('contracts.create_from_car') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/create/{type}/contact/{contact}', [ContractController::class, 'createFromContact']) - ->where('type', '0|1') - ->name('contracts.create_from_contact') - ->middleware(['auth:sanctum', 'verified']); - -Route::post('contracts', [ContractController::class, 'store']) - ->name('contracts.store') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/{contract}/edit', [ContractController::class, 'edit']) - ->name('contracts.edit') - ->middleware(['auth:sanctum', 'verified']); - -Route::put('contracts/{contract}', [ContractController::class, 'update']) - ->name('contracts.update') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/{contract}/delete', [ContractController::class, 'destroy']) - ->name('contracts.destroy') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('contracts/{contract}/restore', [ContractController::class, 'restore']) - ->name('contracts.restore') - ->middleware(['auth:sanctum', 'verified']); - -Route::post('documents/{contract}', [DocumentController::class, 'store']) - ->name('documents.store') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('documents/{document}/delete', [DocumentController::class, 'destroy']) - ->name('documents.destroy') - ->middleware(['auth:sanctum', 'verified']); - -Route::get('documents/{document}', [DocumentController::class, 'show']) - ->name('documents.show') - ->middleware(['auth:sanctum', 'verified']); \ No newline at end of file + Route::post('brands', [BrandController::class, 'store'])->name('brands.store'); + Route::post('models', [CarModelController::class, 'store'])->name('models.store'); +}); \ No newline at end of file