GeoNetAgent, LDAPWeb, server-audit, server-connection
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

107 lines
7.0 KiB

<?php
use App\Http\Controllers\ApiClientController;
use App\Http\Controllers\ApiDocsController;
use App\Http\Controllers\AuditBeaconController;
use App\Http\Controllers\AuditLogController;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\DatabaseConnectionController;
use App\Http\Controllers\DatabaseController;
use App\Http\Controllers\LdapGroupController;
use App\Http\Controllers\LdapUserController;
use App\Http\Controllers\MailSettingsController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\ProjectSearchController;
use Illuminate\Support\Facades\Route;
Route::get('/login', [AuthController::class, 'showLogin'])->name('login');
Route::post('/login', [AuthController::class, 'login'])->middleware('throttle:login');
Route::get('/password/forgot', [AuthController::class, 'showForgotPassword'])->name('password.forgot');
Route::post('/password/forgot', [AuthController::class, 'sendForgotPassword'])->middleware('throttle:3,1');
Route::get('/password/reset/{token}', [AuthController::class, 'showResetPassword'])->name('password.reset');
Route::post('/password/reset/{token}', [AuthController::class, 'resetPassword'])
->middleware('throttle:5,1')
->name('password.reset.update');
Route::middleware(['auth.ldap', 'audit.web'])->group(function () {
Route::get('/profile', [ProfileController::class, 'show'])->name('profile.show');
Route::put('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::post('/profile/password-reset', [ProfileController::class, 'sendPasswordReset'])
->middleware('throttle:3,1')
->name('profile.password-reset');
Route::post('/profile/test-email', [ProfileController::class, 'testEmail'])
->middleware('throttle:3,1')
->name('profile.test-email');
Route::get('/api-docs', [ApiDocsController::class, 'index'])->name('api-docs.index');
Route::get('/api-docs/openapi.json', [ApiDocsController::class, 'openapi'])->name('api-docs.openapi');
Route::get('/project-search', [ProjectSearchController::class, 'index'])->name('project-search.index');
Route::post('/project-search/ask', [ProjectSearchController::class, 'ask'])
->middleware('throttle:20,1')
->name('project-search.ask');
Route::post('/project-search/end-chat', [ProjectSearchController::class, 'endChat'])
->name('project-search.end-chat');
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
Route::post('/audit/beacon/context', [AuditBeaconController::class, 'storeContext'])
->middleware('throttle:audit-beacon')
->name('audit.beacon.context');
Route::post('/audit/beacon/page-view', [AuditBeaconController::class, 'pageView'])
->middleware('throttle:audit-beacon')
->name('audit.beacon.page-view');
Route::post('/audit/beacon/page-duration', [AuditBeaconController::class, 'pageDuration'])
->middleware('throttle:audit-beacon')
->name('audit.beacon.page-duration');
});
Route::middleware(['auth.ldap', 'auth.admin', 'audit.web'])->group(function () {
Route::get('/', [DatabaseController::class, 'index'])->name('databases.index');
Route::post('/databases/{database}/offline', [DatabaseController::class, 'offline'])
->name('databases.offline');
Route::get('/ldap-users', [LdapUserController::class, 'index'])->name('ldap-users.index');
Route::get('/ldap-users/{username}', [LdapUserController::class, 'show'])->name('ldap-users.show');
Route::get('/ldap-users/{username}/edit', [LdapUserController::class, 'edit'])->name('ldap-users.edit');
Route::put('/ldap-users/{username}', [LdapUserController::class, 'update'])->name('ldap-users.update');
Route::post('/ldap-users/{username}/groups', [LdapUserController::class, 'addToGroup'])
->name('ldap-users.groups.add');
Route::delete('/ldap-users/{username}/groups/{group}', [LdapUserController::class, 'removeFromGroup'])
->name('ldap-users.groups.remove');
Route::post('/ldap-users/{username}/toggle-enabled', [LdapUserController::class, 'toggleEnabled'])
->name('ldap-users.toggle-enabled');
Route::get('/ldap-users/{username}/password', [LdapUserController::class, 'showPasswordForm'])
->name('ldap-users.password');
Route::post('/ldap-users/{username}/password', [LdapUserController::class, 'resetPassword'])
->name('ldap-users.password.reset');
Route::get('/ldap-groups', [LdapGroupController::class, 'index'])->name('ldap-groups.index');
Route::post('/ldap-groups', [LdapGroupController::class, 'store'])->name('ldap-groups.store');
Route::get('/ldap-groups/{group}', [LdapGroupController::class, 'show'])->name('ldap-groups.show');
Route::put('/ldap-groups/{group}/note', [LdapGroupController::class, 'updateNote'])->name('ldap-groups.note.update');
Route::delete('/ldap-groups/{group}', [LdapGroupController::class, 'destroy'])->name('ldap-groups.destroy');
Route::post('/ldap-groups/{group}/members', [LdapGroupController::class, 'addMember'])
->name('ldap-groups.members.add');
Route::delete('/ldap-groups/{group}/members/{username}', [LdapGroupController::class, 'removeMember'])
->name('ldap-groups.members.remove');
Route::get('/api-clients', [ApiClientController::class, 'index'])->name('api-clients.index');
Route::post('/api-clients/tokens', [ApiClientController::class, 'storeToken'])->name('api-clients.tokens.store');
Route::delete('/api-clients/tokens/{apiToken}', [ApiClientController::class, 'destroyToken'])->name('api-clients.tokens.destroy');
Route::post('/api-clients/oauth', [ApiClientController::class, 'storeOAuthClient'])->name('api-clients.oauth.store');
Route::delete('/api-clients/oauth/{clientId}', [ApiClientController::class, 'destroyOAuthClient'])->name('api-clients.oauth.destroy');
Route::get('/mail-settings', [MailSettingsController::class, 'index'])->name('mail-settings.index');
Route::put('/mail-settings/smtp', [MailSettingsController::class, 'updateSmtp'])->name('mail-settings.smtp.update');
Route::post('/mail-settings/test', [MailSettingsController::class, 'testEmail'])->name('mail-settings.test');
Route::put('/mail-settings/templates/{slug}', [MailSettingsController::class, 'updateTemplate'])->name('mail-settings.templates.update');
Route::post('/mail-settings/templates/{slug}/test', [MailSettingsController::class, 'testTemplate'])
->middleware('throttle:5,1')
->name('mail-settings.templates.test');
Route::get('/database-connections', [DatabaseConnectionController::class, 'index'])->name('database-connections.index');
Route::post('/database-connections', [DatabaseConnectionController::class, 'store'])->name('database-connections.store');
Route::post('/database-connections/test', [DatabaseConnectionController::class, 'test'])->name('database-connections.test');
Route::delete('/database-connections/{databaseConnection}', [DatabaseConnectionController::class, 'destroy'])->name('database-connections.destroy');
Route::get('/audit-logs', [AuditLogController::class, 'index'])->name('audit-logs.index');
});