syntax = "proto3";

option go_package = "../protogo";

import "google/protobuf/timestamp.proto";

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

// 后端返回：用户列表元素、登录返回值
// 返回IID：IID_Server_Login_respond
message RetAdminUserElement {
    int32 id = 1;//
    Role role = 2;//
    string username = 3;//
    string pwd = 4;//
    int32 off = 5;//冻结 1， 删除 -1
    map<string, string> extend = 6;//immutable:不可删除
    google.protobuf.Timestamp createDt = 7;//
}
enum Role {
    User_None = 0;
    User_Admin = 1;
    User_Normal = 2; // 普通用户
}
// 前端请求：用户列表
// 请求IID：IID_Server_UserList
// 返回IID：IID_Server_UserList_respond
message UserList {
    int32 token = 1; // 当前登录的用户id
    Role role = 2; // 筛选角色
}

// 前端请求：用户创建
// 请求IID：IID_Server_UserCreate
// 返回IID：IID_Server_UserCreate_respond
message UserCreate {
    string username = 1; // 用户名
    string pwd = 2; // 密码
    Role role = 3;
    string remark = 4;// 用户说明
}

// 前端请求：密码修改
// 请求IID：IID_Server_UserUpdate
// 返回IID：IID_Server_UserUpdate_respond
message UserUpdate {
    int32 token = 1; // 当前登录的用户id
    string username = 2; //用户名
    string oldPwd = 3;// 输入原密码
    string newPwd = 4; //输入新密码
    Role role = 5;// 角色
    string remark = 6;// 用户说明
}

// 前端请求：用户删除
// 请求IID：IID_Server_UserDel
// 返回IID：IID_Server_UserDel_respond
message UserDel {
    int32 token = 1; // 当前登录的用户id
  // 允许批量删除
    repeated int32 idArray = 2;
}

// 前端请求：用户登录
// 请求IID：IID_Server_Login
// 返回IID：IID_Server_Login_respond
message Login {
    string username = 1;
    string pwd = 2;
}