186 lines
11 KiB
PHP
Executable File
186 lines
11 KiB
PHP
Executable File
|
|
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\Api\Auth\AuthController;
|
|
use App\Http\Controllers\DocsController;
|
|
use App\Http\Controllers\Api\UserController;
|
|
use App\Http\Controllers\Api\Administrator\AdministratorEnrollmentController;
|
|
use App\Http\Controllers\Api\Administrator\AdministratorAbsenceController;
|
|
use App\Http\Controllers\Api\Administrator\AdministratorDashboardController;
|
|
use App\Http\Controllers\Api\Administrator\AdministratorNotificationController;
|
|
use App\Http\Controllers\Api\Administrator\AdministratorTeacherSubmissionController;
|
|
use App\Http\Controllers\Api\Badges\BadgeController;
|
|
use App\Http\Controllers\Api\Students\StudentController;
|
|
use App\Http\Controllers\Api\Attendance\AttendanceController;
|
|
use App\Http\Controllers\Api\Finance\InvoiceController;
|
|
use App\Http\Controllers\Api\Assignment\AssignmentApiController;
|
|
use App\Http\Controllers\Api\Parents\AuthorizedUsersController;
|
|
use App\Http\Controllers\Api\AttendanceTracking\AttendanceTrackingController;
|
|
use App\Http\Controllers\Api\Email\BroadcastEmailController;
|
|
use App\Http\Controllers\Api\Messaging\CommunicationController;
|
|
use App\Http\Controllers\Api\Settings\ConfigurationController;
|
|
use App\Http\Controllers\Api\Staff\ContactController;
|
|
use App\Http\Controllers\Api\Classes\ClassPreparationController;
|
|
use App\Http\Controllers\Api\Email\EmailController;
|
|
use App\Http\Controllers\Api\Email\EmailExtractorController;
|
|
use App\Http\Controllers\Api\Parents\EmergencyContactController;
|
|
use App\Http\Controllers\Api\Settings\EventController;
|
|
use App\Http\Controllers\Api\Finance\ExtraChargesController;
|
|
use App\Http\Controllers\Api\Family\FamilyAdminController;
|
|
use App\Http\Controllers\Api\Family\FamilyController;
|
|
use App\Http\Controllers\Api\Reports\FilesController;
|
|
use App\Http\Controllers\Api\Scores\FinalController;
|
|
use App\Http\Controllers\Api\Finance\FinancialController;
|
|
use App\Http\Controllers\Api\System\FlagController;
|
|
use App\Http\Controllers\Api\Scores\GradingController;
|
|
use App\Http\Controllers\Api\System\HealthController;
|
|
use App\Http\Controllers\Api\Scores\HomeworkController;
|
|
use App\Http\Controllers\Api\Scores\HomeworkTrackingController;
|
|
use App\Http\Controllers\Api\Frontend\InfoIconController;
|
|
use App\Http\Controllers\Api\Inventory\InventoryController;
|
|
use App\Http\Controllers\Api\Auth\IpBanController;
|
|
use App\Http\Controllers\Api\Frontend\LandingPageController;
|
|
use App\Http\Controllers\Api\Attendance\LateSlipLogsController;
|
|
use App\Http\Controllers\Api\Messaging\MessagesController;
|
|
use App\Http\Controllers\Api\Scores\MidtermController;
|
|
use App\Http\Controllers\Api\System\NavBuilderController;
|
|
use App\Http\Controllers\Api\Notifications\NotificationManagementController;
|
|
use App\Http\Controllers\Api\Frontend\PageController;
|
|
use App\Http\Controllers\Api\Scores\ParticipationController;
|
|
use App\Http\Controllers\Api\Settings\PolicyController;
|
|
use App\Http\Controllers\Api\Reports\PrintablesReportsController;
|
|
use App\Http\Controllers\Api\Scores\ProjectController;
|
|
use App\Http\Controllers\Api\Scores\QuizController;
|
|
use App\Http\Controllers\Api\Finance\PaymentController;
|
|
use App\Http\Controllers\Api\Finance\PaymentNotificationController;
|
|
use App\Http\Controllers\Api\Finance\PaymentTransactionController;
|
|
use App\Http\Controllers\Api\Finance\PaypalTransactionsController;
|
|
use App\Http\Controllers\Api\Finance\PurchaseOrderController;
|
|
use App\Http\Controllers\Api\Auth\RegisterController;
|
|
use App\Http\Controllers\Api\RolePermissionController;
|
|
use App\Http\Controllers\Api\RoleSwitcherController;
|
|
use App\Http\Controllers\Api\Settings\SchoolCalendarController;
|
|
use App\Http\Controllers\Api\Scores\ScoreCommentController;
|
|
use App\Http\Controllers\Api\Scores\ScoreController;
|
|
use App\Http\Controllers\Api\Scores\ScorePredictorController;
|
|
use App\Http\Controllers\Api\Auth\SessionTimeoutController;
|
|
use App\Http\Controllers\Api\Reports\SlipPrinterController;
|
|
use App\Http\Controllers\Api\Staff\StaffController;
|
|
use App\Http\Controllers\Api\Inventory\SupplierController;
|
|
use App\Http\Controllers\Api\Staff\TeacherController;
|
|
use App\Http\Controllers\Api\StatsController;
|
|
use App\Http\Controllers\Api\Frontend\UiController;
|
|
use App\Http\Controllers\Api\Messaging\WhatsappController;
|
|
|
|
use App\Http\Controllers\Api\Attendance\AdminAttendanceApiController;
|
|
use App\Http\Controllers\Api\Attendance\AttendanceCommentTemplateController;
|
|
use App\Http\Controllers\Api\Attendance\TeacherAttendanceApiController;
|
|
use App\Http\Controllers\Api\Attendance\StaffAttendanceApiController;
|
|
|
|
Route::prefix('v1')->group(function () {
|
|
Route::middleware('auth:sanctum')->prefix('administrator')->group(function () {
|
|
Route::get('absence', [AdministratorAbsenceController::class, 'index']);
|
|
Route::post('absence', [AdministratorAbsenceController::class, 'store']);
|
|
|
|
Route::get('dashboard/metrics', [AdministratorDashboardController::class, 'metrics']);
|
|
Route::get('dashboard/user-search', [AdministratorDashboardController::class, 'userSearch']);
|
|
|
|
Route::get('teacher-submissions', [AdministratorTeacherSubmissionController::class, 'index']);
|
|
Route::post('teacher-submissions/notify', [AdministratorTeacherSubmissionController::class, 'notify']);
|
|
|
|
Route::get('notifications/alerts', [AdministratorNotificationController::class, 'alerts']);
|
|
Route::post('notifications/alerts', [AdministratorNotificationController::class, 'saveAlerts']);
|
|
Route::get('notifications/print-recipients', [AdministratorNotificationController::class, 'printRecipients']);
|
|
Route::post('notifications/print-recipients', [AdministratorNotificationController::class, 'savePrintRecipients']);
|
|
|
|
Route::get('enrollment-withdrawal', [AdministratorEnrollmentController::class, 'index']);
|
|
Route::get('enrollment-withdrawal/new-students', [AdministratorEnrollmentController::class, 'newStudents']);
|
|
Route::post('enrollment-withdrawal/update-statuses', [AdministratorEnrollmentController::class, 'updateStatuses']);
|
|
});
|
|
|
|
Route::middleware('auth:sanctum')->prefix('attendance')->group(function () {
|
|
// Teacher
|
|
Route::get('/teacher/grid', [TeacherAttendanceApiController::class, 'grid']);
|
|
Route::get('/teacher/form', [TeacherAttendanceApiController::class, 'form']);
|
|
Route::post('/teacher/submit', [TeacherAttendanceApiController::class, 'submit']);
|
|
|
|
// Admin daily/student attendance
|
|
Route::get('/admin/daily', [AdminAttendanceApiController::class, 'dailyData']);
|
|
Route::post('/admin/update', [AdminAttendanceApiController::class, 'updateManagement']);
|
|
Route::post('/admin/add-entry', [AdminAttendanceApiController::class, 'addEntry']);
|
|
|
|
// Staff/admin monthly/admin attendance
|
|
Route::get('/staff/month', [StaffAttendanceApiController::class, 'monthData']);
|
|
Route::get('/staff/admins', [StaffAttendanceApiController::class, 'admins']);
|
|
Route::post('/staff/admins/save', [StaffAttendanceApiController::class, 'saveAdmins']);
|
|
Route::post('/staff/cell', [StaffAttendanceApiController::class, 'saveCell']);
|
|
Route::get('/staff/month-csv', [StaffAttendanceApiController::class, 'monthCsv']);
|
|
});
|
|
|
|
Route::prefix('attendance-tracking')->group(function () {
|
|
Route::get('/pending-violations', [AttendanceTrackingController::class, 'pendingViolations']);
|
|
Route::get('/notified-violations', [AttendanceTrackingController::class, 'notifiedViolations']);
|
|
Route::get('/student-case/{studentId}', [AttendanceTrackingController::class, 'studentCase']);
|
|
Route::post('/record', [AttendanceTrackingController::class, 'record']);
|
|
Route::post('/send-auto-emails', [AttendanceTrackingController::class, 'sendAutoEmails']);
|
|
Route::get('/compose', [AttendanceTrackingController::class, 'compose']);
|
|
Route::post('/send-manual-email', [AttendanceTrackingController::class, 'sendManualEmail']);
|
|
Route::get('/parents-info', [AttendanceTrackingController::class, 'parentsInfo']);
|
|
Route::post('/save-notification-note', [AttendanceTrackingController::class, 'saveNotificationNote']);
|
|
});
|
|
|
|
Route::prefix('assignments')->group(function () {
|
|
Route::get('/', [AssignmentApiController::class, 'index']);
|
|
Route::post('/', [AssignmentApiController::class, 'store']);
|
|
Route::get('/class-assignment-data', [AssignmentApiController::class, 'classAssignmentData']);
|
|
});
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::get('stats', [StatsController::class, 'index']);
|
|
|
|
Route::prefix('badges')->group(function () {
|
|
Route::get('form-data', [BadgeController::class, 'formData']);
|
|
Route::post('pdf', [BadgeController::class, 'generatePdf']);
|
|
Route::get('print-status', [BadgeController::class, 'printStatus']);
|
|
Route::post('log-print', [BadgeController::class, 'logPrint']);
|
|
});
|
|
});
|
|
});
|
|
|
|
Route::prefix('attendance-comment-templates')->group(function () {
|
|
Route::get('/', [AttendanceCommentTemplateController::class, 'index']);
|
|
Route::get('list-data', [AttendanceCommentTemplateController::class, 'listData']);
|
|
Route::get('{id}', [AttendanceCommentTemplateController::class, 'show']);
|
|
Route::post('/', [AttendanceCommentTemplateController::class, 'store']);
|
|
Route::put('{id}', [AttendanceCommentTemplateController::class, 'update']);
|
|
Route::delete('{id}', [AttendanceCommentTemplateController::class, 'destroy']);
|
|
});
|
|
|
|
Route::prefix('attendance-tracking')->group(function () {
|
|
Route::get('pending-violations', [AttendanceTrackingController::class, 'pendingViolations']);
|
|
Route::get('notified-violations', [AttendanceTrackingController::class, 'notifiedViolations']);
|
|
Route::get('student-case/{studentId}', [AttendanceTrackingController::class, 'studentCase']);
|
|
Route::post('record', [AttendanceTrackingController::class, 'record']);
|
|
Route::post('send-auto-emails', [AttendanceTrackingController::class, 'sendAutoEmails']);
|
|
Route::get('compose', [AttendanceTrackingController::class, 'compose']);
|
|
Route::post('send-manual-email', [AttendanceTrackingController::class, 'sendManualEmail']);
|
|
Route::get('parents-info', [AttendanceTrackingController::class, 'parentsInfo']);
|
|
Route::post('save-notification-note', [AttendanceTrackingController::class, 'saveNotificationNote']);
|
|
});
|
|
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::prefix('assignments')->group(function () {
|
|
Route::get('/', [AssignmentApiController::class, 'index']);
|
|
Route::post('/', [AssignmentApiController::class, 'store']);
|
|
Route::get('class-assignment-data', [AssignmentApiController::class, 'classAssignmentData']);
|
|
});
|
|
|
|
Route::prefix('badges')->group(function () {
|
|
Route::get('form-data', [BadgeController::class, 'formData']);
|
|
Route::post('pdf', [BadgeController::class, 'generatePdf']);
|
|
Route::get('print-status', [BadgeController::class, 'printStatus']);
|
|
Route::post('log-print', [BadgeController::class, 'logPrint']);
|
|
});
|
|
});
|