refactor: 权限组简化为2组(readonly/write) + Transfer穿梭框选择数据库
- access_type 从3值(readonly/datachange/ddl)简化为2值(readonly/write) - readonly=只读查看(关联只读/从库用于查询) write=写入变更(关联主库用于工单) - 前端InstanceGroupPage重写: 2权限类型卡片+自定义Transfer穿梭框组件 - Transfer组件: 左侧可选数据库→右侧已授权数据库, 搜索/勾选/箭头移动 - role_permissions.py更新: 2值权限映射, get_accessible_instances按access_type过滤 - 后端schema/模型校验更新为readonly|write正则 - 15个测试全部通过
This commit is contained in:
1 parent
8161bcf5b5
commit
4111e1eee8
6 files changed
+352
-316
No files matched your search
@@ -9,8 +9,8 @@ class InstanceGroupCreate(BaseModel):
|
||||
db_type: str = Field(default="all", pattern=r"^(mysql|redis|pg|mongo|all)$")
|
||||
access_type: str = Field(
|
||||
default="readonly",
|
||||
pattern=r"^(readonly|datachange|ddl)$",
|
||||
description="权限组类型: readonly(只读查询) / datachange(数据变更) / ddl(DDL变更)",
|
||||
pattern=r"^(readonly|write)$",
|
||||
description="权限组类型: readonly(只读查看) / write(写入变更)",
|
||||
)
|
||||
allowed_databases: Optional[List[str]] = Field(
|
||||
default=None,
|
||||
@@ -27,8 +27,8 @@ class InstanceGroupUpdate(BaseModel):
|
||||
db_type: Optional[str] = Field(default=None, pattern=r"^(mysql|redis|pg|mongo|all)$")
|
||||
access_type: Optional[str] = Field(
|
||||
default=None,
|
||||
pattern=r"^(readonly|datachange|ddl)$",
|
||||
description="权限组类型: readonly(只读查询) / datachange(数据变更) / ddl(DDL变更)",
|
||||
pattern=r"^(readonly|write)$",
|
||||
description="权限组类型: readonly(只读查看) / write(写入变更)",
|
||||
)
|
||||
allowed_databases: Optional[List[str]] = Field(
|
||||
default=None,
|
||||
|
||||
Reference in new issue
Block a user