| | |
| | | from app.api import pwd_context |
| | | from app.api.dialog import dialog_list |
| | | from app.config.config import settings |
| | | from app.config.const import RAGFLOW, BISHENG, DIFY |
| | | from app.config.const import RAGFLOW, BISHENG, DIFY, USER_STATSU_DELETE |
| | | from app.models import RoleModel, GroupModel, AgentType, role_resource_table, DialogModel, OrganizationModel |
| | | from app.models.menu_model import WebMenuModel, MenuCapacityModel |
| | | from app.models.user_model import UserModel, UserAppModel |
| | |
| | | |
| | | |
| | | async def get_user_list(db, page_index: int, page_size: int, keyword: str, role_key: str, user_id): |
| | | query = db.query(UserModel).filter(UserModel.permission != "admin") |
| | | query = db.query(UserModel).filter(UserModel.permission != "admin", UserModel.status != USER_STATSU_DELETE) |
| | | # if role_key != "admin": |
| | | # query.filter(UserModel.creator==user_id) |
| | | if keyword: |
| | |
| | | |
| | | async def edit_user_status(db, status: str, user_id: int): |
| | | try: |
| | | db.query(UserModel).filter(UserModel.id == user_id).update({"status": status}) |
| | | db.query(UserModel).filter(UserModel.id == user_id, UserModel.status != USER_STATSU_DELETE).update({"status": status}) |
| | | db.commit() |
| | | except Exception as e: |
| | | logger.error(e) |
| | |
| | | |
| | | async def delete_user_data(db, user_id: str): |
| | | try: |
| | | db.query(UserModel).filter(UserModel.id == user_id, UserModel.permission != "admin").delete() |
| | | db.query(UserModel).filter(UserModel.id == user_id, UserModel.permission != "admin").update({"status": USER_STATSU_DELETE}) |
| | | db.commit() |
| | | except Exception as e: |
| | | logger.error(e) |
| | |
| | | dept = [] |
| | | role_set = set() |
| | | dept_set = set() |
| | | user = db.query(UserModel).filter_by(id=user_id).first() |
| | | user = db.query(UserModel).filter(UserModel.id==user_id,UserModel.status !=USER_STATSU_DELETE).first() |
| | | await role_resource(role_set, roles, permissions, user.roles) |
| | | for ogt in user.organizations: |
| | | dept.append(ogt.to_json()) |
| | |
| | | dialog_list = [] |
| | | menu_dict = {} |
| | | res = [] |
| | | # print(user_id) |
| | | user = db.query(UserModel).filter_by(id=user_id).first() |
| | | for group in user.groups: |
| | | for dialog in group.dialogs: |
| | | dialog_list.append(dialog.id) |
| | | print(dialog_list) |
| | | # print(dialog_list) |
| | | menu_list = db.query(WebMenuModel.id, WebMenuModel.title, WebMenuModel.describe, WebMenuModel.icon, WebMenuModel.desc,WebMenuModel.rank, |
| | | WebMenuModel.img, MenuCapacityModel.capacity_id, MenuCapacityModel.capacity_type, MenuCapacityModel.chat_id.label("agentId")).outerjoin( |
| | | MenuCapacityModel, WebMenuModel.id == MenuCapacityModel.menu_id).outerjoin( |