46 lines
2.1 KiB
PHP
46 lines
2.1 KiB
PHP
<?php
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\MigrantController;
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\HistoricalSearchController;
|
|
use App\Http\Controllers\DashboardController;
|
|
use App\Http\Controllers\ActivityLogController;
|
|
|
|
// Public routes
|
|
Route::post('/login', [AuthController::class, 'login'])->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');
|
|
// });
|