add endpoint delete '/roles/{id}'

This commit is contained in:
Uwe Steinmann 2024-04-25 15:13:17 +02:00
parent f5073ffd4f
commit 0d2cc403da

View File

@ -2233,6 +2233,25 @@ class RestapiController { /* {{{ */
return $response->withJson(array('success'=>true, 'message'=>'', 'data'=>$this->__getRoleData($newRole)), 201);
} /* }}} */
function deleteRole($request, $response, $args) { /* {{{ */
$dms = $this->container->dms;
$userobj = $this->container->userobj;
$check = $this->checkIfAdmin($request, $response);
if($check !== true)
return $check;
if($role = $dms->getRole($args['id'])) {
if($result = $role->remove($userobj)) {
return $response->withJson(array('success'=>$result, 'message'=>'', 'data'=>''), 200);
} else {
return $response->withJson(array('success'=>$result, 'message'=>'Could not delete role', 'data'=>''), 500);
}
} else {
return $response->withJson(array('success'=>false, 'message'=>'No such role', 'data'=>''), 404);
}
} /* }}} */
function getRole($request, $response, $args) { /* {{{ */
$dms = $this->container->dms;
$userobj = $this->container->userobj;
@ -2985,6 +3004,7 @@ $app->put('/users/{id}/password', \RestapiController::class.':changeUserPassword
$app->get('/roles', \RestapiController::class.':getRoles');
$app->post('/roles', \RestapiController::class.':createRole');
$app->get('/roles/{id}', \RestapiController::class.':getRole');
$app->delete('/roles/{id}', \RestapiController::class.':deleteRole');
$app->post('/groups', \RestapiController::class.':createGroup');
$app->get('/groups', \RestapiController::class.':getGroups');
$app->delete('/groups/{id}', \RestapiController::class.':deleteGroup');