移除QA预设角色并收紧角色模板编辑

This commit is contained in:
Cheng Zhou
2026-05-26 11:32:14 +08:00
parent 6c2f61eebd
commit 3c168565ce
26 changed files with 387 additions and 119 deletions
+31 -31
View File
@@ -20,14 +20,14 @@ API_ENDPOINT_PERMISSIONS = {
"module": "subjects",
"action": "read",
"description": "查询参与者列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"subjects:read": {
"module": "subjects",
"action": "read",
"description": "查询参与者详情",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"subjects:update": {
@@ -56,14 +56,14 @@ API_ENDPOINT_PERMISSIONS = {
"module": "subjects",
"action": "read",
"description": "查询访视列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"visits:read": {
"module": "subjects",
"action": "read",
"description": "查询访视详情",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"visits:update": {
@@ -92,14 +92,14 @@ API_ENDPOINT_PERMISSIONS = {
"module": "risk_issues",
"action": "read",
"description": "查询不良事件列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"risk_issues:read": {
"module": "risk_issues",
"action": "read",
"description": "查询不良事件详情",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"risk_issues:update": {
@@ -251,13 +251,13 @@ API_ENDPOINT_PERMISSIONS = {
"module": "sites",
"action": "read",
"description": "查询中心列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"sites:read": {
"module": "sites",
"action": "read",
"description": "查询中心详情",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"sites:update": {
"module": "sites",
@@ -413,7 +413,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "project_overview",
"action": "read",
"description": "查询项目概览",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
# 监查问题管理
"monitoring_issues:create": {
@@ -470,7 +470,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "monitoring_audit",
"action": "read",
"description": "查询监查访视问题",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW"],
"prerequisite_permissions": [],
},
"monitoring_audit:update": {
@@ -499,14 +499,14 @@ API_ENDPOINT_PERMISSIONS = {
"module": "materials",
"action": "read",
"description": "查询药物发货列表",
"default_roles": ["PM", "CRA", "IMP", "QA"],
"default_roles": ["PM", "CRA", "IMP"],
"prerequisite_permissions": [],
},
"drug_shipments:read": {
"module": "materials",
"action": "read",
"description": "查询药物发货详情",
"default_roles": ["PM", "CRA", "IMP", "QA"],
"default_roles": ["PM", "CRA", "IMP"],
"prerequisite_permissions": [],
},
"drug_shipments:update": {
@@ -534,13 +534,13 @@ API_ENDPOINT_PERMISSIONS = {
"module": "materials",
"action": "read",
"description": "查询物资列表",
"default_roles": ["PM", "CRA", "IMP", "QA"],
"default_roles": ["PM", "CRA", "IMP"],
},
"materials:read": {
"module": "materials",
"action": "read",
"description": "查询物资详情",
"default_roles": ["PM", "CRA", "IMP", "QA"],
"default_roles": ["PM", "CRA", "IMP"],
},
"materials:update": {
"module": "materials",
@@ -595,19 +595,19 @@ API_ENDPOINT_PERMISSIONS = {
"module": "audit_export",
"action": "read",
"description": "查询审计日志列表",
"default_roles": ["PM", "QA"],
"default_roles": ["PM"],
},
"audit_logs:read": {
"module": "audit_export",
"action": "read",
"description": "查询审计日志详情",
"default_roles": ["PM", "QA"],
"default_roles": ["PM"],
},
"audit_logs:export": {
"module": "audit_export",
"action": "read",
"description": "导出审计日志",
"default_roles": ["PM", "QA"],
"default_roles": ["PM"],
},
# 知识库笔记管理
"knowledge_notes:create": {
@@ -620,13 +620,13 @@ API_ENDPOINT_PERMISSIONS = {
"module": "shared_library",
"action": "read",
"description": "查询知识库笔记列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"knowledge_notes:read": {
"module": "shared_library",
"action": "read",
"description": "查询知识库笔记详情",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"knowledge_notes:update": {
"module": "shared_library",
@@ -676,7 +676,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "setup_config",
"action": "read",
"description": "查询立项配置",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"setup_config:update": {
"module": "setup_config",
@@ -707,7 +707,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "project_milestones",
"action": "read",
"description": "查询项目里程碑列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"project_milestones:update": {
"module": "project_milestones",
@@ -751,7 +751,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "attachments",
"action": "read",
"description": "查询附件",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"attachments:update": {
"module": "attachments",
@@ -795,7 +795,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "faq",
"action": "read",
"description": "查询FAQ",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"faq:update": {
"module": "faq",
@@ -820,7 +820,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "faq",
"action": "read",
"description": "查询FAQ分类",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"faq_category:update": {
"module": "faq",
@@ -852,7 +852,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "dashboard",
"action": "read",
"description": "查询仪表板",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": ["sites:read", "subjects:read"],
},
# 参与者历史管理
@@ -867,14 +867,14 @@ API_ENDPOINT_PERMISSIONS = {
"module": "subject_histories",
"action": "read",
"description": "查询参与者历史列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"subject_histories:read": {
"module": "subject_histories",
"action": "read",
"description": "查询参与者历史详情",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
"prerequisite_permissions": [],
},
"subject_histories:update": {
@@ -902,13 +902,13 @@ API_ENDPOINT_PERMISSIONS = {
"module": "material_equipments",
"action": "read",
"description": "查询物资设备列表",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"material_equipments:read": {
"module": "material_equipments",
"action": "read",
"description": "查询物资设备详情",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"material_equipments:update": {
"module": "material_equipments",
@@ -933,7 +933,7 @@ API_ENDPOINT_PERMISSIONS = {
"module": "documents",
"action": "read",
"description": "查询文档",
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"],
"default_roles": ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"],
},
"documents:update": {
"module": "documents",
@@ -1170,7 +1170,7 @@ OPERATION_TO_ENDPOINTS: dict[str, dict[str, list[str]]] = {
}
# 项目级权限角色列表
PROJECT_PERMISSION_ROLES = ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP", "QA"]
PROJECT_PERMISSION_ROLES = ["PM", "CRA", "PV", "MEDICAL_REVIEW", "IMP"]
# 前置权限映射表(用于权限检查)
# 定义每个操作需要的前置权限