1.开发需求

1.1项目

CNOPS - 图1注意事项
1.用户新建项目后成为项PM,PM拥有修改、删除项目的权力
2.用户只能看到自己创建或参加的项目
3.新增成员授权为PM后也可以删除项目
4.项目删除前需要先删除项目下环境(已经通过审批的需要调用ahs接口删除对应项目)
5.项目操作同步记录在项目操作记录表中

  • 6.创建项目后,创建用户也会加入项目用户表
  • 7.项目列表:我管理的项目(PM包含创建),我参与的项目(非PM)

我管理的=创建项目+权限分配为PM的项目
展示信息为:项目名称+我的权限

项目表

字段 类型 描述
projectId string 项目Id
projectName string 项目名称
ProjectDescription string 项目描述

项目操作记录表

字段 类型 描述
projectId string 项目Id
operateTime time.Time 操作时间
operateType string 操作类型

1.1.1用例

  • 用户添加项目—成功
  • 用户添加重复名称项目—失败

自建项目用户

  • 用户删除自己创建的空项目
  • 用户删除拥有环境的项目
  • 用户删除别人创建的项目—失败
  • 用户修改自己的项目,不重名—成功
  • 用户修改自己的项目重名—失败
  • 用户查看项目列表

加入项目的PM

  • 用户查看项目列表

加入项目的普通成员

1.2项目成员

CNOPS - 图2注意事项
1.项目PM与项目成员均为IAM用户
2.PM向IAM获取用户列表

  • 如果PM为子账号,则根据其主账号信息获取所有子账号(排除自己)
  • 如果PM为父账号,则获取所有子账号

3.新增成员时需要携带用户id,用户角色

  • 4.查看项目成员列表时需要鉴定用户是否在项目中

项目成员表

字段 描述
projectId string 项目Id
memberId string 用户Id
memberRole string 用户角色

1.3项目环境

CNOPS - 图3注意事项
1.环境和项目绑定,一个项目可申请多套环境
2.环境创建后,其默认状态为未审批(审批表)
3.修改环境后,再次进入未审批状态(审批表)
4.admin用户可以看到所有的项目以及
5.项目下所有PM可进行环境创建
6.审批通过调用ahs创建项目
7.重新审批后再次调用ahs接口进行更新
8.环境变更后审批状态和

环境表

字段 类型 描述
EnvironmentId string 环境id
projectId string 所属项目Id
memberId string 环境创建人Id
EnvCPU string 环境CPU
EnvMemory string 环境内存大小
EnvCreateTime time.Time 环境创建时间
EnvUpdateTime time.Time 环境更新时间

审批表

字段 类型 描述
EnvironmentId string 环境id
ApprovalStatus bool 审批状态
ApprovalUserId string 审批人Id
ApprovalDescription string 审批意见
ApprovalTime time.Time 审批时间