get('/login', [AuthController::class, 'showLogin']); $router->post('/login', [AuthController::class, 'login']); $router->post('/logout', [AuthController::class, 'logout']); $router->get('/password/forgot', [AuthController::class, 'showForgotPassword']); $router->post('/password/forgot', [AuthController::class, 'forgotPassword']); $router->get('/password/reset', [AuthController::class, 'showResetPassword']); $router->post('/password/reset', [AuthController::class, 'resetPassword']); // Protected routes (require authentication) $router->group(['middleware' => 'auth'], function($router) { // Dashboard $router->get('/', [DashboardController::class, 'index']); $router->get('/dashboard', [DashboardController::class, 'index']); // Assets $router->get('/assets', [AssetController::class, 'index']); $router->get('/assets/create', [AssetController::class, 'create']); $router->post('/assets', [AssetController::class, 'store']); $router->get('/assets/{id}', [AssetController::class, 'show']); $router->get('/assets/{id}/edit', [AssetController::class, 'edit']); $router->post('/assets/{id}', [AssetController::class, 'update']); $router->post('/assets/{id}/delete', [AssetController::class, 'delete']); $router->post('/assets/{id}/assign', [AssetController::class, 'assign']); $router->post('/assets/{id}/checkout', [AssetController::class, 'checkout']); $router->post('/assets/{id}/checkin', [AssetController::class, 'checkin']); // Asset files $router->post('/assets/{id}/files', [FileController::class, 'upload']); $router->get('/files/{id}/download', [FileController::class, 'download']); $router->post('/files/{id}/delete', [FileController::class, 'delete']); // Inventory $router->get('/inventories', [InventoryController::class, 'index']); $router->get('/inventories/create', [InventoryController::class, 'create']); $router->post('/inventories', [InventoryController::class, 'store']); $router->get('/inventories/{id}', [InventoryController::class, 'show']); $router->post('/inventories/{id}/close', [InventoryController::class, 'close']); $router->post('/inventories/{id}/scan', [InventoryController::class, 'scan']); $router->get('/inventories/{id}/report', [InventoryController::class, 'report']); // Reports $router->get('/reports', [ReportController::class, 'index']); $router->get('/reports/assets', [ReportController::class, 'assets']); $router->get('/reports/warranty', [ReportController::class, 'warranty']); $router->get('/reports/retired', [ReportController::class, 'retired']); $router->get('/reports/location', [ReportController::class, 'location']); $router->get('/reports/category', [ReportController::class, 'category']); // Exports $router->get('/exports/csv', [ExportController::class, 'csv']); $router->get('/exports/xlsx', [ExportController::class, 'xlsx']); $router->get('/exports/labels', [ExportController::class, 'labels']); // Imports $router->get('/imports/csv', [ImportController::class, 'show']); $router->post('/imports/csv', [ImportController::class, 'import']); // Master data $router->get('/categories', [CategoryController::class, 'index']); $router->get('/categories/create', [CategoryController::class, 'create']); $router->post('/categories', [CategoryController::class, 'store']); $router->get('/categories/{id}/edit', [CategoryController::class, 'edit']); $router->post('/categories/{id}', [CategoryController::class, 'update']); $router->post('/categories/{id}/delete', [CategoryController::class, 'delete']); $router->get('/locations', [LocationController::class, 'index']); $router->get('/locations/create', [LocationController::class, 'create']); $router->post('/locations', [LocationController::class, 'store']); $router->get('/locations/{id}/edit', [LocationController::class, 'edit']); $router->post('/locations/{id}', [LocationController::class, 'update']); $router->post('/locations/{id}/delete', [LocationController::class, 'delete']); $router->get('/departments', [DepartmentController::class, 'index']); $router->get('/departments/create', [DepartmentController::class, 'create']); $router->post('/departments', [DepartmentController::class, 'store']); $router->get('/departments/{id}/edit', [DepartmentController::class, 'edit']); $router->post('/departments/{id}', [DepartmentController::class, 'update']); $router->post('/departments/{id}/delete', [DepartmentController::class, 'delete']); // Admin routes $router->group(['middleware' => 'admin'], function($router) { $router->get('/users', [UserController::class, 'index']); $router->get('/users/create', [UserController::class, 'create']); $router->post('/users', [UserController::class, 'store']); $router->get('/users/{id}/edit', [UserController::class, 'edit']); $router->post('/users/{id}', [UserController::class, 'update']); $router->post('/users/{id}/delete', [UserController::class, 'delete']); $router->post('/users/{id}/toggle', [UserController::class, 'toggleStatus']); }); }); // Error routes $router->get('/404', function() { http_response_code(404); require APP_PATH . '/Views/errors/404.php'; }); $router->get('/500', function() { http_response_code(500); require APP_PATH . '/Views/errors/500.php'; });