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
This commit is contained in:
Wilfried Trinkl
2025-11-19 21:13:59 +01:00
parent cb495e18e3
commit 602fe582b0
16 changed files with 91 additions and 751 deletions

View File

@@ -4,12 +4,9 @@ use Illuminate\Support\Facades\Route;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\GatewayUserController;
use App\Http\Controllers\ApiKeyController;
use App\Http\Controllers\BudgetController;
use App\Http\Controllers\UsageLogController;
use App\Http\Controllers\ModelPricingController;
use App\Http\Controllers\Admin\CredentialController;
use App\Http\Controllers\Admin\UserBudgetController;
use App\Http\Controllers\Admin\UserManagementController;
Route::view('/', 'welcome');
@@ -30,11 +27,6 @@ Route::middleware(['auth', 'verified'])->group(function () {
Route::post('keys/{id}/revoke', [ApiKeyController::class, 'revoke'])
->name('keys.revoke');
// Budgets Management
Route::resource('budgets', BudgetController::class);
Route::post('budgets/{id}/assign-users', [BudgetController::class, 'assignUsers'])
->name('budgets.assign-users');
// 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');
@@ -49,28 +41,12 @@ Route::middleware(['auth', 'verified'])->group(function () {
// Provider Credentials Management (Admin)
Route::prefix('admin')->name('admin.')->group(function () {
// User Management
Route::get('users', [UserManagementController::class, 'index'])
->name('users.index');
// 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');
// User Budget & Rate Limit Management
Route::get('users/{user}/budget', [UserBudgetController::class, 'show'])
->name('users.budget.show');
Route::put('users/{user}/budget', [UserBudgetController::class, 'updateBudget'])
->name('users.budget.update');
Route::put('users/{user}/rate-limit', [UserBudgetController::class, 'updateRateLimit'])
->name('users.rate-limit.update');
Route::post('users/{user}/rate-limit/reset', [UserBudgetController::class, 'resetRateLimit'])
->name('users.rate-limit.reset');
Route::post('users/{user}/budget/reset', [UserBudgetController::class, 'resetBudget'])
->name('users.budget.reset');
});
});