删除角色 Args: role_name: 角色名 Returns: 删除结果
(role_name: str)
| 207 | |
| 208 | |
| 209 | def delete_role(role_name: str) -> Dict[str, Any]: |
| 210 | """ |
| 211 | 删除角色 |
| 212 | |
| 213 | Args: |
| 214 | role_name: 角色名 |
| 215 | |
| 216 | Returns: |
| 217 | 删除结果 |
| 218 | """ |
| 219 | meta = load_roles_meta() |
| 220 | |
| 221 | if role_name not in meta["roles"]: |
| 222 | return {"success": False, "message": f"角色 {role_name} 不存在"} |
| 223 | |
| 224 | # 不能删除当前角色 |
| 225 | if meta["current_role"] == role_name: |
| 226 | return {"success": False, "message": "不能删除当前角色,请先切换到其他角色"} |
| 227 | |
| 228 | # 删除角色元数据 |
| 229 | del meta["roles"][role_name] |
| 230 | save_roles_meta(meta) |
| 231 | |
| 232 | # 删除用户画像(可选,这里只标记删除) |
| 233 | user_id = f"user_{role_name}" |
| 234 | # 实际删除需要 db_ops 支持,这里暂不实现 |
| 235 | |
| 236 | return { |
| 237 | "success": True, |
| 238 | "message": f"角色 {role_name} 已删除", |
| 239 | } |
| 240 | |
| 241 | |
| 242 | def get_current_role() -> Optional[str]: |
no test coverage detected