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.
74 lines
3.8 KiB
74 lines
3.8 KiB
<?php |
|
|
|
use App\Http\Controllers\Api\V1\AuthController; |
|
use App\Http\Controllers\Api\V1\DatabaseController; |
|
use App\Http\Controllers\Api\V1\GroupPermissionController; |
|
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'); |
|
|
|
Route::get('/group-permissions', [GroupPermissionController::class, 'index']) |
|
->middleware('api.scope:admin') |
|
->name('api.v1.group-permissions.index'); |
|
Route::post('/group-permissions', [GroupPermissionController::class, 'store']) |
|
->middleware('api.scope:admin') |
|
->name('api.v1.group-permissions.store'); |
|
Route::put('/group-permissions/{group}', [GroupPermissionController::class, 'syncGroup']) |
|
->middleware('api.scope:admin') |
|
->name('api.v1.group-permissions.sync'); |
|
Route::delete('/group-permissions/{group}/{permission}', [GroupPermissionController::class, 'destroy']) |
|
->middleware('api.scope:admin') |
|
->name('api.v1.group-permissions.destroy'); |
|
}); |
|
});
|
|
|