syntax = "proto3";
option go_package="../protogo";

/**  用户相关的接口  **/

// 后端返回：用户列表元素、登录返回值
// tableId: User_List/User_Login
message RetUserElement{
  int32 id = 1;
  string username = 2; // 用户名
  enum Role{
    None = 0;
    Admin = 1;
    Normal = 2; // 普通用户
  }
  Role role = 3;
  bool immutable = 4; // 表示是否不可删除
}

// 前端请求：用户创建
// tableId:User_Add
message ReqUserAdd{
  string username = 1; // 用户名
  string pwd = 2; // 密码
  enum Role{
    None = 0;
    Admin = 1;
    Normal = 2; // 普通用户
  }
  Role role = 3;
}

// 前端请求：密码修改
// tableId: User_Update
message ReqUserUpdate{
  int32 id = 1;
  string oldPwd = 2;// 输入原密码
  string NewPwd = 3; //输入新密码
}

// 前端请求：用户删除
// tableId: User_Del
message ReqUserDel{
  // 允许批量删除
  repeated int32 id = 1;
  int32 uid = 2; // 当前登录的用户id
}

// 前端请求：用户登录
// tableId: User_Login
message ReqUserLogin{
  string username = 1;
  string pwd = 2;
}