route('dashboard.index'); } return view('auth.login'); })->name('login'); Route::post('/login', [AuthController::class, 'login'])->name('login.post'); Route::post('/register/student', [AuthController::class, 'registerStudent'])->name('register.student.post'); Route::post('/register/teacher', [AuthController::class, 'registerTeacher'])->name('register.teacher.post'); Route::post('/logout', [AuthController::class, 'logout'])->name('logout'); // Routes untuk forgot-password flow Route::get('/forgot-password', [AuthController::class, 'showForgotPassword']) ->middleware('guest') ->name('password.request'); Route::post('/forgot-password', [AuthController::class, 'sendResetLink']) ->middleware('guest') ->name('password.email'); Route::get('/verify-token', [AuthController::class, 'showVerifyToken']) ->middleware('guest') ->name('password.verify.form'); Route::post('/verify-token', [AuthController::class, 'verifyToken']) ->middleware('guest') ->name('password.verify.token'); Route::get('/confirm-password', [AuthController::class, 'showConfirmPassword']) ->middleware('guest') ->name('password.confirm.form'); Route::post('/confirm-password', [AuthController::class, 'updatePassword']) ->middleware('guest') ->name('password.confirm.update'); // middleware auth Route::get('/pages/dashboard/dashboard', [DashboardController::class, 'index']) ->middleware('auth') ->name('dashboard.index'); // ====================== akun ===================== Route::get('/pages/akun/indentitas_siswa', [AuthController::class, 'identitasSiswa']) ->middleware('auth') ->name('akun.indentitas_siswa'); Route::delete('/pages/akun/indentitas_siswa/{id}', [AuthController::class, 'destroyStudent']) ->middleware('auth') ->name('akun.indentitas_siswa.destroy'); Route::put('/pages/akun/indentitas_siswa/{id}', [AuthController::class, 'updateStudent']) ->middleware('auth') ->name('akun.indentitas_siswa.update'); Route::put('/pages/akun/indentitas_siswa/{id}/edit-kelas', [AuthController::class, 'updateStudentClass']) ->middleware('auth') ->name('akun.indentitas_siswa.update_kelas'); Route::get('/pages/akun/indentitas_guru', [AuthController::class, 'identitasGuru']) ->middleware('auth') ->name('akun.indentitas_guru'); Route::post('/register/teacher', [AuthController::class, 'registerTeacher']) ->name('register.teacher.post'); Route::put('/pages/akun/indentitas_guru/{id}', [AuthController::class, 'updateTeacher']) ->middleware('auth') ->name('akun.indentitas_guru.update'); Route::delete('/pages/akun/indentitas_guru/{id}', [AuthController::class, 'destroyTeacher']) ->middleware('auth') ->name('akun.indentitas_guru.destroy'); // Route untuk hapus siswa // ====================== end akun ===================== // ===================== mata pelajaran =============== Route::get('/pages/mapel/mapel', [SubjectController::class, 'index']) ->middleware('auth') ->name('mapel.index'); Route::post('/pages/mapel/mapel', [SubjectController::class, 'store']) ->middleware('auth') ->name('mapel.store'); Route::put('/pages/mapel/mapel/{id}', [SubjectController::class, 'update']) ->middleware('auth') ->name('mapel.update'); Route::delete('/pages/mapel/mapel/{id}', [SubjectController::class, 'destroy']) ->middleware('auth') ->name('mapel.destroy'); // ==================== end mata pelajaran ============= // ======================== periode ==================== Route::get('/pages/periode/periode', [PeriodeController::class, 'index']) ->middleware('auth') ->name('periode.index'); Route::post('/pages/periode/periode', [PeriodeController::class, 'store']) ->middleware('auth') ->name('periode.store'); Route::post('/periode/{id}/activate', [PeriodeController::class, 'activate'])->name('periode.activate'); Route::put('/periode/{id}', [PeriodeController::class, 'update'])->name('periode.update'); Route::delete('/periode/{id}', [PeriodeController::class, 'destroy'])->name('periode.destroy'); // ===================== end periode ==================== // ======================== jadwal ======================== Route::get('/pages/jadwal/jadwal', [JadwalController::class, 'index']) ->middleware('auth') ->name('jadwal.index'); Route::post('/pages/jadwal/jadwal', [JadwalController::class, 'store']) ->middleware('auth') ->name('jadwal.store'); Route::put('/pages/jadwal/jadwal/{id}', [JadwalController::class, 'update']) ->middleware('auth') ->name('jadwal.update'); Route::delete('/pages/jadwal/jadwal', [JadwalController::class, 'destroy']) ->middleware('auth') ->name('jadwal.destroy'); Route::get('/jadwal/qr/{id}', [JadwalController::class, 'showQr'])->middleware('auth')->name('jadwal.qr'); Route::get('/jadwal/qr-link/{id}', [JadwalController::class, 'generateQrLink']) ->middleware('auth') ->name('jadwal.qr.link'); // ========================= end jadwal ====================== // ============================ kelas ========================== Route::get('/pages/kelas/kelas_absensi', [ClassController::class, 'harian']) ->middleware('auth') ->name('kelas.absensi'); Route::get('/pages/kelas/kelas_mapel', [ClassController::class, 'mapel']) ->middleware('auth') ->name('kelas.mapel'); // Route untuk tambah kelas Route::post('/pages/kelas/kelas', [ClassController::class, 'store']) ->middleware('auth') ->name('kelas.store'); // Route untuk update kelas Route::put('/pages/kelas/kelas/{id}', [ClassController::class, 'update']) ->middleware('auth') ->name('kelas.update'); // Route untuk hapus kelas Route::delete('/pages/kelas/kelas/{id}', [ClassController::class, 'destroy']) ->middleware('auth') ->name('kelas.destroy'); // Route untuk absensi kelas // Route::get('/pages/kelas/absensi_face_recognition/{id}', function ($id) { // return view('pages.kelas.absensi_face_recognition', compact('id')); // })->middleware('auth')->name('kelas.absensi_face_recognition'); // ========================== end kelas ====================== // ============================ absensi ====================== // Route::get('/pages/absensi/absensi_harian', function () { // return view('pages.absensi.absensi_harian'); // })->middleware('auth')->name('absensi.absensi_harian'); Route::get('/pages/absensi/absensi_harian/{classId}', [HistoryDailyController::class, 'absensiHarian']) ->middleware('auth') ->name('absensi.absensi_harian'); Route::post('/pages/absensi/absensi_harian/edit-status/{id}', [HistoryDailyController::class, 'editStatus']) ->middleware('auth') ->name('absensi_harian.edit_status'); Route::get('/pages/absensi/absensi_harian/export-excel/{classId}', [HistoryDailyController::class, 'exportExcel']) ->middleware('auth') ->name('absensi_harian.export_excel'); Route::get('/pages/absensi/absensi_mapel/{classId}', [AttendanceHistoryController::class, 'absensiMapel']) ->middleware('auth') ->name('absensi.absensi_mapel'); Route::get('/absensi-mapel/get-by-mapel/{classId}/{subjectId}', [AttendanceHistoryController::class, 'getAbsensiByMapel']) ->middleware('auth') ->name('absensi_mapel.get_by_mapel'); Route::get('/absensi-mapel/get-by-mapel-date/{classId}/{subjectId}/{tanggal}', [AttendanceHistoryController::class, 'getAbsensiByMapelAndDate']) ->middleware('auth') ->name('absensi_mapel.get_by_mapel_date'); Route::get('/absensi-mapel/get-schedules/{classId}/{subjectId}', [AttendanceHistoryController::class, 'getSchedules']) ->middleware('auth') ->name('absensi_mapel.get_schedules'); Route::post('/pages/absensi-mapel/edit-status/{id}', [AttendanceHistoryController::class, 'editStatus']) ->middleware('auth') ->name('absensi_mapel.edit_status'); // Route::get('/absensi-mapel/export-excel/{classId}', [AttendanceHistoryController::class, 'exportExcel']) // ->middleware('auth') // ->name('absensi_mapel.export_excel'); Route::get('/absensi-mapel/get-schedules/{classId}/{subjectId}', [AttendanceHistoryController::class, 'getSchedules']); Route::post('/absensi-mapel/export-excel/{classId}', [AttendanceHistoryController::class, 'exportExcel']); Route::get('/absensi-mapel/export-excel/{classId}', [AttendanceHistoryController::class, 'exportExcel']) ->middleware('auth') ->name('absensi_mapel.export_excel'); // ============================ end absensi ==================== Route::get('/pages/notifikasi/notifikasi', [NotificationController::class, 'index']) ->middleware('auth') ->name('notifikasi.index'); Route::delete('/pages/notifikasi/{id}', [NotificationController::class, 'destroy']) ->middleware('auth') ->name('notifikasi.destroy'); Route::get('/pages/setting/setting', [AuthController::class, 'showSetting']) ->middleware('auth') ->name('setting.index'); Route::post('/pages/setting/setting', [AuthController::class, 'updateSetting']) ->middleware('auth') ->name('setting.update'); Route::post('/pages/setting/delete-profile-picture', [AuthController::class, 'deleteProfilePicture']) ->middleware('auth') ->name('setting.photo.delete'); Route::get('/pages/laporkan/laporkan', [ReportController::class, 'index']) ->middleware('auth') ->name('laporkan.index'); Route::post('/report/{id}/update-status', [ReportController::class, 'updateStatus']) ->middleware('auth') ->name('report.updateStatus'); Route::get('/pages/perizinan/perizinan', [PermissionController::class, 'index']) ->middleware('auth') ->name('perizinan.index'); Route::post('/permissions/{id}/approve', [PermissionController::class, 'permissionAccept']) ->middleware('auth') ->name('permissions.approve'); Route::post('/permissions/{id}/reject', [PermissionController::class, 'permissionReject']) ->middleware('auth') ->name('permissions.reject'); Route::get('/send-wa', [NotificationController::class, 'sendWa']) ->name('send.wa'); Route::get('/public/attendance/qr/{token}', [JadwalController::class, 'showPublicQr']) ->name('jadwal.qr.public'); // Route::get('send-wa', function () { // $response = Http::withHeaders([ // 'Authorization' => 'n8wkFAyiDVZQNs6Vydwt', // ])->post('https://api.fonnte.com/send', [ // 'phone' => '+6281559769075', // 'message' => 'Hello, this is a test message from Fonnte API!', // ]); // dd(json_decode($response, true)); // });