b2in/routes/admin.php
2026-01-23 17:33:10 +01:00

82 lines
3.2 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use Livewire\Volt\Volt;
// Admin-Routes für portal.b2in.local
// Admin-Dashboard
Route::get('/', function () {
return redirect()->route('dashboard');
})->name('admin.home');
// Partner Setup Wizard wird in routes/web.php definiert
Route::view('dashboard', 'admin.dashboard')->middleware(['auth', 'verified', 'partner.setup'])->name('dashboard');
Volt::route('/partner/my-data', 'partner.my-data')
->name('partner.my-data');
// Admin-Einstellungen
Route::middleware(['auth', 'partner.setup'])->group(function () {
Route::redirect('settings', 'settings/profile');
Volt::route('settings/profile', 'settings.profile')->name('settings.profile');
Volt::route('settings/password', 'settings.password')->name('settings.password');
Volt::route('settings/appearance', 'settings.appearance')->name('settings.appearance');
// Impersonation
Route::post('admin/impersonate/leave', function () {
$adminUserId = session('impersonate_from');
if ($adminUserId) {
$adminUser = \App\Models\User::find($adminUserId);
if ($adminUser) {
session()->forget('impersonate_from');
\Illuminate\Support\Facades\Auth::login($adminUser);
return redirect()->route('admin.users')->with('message', __('Erfolgreich zurück zum Admin-Account.'));
}
}
return redirect()->route('dashboard');
})->name('admin.impersonate.leave');
// Weitere Admin-Routen hier...
// User Management
Volt::route('admin/users', 'admin.users')->name('admin.users');
Volt::route('admin/users/table', 'admin.users.table')->name('admin.users.table');
Volt::route('admin/users/permissions', 'admin.users.permissions')->name('admin.users.permissions');
// Partner Management
Volt::route('admin/partners/invite', 'admin.partners.invite')->name('admin.partners.invite');
Volt::route('admin/partners/registration-codes', 'admin.partners.registration-codes')->name('admin.partners.registration-codes');
// Testing
Volt::route('testing/registration', 'admin.testing.registration-tester')->name('testing.landing');
// CMS Routes
Route::get('admin/cms/cabinet', \App\Livewire\Admin\CMS\CabinetDisplay::class)->name('admin.cms.cabinet');
// Product Routes
Volt::route('products', 'products.index')->name('products.index');
Volt::route('products/create', 'products.create')->name('products.create');
// Hub Management
Volt::route('admin/hubs', 'admin.hubs.index')->name('admin.hubs.index');
Volt::route('admin/hubs/create', 'admin.hubs.manage')->name('admin.hubs.create');
Volt::route('admin/hubs/{hubId}/edit', 'admin.hubs.manage')->name('admin.hubs.edit');
// Documentation
Volt::route('admin/documentation', 'admin.documentation')->name('admin.documentation');
Route::get('admin/documentation/download', function () {
$mdPath = base_path('dev/entwicklung.md');
if (!file_exists($mdPath)) {
abort(404);
}
return response()->download($mdPath, 'b2in-entwicklung.md');
})->name('admin.documentation.download');
});
// Admin-Authentication wird bereits in domains.php geladen