FarisaRahmaSari_E31222327/routes/web.php

89 lines
3.9 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\FingerDevicesControlller;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\EmployeeController;
use App\Http\Controllers\AttendanceController;
use App\Http\Controllers\LeaveController;
use App\Http\Controllers\ReportController;
use App\Http\Controllers\AnnouncementController;
use App\Http\Controllers\Api\AuthController;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Admin\ProfileController;
// Web Routes
Route::get('/', function () {
return redirect()->route('login');
})->name('welcome');
Auth::routes(['register' => false]);
// Admin Web Routes
Route::group(['middleware' => ['auth:admin']], function () {
Route::get('/admin', [DashboardController::class, 'index'])->name('admin.dashboard');
// Profile Route
Route::get('/profile', [App\Http\Controllers\Admin\ProfileController::class, 'index'])->name('profile.view');
// Logout Route
Route::post('/admin/logout', [AuthController::class, 'logout'])->name('admin.logout');
// Data Karyawan
Route::resource('employees', '\App\Http\Controllers\EmployeeController');
// Monitoring Presensi
Route::get('/attendance', [AttendanceController::class, 'index'])->name('admin.attendance');
// Pengajuan Izin
Route::get('/leave', [LeaveController::class, 'index'])->name('admin.leave');
Route::get('/leave/{id}/details', [LeaveController::class, 'getDetails'])->name('leave.details');
Route::post('/leave/{id}/update-status', [LeaveController::class, 'updateStatus'])->name('leave.updateStatus');
// Rekap Data
Route::get('/check', [ReportController::class, 'index'])->name('admin.reports');
Route::get('/sheet-report', [ReportController::class, 'sheetReport'])->name('sheet-report');
Route::post('/check-store', [ReportController::class, 'checkStore'])->name('check_store');
Route::post('/sheet-report/generate', [ReportController::class, 'generatePDF'])->name('admin.reports.generate');
// Announcement Routes
Route::get('/announcements', [AnnouncementController::class, 'announcement'])->name('announcements.announcement');
Route::get('/announcements/create', [AnnouncementController::class, 'create'])->name('announcements.create');
Route::post('/announcements', [AnnouncementController::class, 'store'])->name('announcements.store');
Route::get('/announcements/{announcement}/edit', [AnnouncementController::class, 'edit'])->name('announcements.edit');
Route::put('/announcements/{announcement}', [AnnouncementController::class, 'update'])->name('announcements.update');
Route::delete('/announcements/{announcement}', [AnnouncementController::class, 'destroy'])->name('announcements.destroy');
Route::delete('/attendance/{id}', [AttendanceController::class, 'destroy'])->name('attendance.destroy');
});
Route::get('attended/{user_id}', [AttendanceController::class, 'attended'])->name('attended');
Route::get('attended-before/{user_id}', [AttendanceController::class, 'attendedBefore'])->name('attendedBefore');
// Route::get('/attendance/assign', function () {
// return view('attendance_leave_login');
// })->name('attendance.login');
// Route::post('/attendance/assign', '\App\Http\Controllers\AttendanceController@assign')->name('attendance.assign');
// Route::get('/leave/assign', function () {
// return view('attendance_leave_login');
// })->name('leave.login');
// Route::post('/leave/assign', '\App\Http\Controllers\LeaveController@assign')->name('leave.assign');
// Route::get('{any}', 'App\http\controllers\VeltrixController@index');
// Route untuk mendapatkan CSRF token mentah
Route::get('/get-csrf-token', function () {
return response()->json([
'token' => csrf_token()
]);
});
Route::get('/reports/data', [ReportController::class, 'getData'])->name('admin.reports.data');
Route::get('/reports/summary', [ReportController::class, 'getSummary'])->name('admin.reports.summary');