Fixed admin - remove user
This commit is contained in:
@@ -83,8 +83,11 @@ def create_user(payload: AdminUserCreate, _: dict = Depends(require_admin)):
|
||||
def update_user_privileges(
|
||||
user_id: str,
|
||||
payload: AdminUserUpdate,
|
||||
_: dict = Depends(require_admin),
|
||||
current_user: dict = Depends(require_admin),
|
||||
):
|
||||
if user_id == current_user['id']:
|
||||
raise HTTPException(status_code=400, detail='You cannot change your own administrator status')
|
||||
|
||||
with get_connection() as conn:
|
||||
target = conn.execute(
|
||||
'SELECT id, is_admin FROM users WHERE id = ?',
|
||||
@@ -126,6 +129,9 @@ def delete_user(user_id: str, current_user: dict = Depends(require_admin)):
|
||||
if admins <= 1:
|
||||
raise HTTPException(status_code=400, detail='Cannot delete the last administrator')
|
||||
|
||||
conn.execute('DELETE FROM tokens WHERE user_id = ?', (user_id,))
|
||||
conn.execute('DELETE FROM user_plugin_config WHERE user_id = ?', (user_id,))
|
||||
conn.execute('DELETE FROM links WHERE user_id = ?', (user_id,))
|
||||
conn.execute('DELETE FROM users WHERE id = ?', (user_id,))
|
||||
conn.commit()
|
||||
return {'status': 'deleted', 'id': user_id}
|
||||
|
||||
Reference in New Issue
Block a user