Files
BRISTO/routes/web.php
jeremy bayse 89a369964d Premier commit
2026-02-09 11:27:21 +01:00

77 lines
3.9 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\ContractController;
use App\Http\Controllers\DocumentController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::get('/', function () {
return redirect()->route('dashboard');
});
// Auth
Route::get('/login', [AuthController::class, 'showLogin'])->name('login');
Route::post('/login', [AuthController::class, 'login']);
Route::get('/register', [AuthController::class, 'showRegister'])->name('register');
Route::post('/register', [AuthController::class, 'register']);
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
// Dashboard & Resources
Route::middleware(['auth', 'active'])->group(function () {
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
Route::post('/dashboard/note', [DashboardController::class, 'updateNote'])->name('dashboard.note.update');
Route::resource('contracts', ContractController::class);
// Municipalities
Route::resource('municipalities', \App\Http\Controllers\MunicipalityController::class)->only(['index', 'show']);
// Document Upload
Route::post('contracts/{contract}/documents', [DocumentController::class, 'store'])->name('documents.store');
Route::delete('documents/{document}', [DocumentController::class, 'destroy'])->name('documents.destroy');
// Logs (Admin Only)
// Route::get('logs', ...)
// Cortex XDR
Route::get('/cortex', [App\Http\Controllers\CortexXdrController::class, 'index'])->name('cortex.index');
Route::get('/cortex/data', [App\Http\Controllers\CortexXdrController::class, 'getData'])->name('cortex.data');
});
// Admin Approval Routes (Example)
Route::middleware(['auth', 'active', 'admin'])->prefix('admin')->name('admin.')->group(function () {
Route::get('/users', function () {
// List pending users
})->name('users.index');
// Admin Municipalities
Route::get('/municipalities', [\App\Http\Controllers\Admin\MunicipalityController::class, 'index'])->name('municipalities.index');
Route::post('/municipalities/{municipality}/toggle', [\App\Http\Controllers\Admin\MunicipalityController::class, 'toggle'])->name('municipalities.toggle');
// Admin License Levels
Route::get('/license-levels', [\App\Http\Controllers\Admin\LicenseLevelController::class, 'index'])->name('license_levels.index');
Route::post('/license-levels', [\App\Http\Controllers\Admin\LicenseLevelController::class, 'store'])->name('license_levels.store');
Route::post('/license-levels/{licenseLevel}/toggle', [\App\Http\Controllers\Admin\LicenseLevelController::class, 'toggle'])->name('license_levels.toggle');
Route::delete('/license-levels/{licenseLevel}', [\App\Http\Controllers\Admin\LicenseLevelController::class, 'destroy'])->name('license_levels.destroy');
// Admin Links
Route::get('/links', [\App\Http\Controllers\Admin\LinkController::class, 'index'])->name('links.index');
Route::post('/links', [\App\Http\Controllers\Admin\LinkController::class, 'store'])->name('links.store');
Route::get('/links/{link}/edit', [\App\Http\Controllers\Admin\LinkController::class, 'edit'])->name('links.edit');
Route::put('/links/{link}', [\App\Http\Controllers\Admin\LinkController::class, 'update'])->name('links.update');
Route::post('/links/{link}/toggle', [\App\Http\Controllers\Admin\LinkController::class, 'toggle'])->name('links.toggle');
Route::delete('/links/{link}', [\App\Http\Controllers\Admin\LinkController::class, 'destroy'])->name('links.destroy');
});