zhaoqingang
2024-12-18 c941b948f1fa8eff615985a83110a401ae426ab3
app/service/user.py
@@ -4,7 +4,7 @@
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
@@ -19,7 +19,7 @@
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:
@@ -32,7 +32,7 @@
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)
@@ -43,7 +43,7 @@
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)
@@ -165,7 +165,7 @@
    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())
@@ -241,11 +241,12 @@
    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(