EVOLUTION-NINJA
Edit File: api.php
<?php use App\Http\Controllers\LibraryController; use App\Models\issueBook; use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; use App\Http\Controllers\RoleController; use App\Http\Controllers\AuthController; use App\Http\Controllers\EmployeeController; use App\Http\Controllers\FeesCollectionController; use App\Http\Controllers\FeeStructureController; use App\Http\Controllers\StudentController; use App\Http\Controllers\ClassRoomController; use App\Http\Controllers\AdminAttendanceController; use App\Http\Controllers\ClassSubjectController; Route::apiResource('roles', RoleController::class); Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); }); Route::middleware('auth:sanctum')->get('/check-session', function (Request $request) { return response()->json(['logged_in' => true]); }); Route::post('/login', [AuthController::class, 'login']); Route::post('/mfa-verify', [AuthController::class, 'mfaVerify']); Route::get('/check-login', [AuthController::class, 'checkLogin']); Route::post('/register', [AuthController::class, 'register']); Route::get('/registerDataEdit/{id}', [AuthController::class, 'show']); Route::put('/registerDataUpdate/{id}', [AuthController::class, 'update']); Route::delete('/registerDataDelete/{id}', [AuthController::class, 'destroy']); Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth:sanctum'); // Route::middleware('auth:sanctum')->post('/student-admission', [StudentController::class, 'Add_student']); // Route::middleware('auth:sanctum')->get('/StudentList', [StudentController::class, 'StudentList']); // Route::middleware('auth:sanctum')->get('/Student/{id}', [StudentController::class, 'ViewStudent']); // Route::middleware('auth:sanctum')->put('/studentsUpdate/{id}', [StudentController::class, 'studentsUpdate']); // Route::middleware('auth:sanctum')->delete('/studentsDelete/{id}', [StudentController::class, 'StudentsDelete']); // Route::get('/next-student-id', [StudentController::class, 'nextStudentId']); Route::post('/student-admission', [StudentController::class, 'Add_student']); Route::get('/StudentList', [StudentController::class, 'StudentList']); Route::get('/Student/{id}', [StudentController::class, 'ViewStudent']); Route::put('/studentsUpdate/{id}', [StudentController::class, 'studentsUpdate']); Route::delete('/studentsDelete/{id}', [StudentController::class, 'StudentsDelete']); Route::get('/next-student-id', [StudentController::class, 'nextStudentId']); // attedance Route::get('/students', [StudentController::class, 'students_attendance']); Route::post('/submit-attendance', [StudentController::class, 'storeAttendance']); Route::get('/attendance-report', [StudentController::class, 'getAttendanceReport']); // Route::get('/employees', [EmployeeController::class, 'EmployeesList']); Route::post('/addEmployee', [EmployeeController::class, 'AddEmployees']); Route::put('/updateEmployee/{id}', [EmployeeController::class, 'EmployeesUpdate']); Route::delete('/EmployeeDelete/{id}', [EmployeeController::class, 'EmployeesDelete']); Route::get('/next-employee-id', [EmployeeController::class, 'nextEmployeesId']); // Routes For FeeCollection...................... Route::post('/fees-collection',[FeesCollectionController::class,'fees_collection']); Route::get('/fees-collection-list',[FeesCollectionController::class,'fees_collection_list']); // Routes For Fees Structure........... Route::get('/studentFee/{studentId}', [FeesCollectionController::class, 'studentFee']); Route::get('/fees-structure-list',[FeeStructureController::class,'index']); Route::post('/fees-structure-store',[FeeStructureController::class,'fees_structure_store']); Route::put('/fees-structure-update/{id}', [FeeStructureController::class, 'fees_structure_update']); Route::delete('/fees-structure-delete/{id}', [FeeStructureController::class, 'fees_structure_destroy']); Route::get('/classes-list', [ClassRoomController::class, 'index']); // list Route::post('/classes-insert', [ClassRoomController::class, 'class_insert']); // create Route::put('/classes-update/{id}', [ClassRoomController::class, 'class_update']); // update Route::delete('/classes-delete/{id}', [ClassRoomController::class, 'class_delete']); // delete Route::get('/employees/search', [ClassRoomController::class, 'searchEmployees']); // ?q=pri in input field search emplyoee Route::get('/admin/attendance/classes-list', [AdminAttendanceController::class, 'classes_list']); // Step 1: list students for class+date Route::get('/admin/attendance/students-list', [AdminAttendanceController::class, 'students_list']); // ?class_name=§ion=&date=YYYY-MM-DD // Step 2: submit attendance (absent ids only) Route::post('/admin/attendance/submit-attendance', [AdminAttendanceController::class, 'submit_attendance']); // Update / delete a submission Route::put('/admin/attendance/update-attendance/{id}', [AdminAttendanceController::class, 'update_attendance']); Route::delete('/admin/attendance/delete-attendance/{id}', [AdminAttendanceController::class, 'delete_attendance']); // Reports Route::get('/admin/attendance/day', [AdminAttendanceController::class, 'dayReport']); // class/date Route::get('/admin/attendance/date-range', [AdminAttendanceController::class, 'dateRangeReport']); // class, start, end Route::get('/admin/attendance/student/{student_id}', [AdminAttendanceController::class, 'studentMonthReport']); // ?month=YYYY-MM Route::get('/admin/attendance/class-month', [AdminAttendanceController::class, 'classMonthReport']); // class/month // new subject adding api......................... // list with optional ?class_id=# Route::get('/class-subjects-list', [ClassSubjectController::class, 'class_subjects_list']); // show one class’s subjects Route::get('/class-subjects-single/{class_id}', [ClassSubjectController::class, 'class_subjects_single']); // create/upsert Route::post('/class-subjects-insert', [ClassSubjectController::class, 'class_subjects_insert']); // full replace Route::put('/class-subjects-update/{class_id}', [ClassSubjectController::class, 'class_subjects_update']); // delete Route::delete('/class-subjects-delete/{class_id}', [ClassSubjectController::class, 'class_subjects_delete']); Route::get('/classes-stats', [ClassRoomController::class, 'stats']); //Library Route::post('/addBooks', [LibraryController::class, 'addBook']); Route::put('/edit-book/{isbn}', [LibraryController::class, 'updateBook']); Route::delete('/delete-book/{isbn}', [LibraryController::class, 'deleteBook']); Route::get('/get-books', [LibraryController::class, 'getBooks']); Route::post('/issue-book', [LibraryController::class, 'issueBook']); Route::delete('/delete-issued-book/{book_id}', [LibraryController::class, 'deleteIssuedBook']); Route::put('/edit-issued-book/{user_id}', [LibraryController::class, 'editIssuedBook']); Route::get('/issued-books', [LibraryController::class, 'getIssueBooks']); //to get book_id in return Route::get('/issued-book/{user_id}', [LibraryController::class, 'getIssuedBooks']); Route::post('/return-book', [LibraryController::class, 'returnBook']); Route::get('/reports', [LibraryController::class, 'getReports']); // React fallback route Route::get('/{any}', function () { return file_get_contents(public_path('index.html')); })->where('any', '.*');