MIF_E31231714/routes/web.php

58 lines
3.0 KiB
PHP

<?php
use App\Http\Controllers\AuthController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\DebugController;
use App\Http\Controllers\UserController;
use App\Http\Controllers\WelcomeController;
use App\Models\UserDosen;
use App\Models\UserStaff;
use Illuminate\Support\Facades\Route;
// Auth Routes
Route::get('/login', [AuthController::class, 'showLogin'])->name('login');
Route::post('/login', [AuthController::class, 'login'])->name('auth.login');
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
Route::get('/', [DashboardController::class, 'index'])->name('home');
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
// Welcome/Management Portal - Protected route
Route::middleware(['auth'])->group(function () {
Route::get('/welcome', [WelcomeController::class, 'index'])->name('welcome');
// API Routes untuk Attendance
Route::get('/api/attendance/data', [WelcomeController::class, 'getAttendanceData'])->name('attendance.get');
Route::post('/api/attendance/record', [WelcomeController::class, 'recordAttendance'])->name('attendance.record');
Route::post('/api/status/update', [WelcomeController::class, 'updateStatus'])->name('status.update');
// User listing pages
Route::get('/users', [UserController::class, 'index'])->name('users.index');
Route::get('/users/dosen/index', [UserController::class, 'dosen'])->name('users.dosen');
Route::get('/users/staff/index', [UserController::class, 'staff'])->name('users.staff');
// Dosen CRUD
Route::get('/dosen/create', [UserController::class, 'create'])->name('dosen.create');
Route::post('/dosen/store', [UserController::class, 'store'])->name('dosen.store');
Route::get('/dosen/{user}/edit', [UserController::class, 'edit'])->name('dosen.edit');
Route::put('/dosen/{user}', [UserController::class, 'update'])->name('dosen.update');
Route::delete('/dosen/{user}', [UserController::class, 'destroy'])->name('dosen.destroy');
// Staff CRUD
Route::get('/staff/create', [UserController::class, 'create'])->name('staff.create');
Route::post('/staff/store', [UserController::class, 'store'])->name('staff.store');
Route::get('/staff/{staff}/edit', [UserController::class, 'edit'])->name('staff.edit');
Route::put('/staff/{staff}', [UserController::class, 'update'])->name('staff.update');
Route::delete('/staff/{staff}', [UserController::class, 'destroy'])->name('staff.destroy');
// Generic user resource routes
Route::resource('users', UserController::class)->except(['show', 'index']);
});
// Debug Routes (remove in production)
Route::get('/debug/users', [DebugController::class, 'listUsers']);
Route::get('/debug/login/{nip}/{password}', [DebugController::class, 'debugLogin']);
Route::get('/debug/staff-passwords', [DebugController::class, 'checkStaffPasswords']);
Route::get('/debug/hash-staff-passwords', [DebugController::class, 'hashStaffPasswords']);
Route::get('/debug/test-staff-login', [DebugController::class, 'testStaffLogin']);