Files
laravel-llm-gateway/laravel-app/routes/web.php
Wilfried Trinkl 602fe582b0 Refactor: Align system with gateway_users architecture
- Fixed database relationships: LlmRequest now properly uses gateway_user_id instead of user_id
- Updated Models: GatewayUser and LlmRequest relationships corrected
- Removed User->llmRequests relationship (admin users don't have LLM requests)
- Simplified Dashboard: Now shows Gateway User statistics instead of admin users
- Removed obsolete Budgets management pages (budgets handled directly in gateway_users)
- Removed User Budgets admin section (redundant with gateway_users management)
- Fixed view errors: Added null-checks for user_id in keys views
- Updated navigation: Removed Budget and User Budget links
- Updated routes: Cleaned up unused BudgetController and UserManagementController routes
- Simplified StatisticsService: Focus on gateway_users and basic metrics only
2025-11-19 21:13:59 +01:00

58 lines
2.7 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\GatewayUserController;
use App\Http\Controllers\ApiKeyController;
use App\Http\Controllers\UsageLogController;
use App\Http\Controllers\ModelPricingController;
use App\Http\Controllers\Admin\CredentialController;
Route::view('/', 'welcome');
Route::middleware(['auth', 'verified'])->group(function () {
// Dashboard
Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard');
Route::get('dashboard/realtime-stats', [DashboardController::class, 'realtimeStats'])->name('dashboard.realtime-stats');
// Gateway Users Management
Route::resource('gateway-users', GatewayUserController::class);
Route::post('gateway-users/{id}/toggle-block', [GatewayUserController::class, 'toggleBlock'])
->name('gateway-users.toggle-block');
Route::post('gateway-users-bulk-action', [GatewayUserController::class, 'bulkAction'])
->name('gateway-users.bulk-action');
// API Keys Management (Admin Interface)
Route::resource('keys', ApiKeyController::class)->except(['edit', 'update']);
Route::post('keys/{id}/revoke', [ApiKeyController::class, 'revoke'])
->name('keys.revoke');
// Usage Logs
Route::get('usage-logs', [UsageLogController::class, 'index'])->name('usage-logs.index');
Route::get('usage-logs/export', [UsageLogController::class, 'export'])->name('usage-logs.export');
// Model Pricing
Route::resource('model-pricing', ModelPricingController::class);
Route::get('model-pricing-calculator', [ModelPricingController::class, 'calculator'])->name('model-pricing.calculator');
Route::post('model-pricing-calculate', [ModelPricingController::class, 'calculate'])->name('model-pricing.calculate');
Route::get('model-pricing-import', [ModelPricingController::class, 'importForm'])->name('model-pricing.import-form');
Route::post('model-pricing-import', [ModelPricingController::class, 'import'])->name('model-pricing.import');
Route::get('admin/provider-models/{provider}', [ModelPricingController::class, 'getProviderModels'])->name('api.provider-models');
// Provider Credentials Management (Admin)
Route::prefix('admin')->name('admin.')->group(function () {
// Credentials
Route::resource('credentials', CredentialController::class);
Route::post('credentials/{credential}/test', [CredentialController::class, 'test'])
->name('credentials.test');
Route::post('credentials/{credential}/toggle', [CredentialController::class, 'toggle'])
->name('credentials.toggle');
});
});
Route::view('profile', 'profile')
->middleware(['auth'])
->name('profile');
require __DIR__.'/auth.php';