| | |
| | | from app.models.group_model import GroupModel |
| | | from app.models.user_model import UserModel |
| | | from app.service.ragflow import RagflowService |
| | | from app.service.token import get_ragflow_token |
| | | from app.service.service_token import get_ragflow_token |
| | | from Log import logger |
| | | |
| | | |
| | |
| | | in_group_user = [] |
| | | user_list = [u.id for i in |
| | | db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).all() for u in i.users] |
| | | for u in db.query(UserModel.id, UserModel.username).order_by(UserModel.id.desc()).all(): |
| | | for u in db.query(UserModel.id, UserModel.username).filter(UserModel.permission!="admin").order_by(UserModel.id.desc()).all(): |
| | | if u.id in user_list: |
| | | in_group_user.append({"user_id": u.id, "user_name": u.username}) |
| | | else: |
| | |
| | | async def save_user_to_group(db, user_id, group_id, user_list): |
| | | group_user_list = [u.id for i in |
| | | db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).all() for u in i.users] |
| | | # print(group_user_list) |
| | | new_users = set([i for i in user_list if i not in group_user_list]) |
| | | delete_user = [i for i in group_user_list if i not in user_list] |
| | | print(new_users) |
| | | if new_users: |
| | | |
| | | user_dict = {i.id: {"rg_id": i.ragflow_id, "email": i.email} for i in |
| | | db.query(UserModel.id, UserModel.email, UserModel.ragflow_id).filter( |
| | | UserModel.id.in_(user_list)).all()} |
| | | print(user_dict) |
| | | ragflow_service = RagflowService(settings.fwr_base_url) |
| | | token = get_ragflow_token(db, user_id) |
| | | token = await get_ragflow_token(db, user_id) |
| | | |
| | | try: |
| | | for old_user in group_user_list: |
| | |
| | | for user1 in new_users: |
| | | for user2 in new_users: |
| | | if user1 != user2: |
| | | print(user1, user2) |
| | | await ragflow_service.add_user_tenant(token, user_dict[user1]["rg_id"], |
| | | user_dict[user2]["email"], |
| | | user_dict[user2]["rg_id"]) |