tyt-api-nest/docs/users.md
2026-03-13 02:40:21 +08:00

1.2 KiB
Raw Blame History

用户与权限模块说明(src/users

1. 目标

  • 管理用户基础信息(姓名、手机号、角色、组织归属)。
  • 维护 B 端角色权限边界和工程师绑定医院逻辑。

2. 角色枚举

  • SYSTEM_ADMIN:系统管理员
  • HOSPITAL_ADMIN:院管
  • DIRECTOR:主任
  • LEADER:组长
  • DOCTOR:医生
  • ENGINEER:工程师

3. 关键规则

  • 医院内数据按 hospitalId 强隔离。
  • SYSTEM_ADMIN 可执行工程师绑定医院。
  • 用户组织字段校验:
    • 院管/医生/工程师等需有医院归属;
    • 主任/组长需有科室/小组等必要归属;
    • 系统管理员不能绑定院内组织字段。
  • 更新用户时,仅允许医生调整 departmentId/groupId(后端强约束)。
  • 科室/小组父级关系冻结:不允许通过更新接口迁移科室所属医院或小组所属科室。

4. 典型接口

  • GET /usersGET /users/:idPATCH /users/:idDELETE /users/:id
  • POST /b/users/:id/assign-engineer-hospital

5. 开发改造建议

  • 若增加角色,请同步修改:
    • Prisma Role 枚举
    • roles.guard.ts 与各 Service 权限判断
    • Swagger DTO 中文说明