llmbackend/routes/api.php
2024-12-04 12:47:30 +08:00

35 lines
1.3 KiB
PHP

<?php
use App\Http\Controllers\Api\Admin\AuthController as AdminAuthController;
use App\Http\Controllers\Api\Admin\ClientController;
use App\Http\Controllers\Api\Admin\LlmProviderController;
use App\Http\Controllers\Api\AuthController;
use App\Http\Controllers\Api\LlmController;
use Illuminate\Support\Facades\Route;
// Public routes
Route::post('/auth/token', [AuthController::class, 'getAccessToken']);
// Protected routes (require access token)
Route::middleware('auth.access_token')->group(function () {
Route::post('/llm/request', [LlmController::class, 'request']);
});
// Admin routes
Route::prefix('admin')->group(function () {
// Admin auth routes (public)
Route::post('login', [AdminAuthController::class, 'login']);
// Protected admin routes
Route::middleware(['auth:sanctum', 'auth.admin'])->group(function () {
Route::post('logout', [AdminAuthController::class, 'logout']);
Route::post('change-password', [AdminAuthController::class, 'changePassword']);
// LLM Provider management
Route::apiResource('llm-providers', LlmProviderController::class);
// Client management
Route::apiResource('clients', ClientController::class);
Route::post('clients/{id}/auth-token', [ClientController::class, 'generateAuthToken']);
});
});