Files
laravel_school_api/routes/api_phase8.php
T
2026-05-30 01:11:35 -04:00

39 lines
2.4 KiB
PHP

<?php
use App\Http\Controllers\Api\V2\Attendance\ScanController;
use App\Http\Controllers\Api\V2\Communication\BulkSendController;
use App\Http\Controllers\Api\V2\Communication\RecipientPreviewController;
use App\Http\Controllers\Api\V2\Finance\PaymentController;
use App\Http\Controllers\Api\V2\Finance\PaymentFileController;
use App\Http\Controllers\Api\V2\IslamicSundaySchool\QuranProgressController;
use App\Http\Controllers\Api\V2\Reporting\ReportController;
use App\Http\Controllers\Api\V2\Reporting\ReportExportController;
use App\Http\Controllers\Api\V2\Students\StudentController;
use Illuminate\Support\Facades\Route;
Route::middleware(['auth:api', 'school.context'])->prefix('api/v2')->name('api.v2.')->group(function (): void {
Route::apiResource('students', StudentController::class)->only(['index', 'store', 'show', 'update']);
Route::post('students/{student}/status-transitions', [StudentController::class, 'transition'])->name('students.status-transitions.store');
Route::post('finance/payments', [PaymentController::class, 'store'])->name('finance.payments.store');
Route::patch('finance/payments/{payment}', [PaymentController::class, 'update'])->name('finance.payments.update');
Route::post('finance/payments/{payment}/reverse', [PaymentController::class, 'reverse'])->name('finance.payments.reverse');
Route::get('finance/payments/{payment}/file', [PaymentFileController::class, 'show'])->name('finance.payments.file');
Route::post('attendance/scans', [ScanController::class, 'store'])->name('attendance.scans.store');
Route::post('communication/recipient-previews', [RecipientPreviewController::class, 'store'])->name('communication.recipient-previews.store');
Route::post('communication/bulk-sends', [BulkSendController::class, 'store'])->name('communication.bulk-sends.store');
Route::get('reporting/reports', [ReportController::class, 'index'])->name('reporting.reports.index');
Route::post('reporting/reports/run', [ReportController::class, 'run'])->name('reporting.reports.run');
Route::post('reporting/exports', [ReportExportController::class, 'store'])->name('reporting.exports.store');
Route::middleware(['ensure.domain.profile:islamic_sunday_school'])
->prefix('islamic-sunday-school')
->name('islamic-sunday-school.')
->group(function (): void {
Route::get('quran-progress', [QuranProgressController::class, 'index'])->name('quran-progress.index');
});
});