Refactor user and session migrations to use UUIDs; update DatabaseSeeder for test user creation; enhance LetterController with search functionality and API route protection

This commit is contained in:
NoBody313
2025-03-24 11:26:00 +07:00
parent 6d431d9610
commit e7477e204f
9 changed files with 559 additions and 127 deletions
+21 -18
View File
@@ -2,6 +2,7 @@
use App\Http\Controllers\AcceptanceLetterController;
use App\Http\Controllers\AcceptanceTemplateController;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\CompletionLetterController;
use App\Http\Controllers\CompletionTemplateController;
use App\Http\Controllers\FileViewController;
@@ -23,29 +24,31 @@ use Illuminate\Support\Facades\Route;
*/
// Authentication Routes
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:sanctum');
Route::post('/login', [AuthController::class, 'login']);
// Letter Management Routes
Route::apiResource('letter', LetterController::class);
// Protected Route
Route::middleware('auth:sanctum')->group(function () {
// Letter Management Routes
Route::apiResource('letter', LetterController::class);
Route::get('/letters/search', [LetterController::class, 'search']);
// File Attachment Routes
Route::get('/lampiran/{id}', [LetterController::class, 'letterLampiran'])
->name('letters.lampiran');
// File Attachment Routes
Route::get('/lampiran/{id}', [LetterController::class, 'letterLampiran'])
->name('letters.lampiran');
// Template Management Routes
Route::apiResource('completion_templates', CompletionTemplateController::class);
Route::apiResource('acceptance_templates', AcceptanceTemplateController::class);
// Template Management Routes
Route::apiResource('completion_templates', CompletionTemplateController::class);
Route::apiResource('acceptance_templates', AcceptanceTemplateController::class);
// Letter Type Routes
Route::apiResource('acceptance_letters', AcceptanceLetterController::class);
Route::apiResource('completion_letters', CompletionLetterController::class);
// Letter Type Routes
Route::apiResource('acceptance_letters', AcceptanceLetterController::class);
Route::apiResource('completion_letters', CompletionLetterController::class);
// File Viewer Route (Internal use for signed URLs)
Route::get('/file/{id}', [FileViewController::class, 'show'])
->name('file.view')
->middleware('signed');
// File Viewer Route (Internal use for signed URLs)
Route::get('/file/{id}', [FileViewController::class, 'show'])
->name('file.view')
->middleware('signed');
});
/**
* API Endpoints Documentation: