diff --git a/restapi/index.php b/restapi/index.php index af965e498..5effb5f30 100644 --- a/restapi/index.php +++ b/restapi/index.php @@ -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');