load(); return response()->json($dataset->summary()); }); Route::get('/', function(){ return redirect('/login'); })->middleware(isGuesOrtAuth::class); Route::get('/login', [AuthenticationController::class, 'login'])->middleware(isGuest::class); Route::post('/logout', [AuthenticationController::class, 'logout']); Route::post('/auth', [AuthenticationController::class, 'auth'])->middleware(isGuest::class); //angket Route::get('/angket/{kode_kelas}', [AngketController::class, 'index'])->middleware(isGuesOrtAuth::class); Route::prefix('siswa')->middleware(isSiswa::class)->group(function () { Route::get('/', [DashboardSiswaController::class, 'index'])->name('siswa.dashboard'); }); // khusus Route::get('/kelas/logbook-get/{id}', [LogbookController::class, 'getLogbook']); Route::prefix('admin')->middleware(isAdmin::class)->group(function () { Route::get('/', [DashboardController::class, 'index'])->name('admin.dashboard'); Route::get('/get-jumlahsiswa-bulan', [DashboardController::class, 'getJumlahSiswaPerbulan']); Route::get('/dashboard-data', [DashboardController::class, 'dashboardData']); Route::get('/dashboard-chart-data', [DashboardController::class, 'dashboardChartData']); Route::get('/insert-histori', [DashboardController::class, 'insertHistori']); Route::get('/siswa', [SiswaController::class, 'index']); Route::get('/siswa/approved-list-count', [SiswaController::class, 'getApprovedListCount']); Route::get('/siswa/approved-list', [SiswaController::class, 'aprovedList']); Route::get('/siswa/compare/{id}', [SiswaController::class, 'compareSiswa']); Route::post('/siswa/approve', [SiswaController::class, 'approveSiswa']); Route::post('/siswa', [SiswaController::class, 'store']); Route::get('/siswa-get/{id}', [SiswaController::class, 'getDataSiswa']); Route::get('/siswa/{id}/detail', [SiswaController::class, 'show'])->name('admin.siswa.detail'); Route::get('/siswa-get-count', [SiswaController::class, 'getSiswaCount']); Route::put('update-siswa/{id}', [SiswaController::class, 'update']); Route::delete('delete-siswa/{id}', [SiswaController::class, 'destroy']); Route::get('/kelas', [KelasController::class, 'index']); Route::get('/kelas/get-year', function () { $years = Kelas::select(DB::raw('YEAR(created_at) as year')) ->distinct() ->orderBy('year', 'desc') ->pluck('year'); return response()->json($years); }); Route::get('/kelas/export-excel-all/{year}', [KelasController::class, 'exportExcelAll']); Route::get('/kelas/export-excel-filter', [KelasController::class, 'exportExcelFilter']); Route::get('/kelas/export-logbook-filter', [KelasController::class, 'exportLogbookFilter']); Route::get('/kelas/export-siswa-filter', [KelasController::class, 'exportSiswaFilter']); Route::get('/kelas-tambah', [KelasController::class, 'create']); Route::get('/kelas/check-schedule', [KelasController::class, 'checkScheduleConflict']); Route::post('/kelas', [KelasController::class, 'store']); Route::get('/kelas/{id}', [KelasController::class, 'show']); Route::get('/kelas/export-excel/{id}', [KelasController::class, 'exportExcel']); Route::put('/kelas-edit/{id}', [KelasController::class, 'update']); Route::post('/kelas/siswas-tambah', [KelasController::class, 'tambahSiswas']); Route::get('/kelas/data-siswa/{kelas_id}', [KelasController::class, 'getSiswasKelas']); Route::get('/kelas/siswa-get/{id}', [KelasController::class, 'getPesertaKelas']); Route::delete('/kelas/siswa-delete/{id}', [KelasController::class, 'destroyerSiswaFromKelas']); Route::put('/kelas/siswa-edit/{id}', [KelasController::class, 'editSiswa']); Route::delete('/kelas-delete/{id}', [KelasController::class, 'destroy']); Route::post('/kelas/logbook', [LogbookController::class, 'store']); Route::post('/kelas/logbook/addrow', [LogbookController::class, 'addrow']); Route::post('/kelas/logbook-import', [LogbookController::class, 'import']); Route::put('/kelas/logbook-edit/{id}', [LogbookController::class, 'update']); Route::get('/kelas/logbook-get/{id}', [LogbookController::class, 'getLogbook']); Route::post('/kelas/logbook/duplicate/{id}', [LogbookController::class, 'duplicate']); Route::delete('/kelas/logbook-delete/{id}', [LogbookController::class, 'destroy']); Route::delete('/kelas/logbook-selected-delete', [LogbookController::class, 'destroySelected']); Route::delete('/kelas/logbook-foto-delete/{id}', [LogbookController::class, 'destroyFoto']); Route::get('/jadwal', [JadwalController::class, 'index']); Route::get('/jadwal/hari-ini', [JadwalController::class, 'getDataHariIni']); Route::get('/jadwal/ajax-hari-ini', [JadwalController::class, 'getJadwalHariIni']); Route::get('/jadwal/ajax-besok', [JadwalController::class, 'getJadwalBesok']); Route::get('/jadwal/ajax-logbook-data', [JadwalController::class, 'getLogbookData']); Route::put('/jadwal/isi-logbook/{id}', [LogbookController::class, 'updateLog']); Route::delete('/jadwal/logbook-foto-delete/{id}', [LogbookController::class, 'destroyFotoLog']); route::get('/jadwal-calendar', [JadwalController::class, 'calendar']); route::get('/jadwal-calendar-data', [JadwalController::class, 'calendarData']); Route::get('/jadwal-calendar-data-count/{id}', [JadwalController::class, 'calendarCountData']); Route::get('/generate-ga', [JadwalController::class, 'generateGAIndex']); Route::get('/hasil-ga', [JadwalController::class, 'hasilGAIndex']); Route::get('/export-excel-ga', [JadwalController::class, 'exportExcelGA']); Route::get('/export-excel-ga-presentation', [JadwalController::class, 'exportExcelGaPresentation']); Route::get('/jadwal-mingguan', [JadwalController::class, 'jadwalMingguan']); Route::get('/jadwal-mingguan/export-excel', [JadwalController::class, 'exportExcelMingguan']); Route::get('/jadwal-kromosom', [JadwalController::class, 'jadwalKromosom']); Route::get('/jadwal-mingguan-data', [JadwalController::class, 'getJadwalMingguanData']); Route::post('/jadwal/generate-ga', [JadwalController::class, 'generateGA']); Route::post('/jadwal/generate-logbook', [JadwalController::class, 'generateLogbookFromJadwal']); Route::get('/guru', [GuruController::class, 'index']); Route::post('/guru', [GuruController::class, 'store']); Route::get('/guru-get-count', [GuruController::class, 'getDataGuru']); Route::get('/guru-get/{id}', [GuruController::class, 'getData']); Route::get('/guru/{id}/detail', [GuruController::class, 'show'])->name('admin.guru.detail'); Route::post('/guru/{id}/ketersediaan', [GuruController::class, 'updateKetersediaan'])->name('admin.guru.ketersediaan.update'); Route::get('/guru/{id}/raport/{semester}/{tahun_ajaran}', [GuruController::class, 'raportDetail']) ->name('admin.guru.raport.detail') ->where('tahun_ajaran', '.+'); Route::put('/guru-update/{id}', [GuruController::class, 'update']); Route::delete('delete-guru/{id}', [GuruController::class, 'destroy']); Route::get('/sekolah/input', [SekolahController::class, 'inputData']); Route::get('/sekolah', [SekolahController::class, 'index']); Route::get('/sekolah/data-sekolah/{sekolah_id}', [SekolahController::class, 'getDataSekolah']); Route::get('/sekolah-get-count', [SekolahController::class, 'getDataSekolahCount']); Route::get('/sekolah/create', [SekolahController::class, 'create']); Route::get('/sekolah/edit/{id}', [SekolahController::class, 'edit']); Route::put('/sekolah/update/{id}', [SekolahController::class, 'update']); Route::post('/sekolah', [SekolahController::class, 'store']); Route::post('/sekolah/pindah-sekolah', [SekolahController::class, 'pindahSekolah']); Route::delete('/delete-sekolah/{id}', [SekolahController::class, 'destroy']); Route::get('/program', [ProgramController::class, 'index']); Route::post('/program', [ProgramController::class, 'store']); Route::get('/program-data/{id}', [ProgramController::class, 'data']); Route::put('/program/{id}', [ProgramController::class, 'update']); Route::delete('/program/{id}', [ProgramController::class, 'destroy']); Route::get('/ruangan', [RuanganController::class, 'index']); Route::post('/ruangan', [RuanganController::class, 'store']); Route::get('/ruangan-data/{id}', [RuanganController::class, 'data']); Route::put('/ruangan/{id}', [RuanganController::class, 'update']); Route::delete('/ruangan/{id}', [RuanganController::class, 'destroy']); Route::get('/user-admin', [UserAdminController::class, 'index']); Route::post('/user-admin', [UserAdminController::class, 'store']); Route::put('/user-admin/{id}', [UserAdminController::class, 'update']); Route::delete('/user-admin/{id}', [UserAdminController::class, 'destroy']); // Settings Route::get('/settings', [SettingController::class, 'index']); Route::get('/settings/divisi-guru', [SettingController::class, 'DivisiGuruIndex']); Route::post('/settings/divisi-guru', [SettingController::class, 'DivisiGuruStore']); Route::put('/settings/divisi-guru-update/{id}', [SettingController::class, 'divisiGuruUpdate']); Route::delete('/settings/divisi-guru/{id}', [SettingController::class, 'DivisiGuruDestroy']); Route::get('/settings/master-sesi', [SettingController::class, 'masterSesiIndex'])->name('admin.settings.master-sesi'); Route::post('/settings/master-sesi', [SettingController::class, 'masterSesiStore']); Route::put('/settings/master-sesi-update/{id}', [SettingController::class, 'masterSesiUpdate']); Route::delete('/settings/master-sesi/{id}', [SettingController::class, 'masterSesiDestroy']); Route::get('/settings/master-hari', [SettingController::class, 'masterHariIndex'])->name('admin.settings.master-hari'); Route::post('/settings/master-hari', [SettingController::class, 'masterHariStore']); Route::put('/settings/master-hari-update/{id}', [SettingController::class, 'masterHariUpdate']); Route::delete('/settings/master-hari/{id}', [SettingController::class, 'masterHariDestroy']); Route::get('/settings/ketersediaan', [SettingController::class, 'ketersediaanIndex'])->name('admin.settings.ketersediaan'); Route::get('/master-data', [SettingController::class, 'masterDataIndex']); Route::get('/master-data-export', [SettingController::class, 'exportMasterData']); }); Route::prefix('guru')->middleware(isGuru::class)->group(function () { Route::get('/dashboard-data', [DashboardGuruController::class, 'dashboardData']); Route::get('/dashboard-chart-data', [DashboardGuruController::class, 'getChartData']); Route::get('/', [DashboardGuruController::class, 'index'])->name('guru.dashboard'); Route::get('/jadwal', [JadwalGuruController::class, 'index']); Route::get('/jadwal/hari-ini', [JadwalGuruController::class, 'getDataHariIni']); Route::get('/jadwal/ajax-hari-ini', [JadwalGuruController::class, 'getJadwalHariIni']); Route::get('/jadwal/ajax-besok', [JadwalGuruController::class, 'getJadwalBesok']); Route::get('/jadwal/ajax-logbook-data', [JadwalGuruController::class, 'getLogbookData']); route::get('/jadwal-calendar', [JadwalGuruController::class, 'calendar']); route::get('/jadwal-calendar-data', [JadwalGuruController::class, 'calendarData']); // show & edit logbook Route::put('/jadwal/isi-logbook/{id}', [LogbookGuruController::class, 'updateLog']); Route::delete('/jadwal/logbook-foto-delete/{id}', [LogbookGuruController::class, 'destroyFotoLog']); Route::post('/kelas/logbook', [LogbookGuruController::class, 'store']); Route::post('/kelas/logbook/addrow', [LogbookGuruController::class, 'addrow']); Route::post('/kelas/logbook-import', [LogbookGuruController::class, 'import']); Route::put('/kelas/logbook-edit/{id}', [LogbookGuruController::class, 'update']); Route::get('/kelas/logbook-get/{id}', [LogbookController::class, 'getLogbook']); Route::delete('/kelas/logbook-delete/{id}', [LogbookGuruController::class, 'destroy']); Route::delete('/kelas/logbook-selected-delete', [LogbookGuruController::class, 'destroySelected']); Route::delete('/kelas/logbook-foto-delete/{id}', [LogbookGuruController::class, 'destroyFoto']); Route::get('/kelas', [KelasGuruController::class, 'index']); Route::post('/kelas', [KelasGuruController::class, 'store']); Route::get('/kelas/{id}', [KelasGuruController::class, 'show']); Route::put('/kelas-edit/{id}', [KelasGuruController::class, 'update']); Route::post('/kelas/siswas-tambah', [KelasGuruController::class, 'tambahSiswas']); Route::get('/kelas/data-siswa/{kelas_id}', [KelasGuruController::class, 'getSiswasKelas']); Route::get('/kelas/siswa-get/{id}', [KelasGuruController::class, 'getPesertaKelas']); Route::delete('/kelas/siswa-delete/{id}', [KelasGuruController::class, 'destroyerSiswaFromKelas']); Route::put('/kelas/siswa-edit/{id}', [KelasGuruController::class, 'editSiswa']); Route::delete('/kelas-delete/{id}', [KelasGuruController::class, 'destroy']); Route::get('/profile', [ProfileGuruController::class, 'index']); Route::get('/profile/get-data', [ProfileGuruController::class, 'getDataProfile']); Route::put('/profile/save-data', [ProfileGuruController::class, 'saveDataProfile']); Route::put('/profile/update-password', [ProfileGuruController::class, 'updatePassword']); Route::get('/ketersediaan', [ProfileGuruController::class, 'ketersediaan'])->name('guru.ketersediaan'); Route::post('/ketersediaan', [ProfileGuruController::class, 'updateKetersediaan'])->name('guru.ketersediaan.update'); // Galeri Foto Route::get('/galeri', [GaleriGuruController::class, 'index'])->name('guru.galeri'); Route::get('/galeri/download/{id}', [GaleriGuruController::class, 'download'])->name('guru.galeri.download'); });