| | |
| | | import uuid |
| | | |
| | | from Log import logger |
| | | from app.models import OrganizationModel |
| | | from app.models.resource_model import ResourceModel |
| | | from app.models.role_model import RoleModel |
| | | |
| | |
| | | if keyword: |
| | | query = query.filter(RoleModel.name.like('%{}%'.format(keyword))) |
| | | total = query.count() |
| | | roles = query.order_by(RoleModel.id.desc()).limit(page_size).offset( |
| | | roles = query.order_by(RoleModel.created_at.desc()).limit(page_size).offset( |
| | | (page_index - 1) * page_size).all() |
| | | return {"total": total, "rows": [role.to_json() for role in roles]} |
| | | |
| | |
| | | return True |
| | | |
| | | |
| | | async def edit_role_resource(db, role_id:str, role_name:str, description:str,role_key:str, data_scope:int, resources:list, edit_type:int): |
| | | async def edit_role_resource(db, role_id:str, role_name:str, description:str,role_key:str, data_scope:int, resources:list, edit_type:int, depts:list): |
| | | try: |
| | | role = db.query(RoleModel).filter(RoleModel.id == role_id).first() |
| | | if edit_type == 1: |
| | |
| | | role.roleKey = role_key |
| | | if data_scope: |
| | | role.dataScope = data_scope |
| | | else: |
| | | elif edit_type == 2: |
| | | role.resources = [db.get(ResourceModel, resourcesId) for resourcesId in resources] |
| | | elif edit_type == 3: |
| | | role.organizations = [db.get(OrganizationModel, deptId) for deptId in depts] |
| | | db.add(role) |
| | | db.commit() |
| | | except Exception as e: |