From b4acf278db581ce5e70b513407b70db2d9b29b23 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 07 一月 2025 17:33:32 +0800
Subject: [PATCH] 报告生成
---
app/service/role.py | 28 +++++++++++++++++++---------
1 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/app/service/role.py b/app/service/role.py
index 5568114..fd7d91d 100644
--- a/app/service/role.py
+++ b/app/service/role.py
@@ -1,13 +1,15 @@
import uuid
-from app.Log import logger
-from app.models.resource_model import ResourceModel, ResourceTypeModel
+from Log import logger
+from app.models.resource_model import ResourceModel
from app.models.role_model import RoleModel
-async def role_list(db, page_size: int, page_index: int, keyword: str):
+async def role_list(db, page_size: int, page_index: int, keyword: str, role_key:str, user_id):
query = db.query(RoleModel)
+ # if role_key != "admin":
+ # query.filter(RoleModel.creator==user_id)
if keyword:
query = query.filter(RoleModel.name.like('%{}%'.format(keyword)))
roles = query.order_by(RoleModel.id.desc()).limit(page_size).offset(
@@ -15,9 +17,11 @@
return {"total": query.count(), "rows": [role.to_json() for role in roles]}
-async def create_role(db, role_name: str, description: str, user_id):
+async def create_role(db, role_name: str, description: str, role_key, data_scope, user_id):
try:
- role_model = RoleModel(id=str(uuid.uuid4()),name=role_name, description=description,creator=user_id)
+ role_model = RoleModel(id=str(uuid.uuid4()),name=role_name, description=description,creator=user_id, dataScope=data_scope)
+ if role_key:
+ role_model.roleKey = role_key
db.add(role_model)
db.commit()
db.refresh(role_model)
@@ -49,12 +53,18 @@
return True
-async def edit_role_resource(db, role_id:str, role_name:str, description:str, resources:list):
+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):
try:
role = db.query(RoleModel).filter(RoleModel.id == role_id).first()
- if role_name: role.name = role_name
- if description: role.description = description
- if resources:
+ if edit_type == 1:
+ role.name = role_name
+ role.description = description
+
+ if role_key:
+ role.roleKey = role_key
+ if data_scope:
+ role.dataScope = data_scope
+ else:
role.resources = [db.get(ResourceModel, resourcesId) for resourcesId in resources]
db.add(role)
db.commit()
--
Gitblit v1.8.0