namespace BookStack\Users\Controllers;
use BookStack\Http\ApiController;
+use BookStack\Permissions\Permission;
use BookStack\Permissions\PermissionsRepo;
use BookStack\Users\Models\Role;
use Illuminate\Http\Request;
class RoleApiController extends ApiController
{
- protected PermissionsRepo $permissionsRepo;
-
protected array $fieldsToExpose = [
'display_name', 'description', 'mfa_enforced', 'external_auth_id', 'created_at', 'updated_at',
];
- protected $rules = [
+ protected array $rules = [
'create' => [
'display_name' => ['required', 'string', 'min:3', 'max:180'],
'description' => ['string', 'max:180'],
]
];
- public function __construct(PermissionsRepo $permissionsRepo)
- {
- $this->permissionsRepo = $permissionsRepo;
-
+ public function __construct(
+ protected PermissionsRepo $permissionsRepo
+ ) {
// Checks for all endpoints in this controller
$this->middleware(function ($request, $next) {
- $this->checkPermission('user-roles-manage');
+ $this->checkPermission(Permission::UserRolesManage);
return $next($request);
});
}
/**
- * Format the given role model for single-result display.
+ * Format the given role model for a single-result display.
*/
- protected function singleFormatter(Role $role)
+ protected function singleFormatter(Role $role): void
{
$role->load('users:id,name,slug');
$role->unsetRelation('permissions');