74 lines
2.5 KiB
PHP
74 lines
2.5 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AcceptanceLetterController;
|
|
use App\Http\Controllers\AcceptanceTemplateController;
|
|
use App\Http\Controllers\CompletionLetterController;
|
|
use App\Http\Controllers\CompletionTemplateController;
|
|
use App\Http\Controllers\FileViewController;
|
|
use App\Http\Controllers\LetterController;
|
|
use App\Models\FileUpload;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| API Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here is where you can register API routes for your application. These
|
|
| routes are loaded by the RouteServiceProvider within a group which
|
|
| is assigned the "api" middleware group.
|
|
|
|
|
*/
|
|
|
|
// Authentication Routes
|
|
Route::get('/user', function (Request $request) {
|
|
return $request->user();
|
|
})->middleware('auth:sanctum');
|
|
|
|
// Letter Management Routes
|
|
Route::apiResource('letter', LetterController::class);
|
|
|
|
// 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);
|
|
|
|
// 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');
|
|
|
|
/**
|
|
* API Endpoints Documentation:
|
|
*
|
|
* GET /api/user - Get authenticated user
|
|
*
|
|
* Letters:
|
|
* GET /api/letters - List all letters
|
|
* POST /api/letters - Create new letter
|
|
* GET /api/letters/{id} - Get letter details
|
|
* PUT /api/letters/{id} - Update letter
|
|
* DELETE /api/letters/{id} - Delete letter
|
|
* GET /api/letters/lampiran/{id} - Get file attachment URL
|
|
*
|
|
* Templates:
|
|
* GET /api/completion_templates - List completion templates
|
|
* GET /api/acceptance_templates - List acceptance templates
|
|
*
|
|
* Letter Types:
|
|
* GET /api/acceptance_letters - List acceptance letters
|
|
* GET /api/completion_letters - List completion letters
|
|
*
|
|
* File Handling:
|
|
* GET /api/file/{id} - View file (internal, signed URL)
|
|
*/
|