exorteam/Exort

API服务器接口需求

Closed this issue · 4 comments

来自 #40

目标模块:Api Server #42

  1. GET 得到部门树
    • 输入:
    • 输出:后端返回的列表
  2. GET 得到某个社团的用户
    • 输入:社团ID
    • 输出:用户列表
  3. GET 得到某个部门的信息
    • 输入:社团ID,部门ID
    • 输出:部门信息
  4. POST 创建某个部门
    • 输入:社团ID
    • 输出:部门信息
  5. DELETE 删除某个部门
    • 输入:社团ID
    • 输出:成功与否
  6. PUT 编辑某个部门信息
    • 输入:社团ID
    • 输出:编辑后的部门信息
  7. GET 得到某个部门的用户
    • 输入:社团ID
    • 输出:用户列表
  8. DELETE 将用户从某个部门中删除
    • 输入:社团ID
    • 输出:成功与否
  9. POST 为某个部门添加成员
    • 输入:社团ID
    • 输出:成功与否
  10. POST 向某个社团添加成员
    • 输入:社团ID
    • 输出:成功与否
  11. DELETE 将某个成员从社团中删除
    • 输入:社团ID
    • 输出:成功与否
  1. GET 得到社团列表

    • 输入:搜索关键字,标签,社团状态
    • 输出:符合条件的社团列表
  2. GET 得到某个社团的信息

    • 输入:社团Id
    • 输出:对应的社团信息
  3. POST 创建某个社团(系统管理员)

    • 输入:社团名称,社团描述,社团标签,社团Logo
    • 输出:社团信息
  4. DELETE 删除某个社团

    • 输入:社团Id
    • 输出:是否成功
  5. PUT 编辑某个社团的信息

    • 输入:社团Id,社团名称,社团描述,社团标签,社团Logo
    • 输出:编辑后的社团信息
  6. POST 创建"创建社团"申请

    • 输入:社团信息(社团名称,社团描述,社团标签,社团Logo),创建者Id,材料列表
    • 输出:申请信息
  7. POST 创建"解除社团封禁"申请

    • 输入:解除封禁信息(社团Id,解禁理由),创建者Id
    • 输出:申请信息
  8. DELETE 取消申请

    • 输入:申请Id
    • 输出:是否成功
  9. PATCH 接受申请

    • 输入:申请Id
    • 输出:是否成功
  10. PATCH 拒绝申请

    • 输入:申请Id
    • 输出:是否成功
  11. PATCH 改变社团状态(系统管理员,有封禁社团,解禁社团两种操作)

    • 输入:社团ID,操作类型(封禁,解禁),操作者Id,操作描述
    • 输出:是否成功

Activity Manager

  1. POST 创建活动

    • 输入

      Parameter Description
      associationIdsint[] 社团IDs
      titlestring 标题
      contentstring 内容(简介)
      signupTimeNewDateTime 报名时间范围
      timeNewDateTime 活动时间范围
      ifReviewbool 报名是否需要审核
      ifOnlyMembool 是否仅社团成员参加
      numberOfParticipantsint 最大参加人数
      materialTemplateIdsint[] 材料模板
      tagsstring[] 标签
      imageString 活动图片
    • 输出

      • 活动
  2. POST 修改活动

    • 输入
    Parameter Description
    associationIdsint[] 社团IDs
    titlestring 标题
    contentstring 内容(简介)
    signupTimeNewDateTime 报名时间范围
    timeNewDateTime 活动时间范围
    ifReviewbool 报名是否需要审核
    ifOnlyMembool 是否仅社团成员参加
    numberOfParticipantsint 最大参加人数
    materialTemplateIdsint[] 材料模板
    tagsstring[] 标签
    imageString 活动图片
    • 输出
      • 活动
  3. POST 发布活动

    • 输入
      • 活动ID
      • 动作类型 "publish"
    • 输出
      • 无/(true, false)
  4. POST 取消发布活动

    • 输入
      • 活动ID
      • 动作类型 "withdraw"
    • 输出
      • 无/(true, false)
  5. POST 筛选活动(分页)

    • 输入

      • Query Parameters

        Parameter Description default Value
        pagesize 每页数量 8
        pagenum 页号 0
        sortby 排序方式 0
      • Body Parameters

        Parameter Description default Value
        associationIdint 社团ID 创建者
        tagsstring[] 标签
        keywordstring 内容(简介) null
        createTimeTimeRange 创建时间 null
        signupTimeTimeRange 报名时间 null
        startTimeTimeRange 开始时间 null
        publishStateint 活动状态(0/unpublished, 1/published) -1
        signupStateint 报名状态(0报名未开始,1报名中,2报名已结束) -1
        stateint 活动状态(0未开始,1进行中,2已结束) -1
        ifReviewbool 报名是否需要审核 -1
        ifOnlyMembool 活动是否仅社团成员可参加 -1
    • 输出

      • 活动列表
  6. GET 查询单个活动(详情)

    • 输入
      • 活动ID
    • 输出
      • 活动
  7. POST 通过审核

    • 输入
      • 活动ID
      • 用户ID
      • 操作 (string: "accept")
    • 输出
      • 无/(true/false)
  8. POST 不通过审核

    • 输入
      • 活动ID
      • 用户ID
      • 操作 (string: "refused")
    • 输出
      • 无/(true/false)
  9. POST 筛选标签列表(根据keyword,分页)

    • 输入
      • keyword
    • 输出
      • tag列表
  10. POST 存储标签
    - 输入

    • 待标签列表
      - 输出
    • 无/(true/false)
  11. POST 查询参加者(分页)
    - 输入

    • pagesize
    • pagenum
    • 用户类型(participant是1,realParticipant是2, 这里是1)
      - 输出
    • 参加者列表
  12. POST 查询实际参加者(分页)
    - 输入

    • pagesize
    • pagenum
    • 用户类型(participant是1,realParticipant是2, 这里是2)
      - 输出
    • 参加者列表

系统管理员后台页面

需要 (scope, permission)

权限管理页面

  1. 创建权限 (sys, write_permission)

    • 输入:
      • 权限名
      • 分类
      • 描述
  2. 移除权限 (sys, write_permission)

    • 输入:
      • 权限名
  3. 修改权限 (sys, write_permission)

    • 输入:
      • 权限名
      • 分类
      • 描述
  4. 获取所有权限 (sys, read_permission)

角色管理页面

  1. 创建角色 (sys, write_role)

    • 输入:
      • 角色名
      • 分类
      • 描述
  2. 编辑角色 (sys, write_role)

    • 输入:
      • 角色名
      • 分类
      • 描述
  3. 移除角色 (sys, write_role)

    • 输入:
      • 角色名
  4. 获取角色 (sys, read_role)

    • 输入:

      • 分类
    • 输出:

      • 角色列表
  5. 给角色添加权限 (sys, write_role)

    • 输入:
      • 角色名
      • 权限名列表
  6. 移除角色权限 (sys, write_role)

    • 输入:
      • 角色名
      • 权限名列表

用户管理页面

  1. 创建用户 (暂时只能通过注册创建用户)

    • 输入:
      • 各种用户信息
  2. 编辑用户 (暂时只能由用户自己修改信息)

    • 输入:
      • 用户id
      • 各种用户信息
  3. 通过scope和role查找用户 (sys, read_user)

    • 输入:
      • scope
      • role (可以为空)
      • 页码
      • 每页数量
    • 输出
      • 用户列表
      • 实际页码
      • 实际每页数量
      • 用户总数
  4. 给用户添加角色 (sys, write_user_role)

    • 输入:
      • 用户id
      • scope
      • 角色名列表
  5. 删除用户角色 (sys, write_user_role)

    • 输入:
      • 用户id
      • scope
      • 角色名列表
  6. 获取用户所有角色 (sys, read_user_role)

    • 输入:

      • 用户id
      • scope
    • 输出:

      • 角色列表