- add rotating admin refresh tokens and password gates\n- expand ticket galleries, exports, and client resources\n- improve IP allocation auditing and dashboard data\n- enforce encrypted client access tokens on public routes
44 lines
2.1 KiB
PHP
44 lines
2.1 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Api\Admin\Auth\AuthController;
|
|
use App\Http\Controllers\Api\Admin\Employee\EmployeeController;
|
|
use App\Http\Controllers\Api\Admin\Role\RolePermissionController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::post('logout', [AuthController::class, 'logout']);
|
|
|
|
Route::get('me', [AuthController::class, 'me']);
|
|
|
|
Route::put('profile', [AuthController::class, 'updateProfile']);
|
|
|
|
Route::put('password', [AuthController::class, 'updatePassword']);
|
|
|
|
// Role Permissions
|
|
Route::prefix('role-permissions')->group(function () {
|
|
// Accessible bởi mọi admin — trả về permissions hiệu lực của user hiện tại
|
|
Route::get('mine', [RolePermissionController::class, 'mine']);
|
|
// Các endpoint sau chỉ dành cho Full Administrator (kiểm tra trong controller)
|
|
Route::get('/', [RolePermissionController::class, 'index']);
|
|
Route::post('/', [RolePermissionController::class, 'store']);
|
|
Route::get('all-permissions', [RolePermissionController::class, 'allPermissions']);
|
|
Route::post('permissions', [RolePermissionController::class, 'createPermissionGroup']);
|
|
Route::delete('permissions/group/{module}', [
|
|
RolePermissionController::class,
|
|
'deletePermissionGroup',
|
|
]);
|
|
Route::patch('permissions/{id}', [RolePermissionController::class, 'renamePermission']);
|
|
Route::put('{roleId}', [RolePermissionController::class, 'update']);
|
|
});
|
|
|
|
// Employees (module: administrator)
|
|
Route::prefix('employees')->group(function () {
|
|
Route::get('roles', [EmployeeController::class, 'roles'])->middleware('perm:administrator.view');
|
|
Route::get('/', [EmployeeController::class, 'index'])->middleware('perm:administrator.view');
|
|
Route::post('/', [EmployeeController::class, 'store'])->middleware('perm:administrator.create');
|
|
Route::get('{id}', [EmployeeController::class, 'show'])->middleware('perm:administrator.view');
|
|
Route::put('{id}', [EmployeeController::class, 'update'])->middleware('perm:administrator.edit');
|
|
Route::delete('{id}', [EmployeeController::class, 'destroy'])->middleware(
|
|
'perm:administrator.destroy',
|
|
);
|
|
});
|