Browse Source

Merge pull request #401 from ollama-webui/edit-user

fix: update role
Timothy Jaeryang Baek 1 year ago
parent
commit
d0e1d7cee2
1 changed files with 24 additions and 0 deletions
  1. 24 0
      backend/apps/web/routers/users.py

+ 24 - 0
backend/apps/web/routers/users.py

@@ -31,6 +31,30 @@ async def get_users(skip: int = 0, limit: int = 50, user=Depends(get_current_use
     return Users.get_users(skip, limit)
 
 
+############################
+# UpdateUserRole
+############################
+
+
+@router.post("/update/role", response_model=Optional[UserModel])
+async def update_user_role(
+    form_data: UserRoleUpdateForm, user=Depends(get_current_user)
+):
+    if user.role != "admin":
+        raise HTTPException(
+            status_code=status.HTTP_403_FORBIDDEN,
+            detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
+        )
+
+    if user.id != form_data.id:
+        return Users.update_user_role_by_id(form_data.id, form_data.role)
+    else:
+        raise HTTPException(
+            status_code=status.HTTP_403_FORBIDDEN,
+            detail=ERROR_MESSAGES.ACTION_PROHIBITED,
+        )
+
+
 ############################
 # UpdateUserById
 ############################