name('login'); Route::post('/register', [AuthController::class, 'register'])->name('register'); Route::get('/migrants', [MigrantController::class, 'index']); Route::get('/migrants/{id}', [MigrantController::class, 'show']); Route::get('/migrants/{id}/photos', [MigrantController::class, 'getPhotos']); // Protected routes - require Sanctum authentication Route::middleware('auth:sanctum')->group(function () { // User routes Route::get('/user', [AuthController::class, 'me'])->name('user.profile'); Route::post('/logout', [AuthController::class, 'logout'])->name('logout'); // Dashboard routes Route::get('/dashboard/stats', [DashboardController::class, 'getStats']); Route::get('/activity-logs', [ActivityLogController::class, 'index']); // Migrant CRUD routes (now includes photo uploads) Route::post('/migrants', [MigrantController::class, 'store']); // Can include photos Route::put('/migrants/{id}', [MigrantController::class, 'update']); // Can include photos Route::patch('/migrants/{id}', [MigrantController::class, 'update']); // Can include photos Route::delete('/migrants/{id}', [MigrantController::class, 'destroy']); // Deletes photos too // Photo management routes (all handled by MigrantController) Route::post('/migrants/{id}/photos', [MigrantController::class, 'uploadPhotos']); Route::post('/migrants/photos/{photoId}/set-as-profile', [MigrantController::class, 'setAsProfilePhoto']); Route::put('/migrants/photos/{photoId}/caption', [MigrantController::class, 'updatePhotoCaption']); Route::delete('/migrants/photos/{photoId}', [MigrantController::class, 'deletePhoto']); }); // Admin-only routes // Route::middleware('ability:admin')->group(function () { // Route::post('/register', [AuthController::class, 'register'])->name('register'); // });