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.
 
 
 
 
 
 

60 lines
3.0 KiB

<?php
use App\Http\Controllers\Api\V1\AuthController;
use App\Http\Controllers\Api\V1\DatabaseController;
use App\Http\Controllers\Api\V1\LdapGroupController;
use App\Http\Controllers\Api\V1\LdapUserController;
use App\Http\Controllers\Api\V1\MeController;
use App\Http\Controllers\Api\V1\TokenGuideController;
use Illuminate\Support\Facades\Route;
Route::prefix('v1')->group(function () {
Route::post('/auth/login', [AuthController::class, 'login'])
->middleware('throttle:10,1')
->name('api.v1.auth.login');
Route::get('/auth/token-guide', [TokenGuideController::class, 'show'])
->name('api.v1.auth.token-guide');
Route::middleware(['api.auth', 'api.audit'])->group(function () {
Route::get('/me', [MeController::class, 'show'])->name('api.v1.me');
Route::get('/databases', [DatabaseController::class, 'index'])
->middleware('api.scope:databases:read')
->name('api.v1.databases.index');
Route::post('/databases/{database}/offline', [DatabaseController::class, 'offline'])
->middleware('api.scope:databases:write')
->name('api.v1.databases.offline');
Route::get('/ldap/users', [LdapUserController::class, 'index'])
->middleware('api.scope:ldap:read')
->name('api.v1.ldap.users.index');
Route::get('/ldap/users/{username}', [LdapUserController::class, 'show'])
->middleware('api.scope:ldap:read')
->name('api.v1.ldap.users.show');
Route::put('/ldap/users/{username}', [LdapUserController::class, 'update'])
->middleware('api.scope:ldap:write')
->name('api.v1.ldap.users.update');
Route::post('/ldap/users/{username}/groups', [LdapUserController::class, 'addToGroup'])
->middleware('api.scope:ldap:write')
->name('api.v1.ldap.users.groups.add');
Route::delete('/ldap/users/{username}/groups/{group}', [LdapUserController::class, 'removeFromGroup'])
->middleware('api.scope:ldap:write')
->name('api.v1.ldap.users.groups.remove');
Route::get('/ldap/groups', [LdapGroupController::class, 'index'])
->middleware('api.scope:ldap:read')
->name('api.v1.ldap.groups.index');
Route::get('/ldap/groups/{group}', [LdapGroupController::class, 'show'])
->middleware('api.scope:ldap:read')
->name('api.v1.ldap.groups.show');
Route::post('/ldap/groups', [LdapGroupController::class, 'store'])
->middleware('api.scope:ldap:write')
->name('api.v1.ldap.groups.store');
Route::post('/ldap/groups/{group}/members', [LdapGroupController::class, 'addMember'])
->middleware('api.scope:ldap:write')
->name('api.v1.ldap.groups.members.add');
Route::delete('/ldap/groups/{group}/members/{username}', [LdapGroupController::class, 'removeMember'])
->middleware('api.scope:ldap:write')
->name('api.v1.ldap.groups.members.remove');
});
});