feat: add controllers and routes for anggota, bantuan, permohonan transfer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,13 +2,16 @@
|
||||
|
||||
use App\Http\Controllers\ActivityLogController;
|
||||
use App\Http\Controllers\AdminUserController;
|
||||
use App\Http\Controllers\AnggotaKeluargaController;
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\BackupController;
|
||||
use App\Http\Controllers\BantuanController;
|
||||
use App\Http\Controllers\ExportController;
|
||||
use App\Http\Controllers\IbadahController;
|
||||
use App\Http\Controllers\ImportController;
|
||||
use App\Http\Controllers\MiskinController;
|
||||
use App\Http\Controllers\SettingController;
|
||||
use App\Http\Controllers\TransferController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Auth routes (public, redirect to /map if already logged in)
|
||||
@@ -24,6 +27,7 @@ Route::middleware('auth')->group(function () {
|
||||
Route::get('/map', fn() => view('map'));
|
||||
Route::get('/data', fn() => view('data'));
|
||||
Route::get('/dashboard', fn() => view('dashboard'))->name('dashboard');
|
||||
Route::get('/permohonan', fn() => view('permohonan'))->name('permohonan');
|
||||
|
||||
// Export routes — semua role authenticated bisa ekspor
|
||||
Route::get('/export/pdf', [ExportController::class, 'allMiskinPDF'])->name('export.pdf.all');
|
||||
@@ -34,6 +38,28 @@ Route::middleware('auth')->group(function () {
|
||||
// API routes moved here for session + CSRF middleware
|
||||
Route::prefix('api')->group(function () {
|
||||
|
||||
// Anggota Keluarga — baca: semua; tulis: administrator + petugas_pendataan
|
||||
Route::get('/miskin/{id}/anggota', [AnggotaKeluargaController::class, 'index']);
|
||||
Route::middleware('role:administrator|petugas_pendataan')->group(function () {
|
||||
Route::post('/miskin/{id}/anggota', [AnggotaKeluargaController::class, 'store']);
|
||||
Route::put('/miskin/{id}/anggota/{aid}', [AnggotaKeluargaController::class, 'update']);
|
||||
Route::delete('/miskin/{id}/anggota/{aid}', [AnggotaKeluargaController::class, 'destroy']);
|
||||
});
|
||||
|
||||
// Riwayat Bantuan — baca: semua; tulis: administrator + petugas + pengurus_ibadah
|
||||
Route::get('/miskin/{id}/bantuan', [BantuanController::class, 'index']);
|
||||
Route::middleware('role:administrator|petugas_pendataan|pengurus_ibadah')->group(function () {
|
||||
Route::post('/miskin/{id}/bantuan', [BantuanController::class, 'store']);
|
||||
Route::delete('/miskin/{id}/bantuan/{bid}', [BantuanController::class, 'destroy']);
|
||||
});
|
||||
|
||||
// Permohonan Transfer — lihat: semua; ajukan+proses: pengurus + admin
|
||||
Route::get('/permohonan', [TransferController::class, 'index']);
|
||||
Route::middleware('role:administrator|pengurus_ibadah')->group(function () {
|
||||
Route::post('/permohonan', [TransferController::class, 'store']);
|
||||
Route::put('/permohonan/{id}/respond', [TransferController::class, 'respond']);
|
||||
});
|
||||
|
||||
// Notifikasi — semua role authenticated
|
||||
Route::get('/notifications', function (\Illuminate\Http\Request $request) {
|
||||
$since = $request->query('since');
|
||||
|
||||
Reference in New Issue
Block a user