File tree Expand file tree Collapse file tree 2 files changed +29
-1
lines changed
Expand file tree Collapse file tree 2 files changed +29
-1
lines changed Original file line number Diff line number Diff line change @@ -452,6 +452,16 @@ def get_users(
452452 "total" : total ,
453453 }
454454
455+ def get_users_by_group_id (self , group_id : str ) -> list [UserModel ]:
456+ with get_db () as db :
457+ users = (
458+ db .query (User )
459+ .join (GroupMember , User .id == GroupMember .user_id )
460+ .filter (GroupMember .group_id == group_id )
461+ .all ()
462+ )
463+ return [UserModel .model_validate (user ) for user in users ]
464+
455465 def get_users_by_user_ids (self , user_ids : list [str ]) -> list [UserStatusModel ]:
456466 with get_db () as db :
457467 users = db .query (User ).filter (User .id .in_ (user_ids )).all ()
Original file line number Diff line number Diff line change 33from typing import Optional
44import logging
55
6- from open_webui .models .users import Users
6+ from open_webui .models .users import Users , UserInfoResponse
77from open_webui .models .groups import (
88 Groups ,
99 GroupForm ,
@@ -118,6 +118,24 @@ async def export_group_by_id(id: str, user=Depends(get_admin_user)):
118118 )
119119
120120
121+ ############################
122+ # GetUsersInGroupById
123+ ############################
124+
125+
126+ @router .post ("/id/{id}/users" , response_model = list [UserInfoResponse ])
127+ async def get_users_in_group (id : str , user = Depends (get_admin_user )):
128+ try :
129+ users = Users .get_users_by_group_id (id )
130+ return users
131+ except Exception as e :
132+ log .exception (f"Error adding users to group { id } : { e } " )
133+ raise HTTPException (
134+ status_code = status .HTTP_400_BAD_REQUEST ,
135+ detail = ERROR_MESSAGES .DEFAULT (e ),
136+ )
137+
138+
121139############################
122140# UpdateGroupById
123141############################
You can’t perform that action at this time.
0 commit comments