One Hat Cyber Team
Your IP :
216.73.217.146
Server IP :
50.6.229.107
Server :
Linux server.hostburly.com 5.14.0-611.38.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 10 17:21:28 EDT 2026 x86_64
Server Software :
Apache
PHP Version :
8.2.30
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
andjemzt
/
niqs_api
/
routes
/
exam
/
View File Name :
api.php
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\Api\Exam\{ AdminExamController, AdminExamPaperController, AdminExamDietController, AdminExamCenterController, AdminExamCenterSlotController, AdminExamGradingController, ExamBrowseController, ExamApplicationController, AdminExamAnalyticsController }; Route::middleware(['auth:sanctum']) ->prefix('exam')->group(function () { /** * MEMBER / PROBATIONER */ Route::get('/exam-diets/open', [ExamBrowseController::class, 'openDiets']); Route::get('/exam-diets/{dietId}/exams', [ExamBrowseController::class, 'examsForDiet']); Route::get('/exam-diets/{dietId}/exams/{examId}/centers', [ExamBrowseController::class, 'centersForExamInDiet']); Route::get('/exam-applications/mine', [ExamApplicationController::class, 'myApplications']); Route::get('/exam-applications/{id}', [ExamApplicationController::class, 'show']); Route::post('/exam-applications', [ExamApplicationController::class, 'create']); Route::post('/exam-applications/{id}/submit', [ExamApplicationController::class, 'submit']); /** * ADMIN (protect with Spatie permission/role as you prefer) * Example: * ->middleware(['role:admin']) * or ->middleware(['permission:manage-exams']) */ Route::middleware([ // 'role:admin', // 'permission:manage-exams', ])->prefix('admin')->group(function () { //analytics Route::get('/exams/{examId}/analytics', [AdminExamAnalyticsController::class, 'show']); // Exams Route::get('/exams', [AdminExamController::class, 'index']); Route::post('/exams', [AdminExamController::class, 'store']); Route::get('/exams/{id}', [AdminExamController::class, 'show']); Route::put('/exams/{id}', [AdminExamController::class, 'update']); Route::delete('/exams/{id}', [AdminExamController::class, 'destroy']); // Exam Papers Route::get('/exams/{examId}/papers', [AdminExamPaperController::class, 'index']); Route::post('/exams/{examId}/papers', [AdminExamPaperController::class, 'store']); Route::put('/exams/{examId}/papers/{paperId}', [AdminExamPaperController::class, 'update']); Route::delete('/exams/{examId}/papers/{paperId}', [AdminExamPaperController::class, 'destroy']); // Diets Route::get('/exam-diets', [AdminExamDietController::class, 'index']); Route::post('/exam-diets', [AdminExamDietController::class, 'store']); Route::get('/exam-diets/{id}', [AdminExamDietController::class, 'show']); Route::put('/exam-diets/{id}', [AdminExamDietController::class, 'update']); Route::delete('/exam-diets/{id}', [AdminExamDietController::class, 'destroy']); // Centers Route::get('/exam-centers', [AdminExamCenterController::class, 'index']); Route::post('/exam-centers', [AdminExamCenterController::class, 'store']); Route::get('/exam-centers/{id}', [AdminExamCenterController::class, 'show']); Route::put('/exam-centers/{id}', [AdminExamCenterController::class, 'update']); Route::delete('/exam-centers/{id}', [AdminExamCenterController::class, 'destroy']); // Center Slots (availability per diet+exam) Route::get('/exam-diets/{dietId}/center-slots', [AdminExamCenterSlotController::class, 'index']); Route::put('/exam-diets/{dietId}/exams/{examId}/centers/{centerId}', [AdminExamCenterSlotController::class, 'upsert']); Route::delete('/exam-diets/{dietId}/exams/{examId}/centers/{centerId}', [AdminExamCenterSlotController::class, 'destroy']); // Grading Route::get('/exam-applications', [AdminExamGradingController::class, 'listSubmitted']); Route::post('/exam-applications/{applicationId}/grade', [AdminExamGradingController::class, 'grade']); }); });