user.proto 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. syntax = "proto3";
  2. package gorpc;
  3. option go_package = "code.clickto.dev/nomo-server/go-service-pb/client";
  4. import "pb/common.proto";
  5. // 白名单表
  6. message UserWhiteVo {
  7. int64 id = 1; // 主键ID
  8. int64 userId = 2; // 用户
  9. UserType userType = 3; // 用户类型 1 设备 2 账号
  10. Status status = 4; // 状态
  11. int64 createTime = 5; // 创建时间
  12. int64 updateTime = 6; // 更新时间
  13. }
  14. // 测试用户表
  15. message UserTestVo {
  16. int64 id = 1; // 主键ID
  17. int64 userId = 2; // 用户
  18. UserType userType = 3; // 用户类型 1 设备 2 账号
  19. string area = 4; // 指定地区
  20. repeated string apis = 5; // 指定接口
  21. repeated string routers = 6; // 指定路由
  22. Status status = 7; // 状态
  23. int64 createTime = 8; // 创建时间
  24. int64 updateTime = 9; // 更新时间
  25. }
  26. // Account
  27. message AccountVo {
  28. int64 id = 1; // 主键ID
  29. string userUuid = 2; // 用户UUID
  30. string productCode = 3; // 产品ID
  31. string username = 4; // 用户名
  32. string password = 5; // 密码
  33. string accountKey = 6; // 账号KEY
  34. string accountPassword = 7; // 账号密码
  35. int64 accountType = 8; // 账号类型
  36. int64 registMode = 9; // 注册方式
  37. string provider = 10; // 授权登录标识
  38. BoolInt whitelistUser = 11; // 白名单用户
  39. BoolInt activated = 12; // 是否激活
  40. string config = 13; // 配置
  41. Status status = 14; // 状态
  42. string avatar = 15; // 头像
  43. string area = 16; // 指定地区
  44. string remark = 17; // 备注
  45. string deviceId = 18; // 设备ID
  46. string platform = 19; // 平台
  47. string channel = 20; // 渠道
  48. string deviceModel = 21; // 设备型号
  49. string deviceOs = 22; // 设备系统
  50. int64 timezone = 23; // 时区
  51. string lang = 24; // 语言
  52. string ip = 25; // IP
  53. string country = 26; // 国家
  54. string province = 27; // 省份
  55. string city = 28; // 城市
  56. string isp = 29; // ISP
  57. int64 appVer = 30; // 产品版本号
  58. int64 appRuntimeCode = 31; // 产品运行码
  59. int64 createTime = 32; // 创建时间
  60. int64 updateTime = 33; // 更新时间
  61. string version = 34; // 数据版本
  62. string sessionId = 35; // 登录凭证
  63. int64 sessionCreateTime = 36; // 凭证创建时间
  64. }
  65. message AccountListReq {
  66. Page page = 1;
  67. AccountVo vo = 2;
  68. repeated string productCodes = 3; // 产品code
  69. repeated int64 excludeIds = 4; // 排除的ID
  70. }
  71. message AccountListResp {
  72. int64 total = 1;
  73. repeated AccountVo list = 2;
  74. }
  75. // AccountDevice
  76. message AccountDeviceVo {
  77. int64 id = 1;
  78. int64 accountId = 2; // 用户ID
  79. int64 deviceId = 3; // 设备ID
  80. string sessionId = 4; // 登录凭证
  81. int64 sessionCreateTime = 5; // 凭证创建时间
  82. int64 updateTime = 6;
  83. int64 createTime = 7;
  84. }
  85. message AccountDeviceListReq {
  86. Page page = 1;
  87. AccountDeviceVo vo = 2;
  88. repeated int64 excludeIds = 3; // 排除的ID
  89. }
  90. message AccountDeviceListResp {
  91. int64 total = 1;
  92. repeated AccountDeviceVo list = 2;
  93. }
  94. message UserWhiteListReq {
  95. Page page = 1;
  96. UserWhiteVo vo = 2;
  97. repeated int64 excludeIds = 3; // 排除的ID
  98. }
  99. message UserWhiteListResp {
  100. int64 total = 1;
  101. repeated UserWhiteVo list = 2;
  102. }
  103. message UserTestListReq {
  104. Page page = 1;
  105. UserTestVo vo = 2;
  106. repeated int64 excludeIds = 3; // 排除的ID
  107. }
  108. message UserTestListResp {
  109. int64 total = 1;
  110. repeated UserTestVo list = 2;
  111. }
  112. message DeviceVo {
  113. int64 id = 1;
  114. string userUuid = 2;
  115. string productCode = 3;
  116. string deviceId = 4;
  117. string accountKey = 5;
  118. string accountPassword = 6;
  119. string platform = 7;
  120. string channel = 8;
  121. string referChannel = 9;
  122. string deviceModel = 10;
  123. string deviceOs = 11;
  124. int64 timezone = 12;
  125. string lang = 13;
  126. int64 appVer = 14;
  127. string ip = 15;
  128. string country = 16;
  129. string province = 17;
  130. string city = 18;
  131. string isp = 19;
  132. int64 createTime = 20;
  133. int64 updateTime = 21;
  134. Status status = 22;
  135. string refer = 23;
  136. int64 whitelistUser = 24; // 白名单用户 1正常用户 2: 白名单用户
  137. int64 testUser = 25; // 测试用户 1正常用户 2: 测试用户
  138. string mockCountry = 26; // 指定国家
  139. string mockApi = 27; // 指定API
  140. string mockRouter = 28; // 指定路由
  141. string referSubChannel = 29;
  142. string firebaseToken = 30; // firebase token
  143. string appVerName = 31; // 版本
  144. }
  145. message DeviceListReq {
  146. Page page = 1;
  147. DeviceVo vo = 2;
  148. repeated string productCodes = 3; // 产品code
  149. repeated int64 excludeIds = 4; // 排除的ID
  150. repeated string dateRange = 5; // 日期范围
  151. int64 createStartTime = 6; // 创建开始时间
  152. int64 createEndTime = 7; // 创建结束时间
  153. repeated string deviceIds = 8; // 设备IDs
  154. string country = 9; // 国家
  155. string vn = 10; // 运营商
  156. }
  157. message DeviceListRes {
  158. int64 total = 1;
  159. repeated DeviceVo list = 2;
  160. }
  161. message UserAppConfigVo {
  162. int64 id = 1;
  163. string deviceId = 2;
  164. string key = 3;
  165. string value = 4;
  166. Status status = 5;
  167. int64 createTime = 6;
  168. int64 updateTime = 7;
  169. }
  170. message UserAppConfigGetReq { UserAppConfigVo vo = 1; }
  171. message UserAppConfigListReq {
  172. Page page = 1;
  173. UserAppConfigVo vo = 2;
  174. }
  175. message UserAppConfigListRes {
  176. int64 total = 1;
  177. repeated UserAppConfigVo list = 2;
  178. }
  179. message DeviceUpdateFirebaseTokenReq {
  180. // 设备ID
  181. string deviceId = 1;
  182. // firebaseToken
  183. string firebaseToken = 2;
  184. string productCode =3;
  185. }
  186. message DeviceAddFirebaseTokenReq {
  187. string deviceId = 1;
  188. string firebaseToken = 2;
  189. }
  190. message DeviceFirebaseTokenMapReq {
  191. repeated string deviceId = 1;
  192. }
  193. message DeviceFirebaseTokenMapRes {
  194. map<string, string> result = 1;
  195. }
  196. message UserVo {
  197. int64 id = 1; // ID
  198. string productCode = 2; // 产品标识
  199. string uuid = 3; // 用户唯一ID
  200. string deviceId = 4; // 注册时使用的设备ID
  201. int64 accountType = 5; // 1: device 2: account (其实可以通过查询 user_credential 中有没有登录凭证来确定此账号是已注册的账号还是游客类型的账号)
  202. string registType = 6; // 注册方式 normal email phone wechat qq google apple (其实可以通过查询 user_credential 中最早的一条记录的 identityType 来确定)
  203. int64 registFrom = 7; // 从哪里注册 0: unknown 1: guest 2: app 3: web 4: pc 9999: invalid
  204. string referChannel = 8; // 推广渠道
  205. string referSubChannel = 9; // 推广子渠道
  206. string nickname = 10; // 用户昵称
  207. string avatar = 11; // 用户头像地址
  208. string config = 12; // 保留字段,用于扩展
  209. Status status = 13; // 状态 1: 正常 2: 冻结
  210. int64 createTime = 14; // 创建时间
  211. int64 updateTime = 15; // 修改时间
  212. }
  213. message UserAddReq { UserVo vo = 1; }
  214. message UserAddResp { UserVo vo = 1; }
  215. message UserUpdateReq { UserVo vo = 1; }
  216. message UserUpdateResp { UserVo vo = 1; }
  217. message UserDelReq { repeated int64 ids = 1; }
  218. message UserGetReq { UserVo vo = 1; }
  219. message UserGetResp { UserVo vo = 1; }
  220. message UserListReq {
  221. Page page = 1;
  222. UserVo vo = 2;
  223. repeated int64 excludeIds = 3; // 排除的ID
  224. repeated string productCodes = 4; // 产品code
  225. repeated string uuids = 5; // 用户唯一ID
  226. repeated string deviceIds = 6; // 设备ID (device 表的 id)
  227. }
  228. message UserListResp {
  229. int64 total = 1;
  230. repeated UserVo list = 2;
  231. }
  232. message UserCredentialVo {
  233. int64 id = 1; // ID
  234. int64 userId = 2; // 用户ID
  235. string productCode = 3; // 产品标识
  236. string identityType = 4; // 凭证类型: username, email, phone, wechat, qq, google, apple 等
  237. string identifier = 5; // 凭证标识
  238. string credential = 6; // 凭证密钥(密码/token)
  239. int64 isVerified = 7; // 是否已验证 1: 已验证 2: 未验证
  240. int64 registFrom = 8; // 从哪里注册 0: unknown 1: guest 2: app 3: web 4: pc 9999: invalid
  241. Status status = 9; // 状态 1: 正常 2: 禁用
  242. int64 createTime = 10; // 创建时间/注册时间
  243. int64 updateTime = 11; // 更新时间
  244. }
  245. message UserCredentialAddReq { UserCredentialVo vo = 1; }
  246. message UserCredentialAddResp { UserCredentialVo vo = 1; }
  247. message UserCredentialUpdateReq { UserCredentialVo vo = 1; }
  248. message UserCredentialUpdateResp { UserCredentialVo vo = 1; }
  249. message UserCredentialDelReq { repeated int64 ids = 1; }
  250. message UserCredentialGetReq { UserCredentialVo vo = 1; }
  251. message UserCredentialGetResp { UserCredentialVo vo = 1; }
  252. message UserCredentialListReq {
  253. Page page = 1;
  254. UserCredentialVo vo = 2;
  255. repeated int64 excludeIds = 3; // 排除的ID
  256. repeated int64 userIds = 4; // 用户ID
  257. }
  258. message UserCredentialListResp {
  259. int64 total = 1;
  260. repeated UserCredentialVo list = 2;
  261. }
  262. message UserDeviceVo {
  263. int64 id = 1; // ID
  264. int64 userId = 2; // 用户ID
  265. int64 did = 3; // 设备ID
  266. string sessionId = 4; // 登录凭证
  267. int64 sessionCreateTime = 5; // 凭证创建时间
  268. Status status = 6; // 状态 1: 正常 2: 禁用
  269. int64 updateTime = 7; // 更新时间
  270. int64 createTime = 8; // 创建时间
  271. }
  272. message UserDeviceAddReq { UserDeviceVo vo = 1; }
  273. message UserDeviceAddResp { UserDeviceVo vo = 1; }
  274. message UserDeviceUpdateReq { UserDeviceVo vo = 1; }
  275. message UserDeviceUpdateResp { UserDeviceVo vo = 1; }
  276. message UserDeviceDelReq { repeated int64 ids = 1; }
  277. message UserDeviceGetReq { UserDeviceVo vo = 1; }
  278. message UserDeviceGetResp { UserDeviceVo vo = 1; }
  279. message UserDeviceListReq {
  280. Page page = 1;
  281. UserDeviceVo vo = 2;
  282. repeated int64 excludeIds = 3; // 排除的ID
  283. repeated int64 userIds = 4; // 用户ID
  284. repeated int64 dids = 5; // device 表的 id
  285. }
  286. message UserDeviceListResp {
  287. int64 total = 1;
  288. repeated UserDeviceVo list = 2;
  289. }
  290. // 用户模块
  291. service GoUserClient {
  292. rpc Ping(Request) returns (Response);
  293. // 用户app配置管理(ring)
  294. rpc UserAppConfigAdd(UserAppConfigVo) returns (UserAppConfigVo);
  295. rpc UserAppConfigUpdate(UserAppConfigVo) returns (UserAppConfigVo);
  296. rpc UserAppConfigDel(Ids) returns (Empty);
  297. rpc UserAppConfigGet(UserAppConfigGetReq) returns (UserAppConfigVo);
  298. rpc UserAppConfigList(UserAppConfigListReq) returns (UserAppConfigListRes);
  299. // Device Model
  300. // DeviceAdd
  301. rpc DeviceAdd(DeviceVo) returns (DeviceVo);
  302. rpc DeviceUpdate(DeviceVo) returns (DeviceVo);
  303. rpc DeviceDel(Ids) returns (Empty);
  304. rpc DeviceGet(DeviceVo) returns (DeviceVo);
  305. rpc DeviceList(DeviceListReq) returns (DeviceListRes);
  306. rpc DeviceAddFirebaseToken (DeviceAddFirebaseTokenReq) returns (Empty);
  307. rpc DeviceUpdateFirebaseToken(DeviceUpdateFirebaseTokenReq) returns (Empty);
  308. rpc DeviceFirebaseTokenMap (DeviceFirebaseTokenMapReq) returns (DeviceFirebaseTokenMapRes);
  309. // Account Model
  310. // AccountAdd
  311. rpc AccountAdd(AccountVo) returns (AccountVo);
  312. rpc AccountUpdate(AccountVo) returns (AccountVo);
  313. rpc AccountDel(Ids) returns (Empty);
  314. rpc AccountGet(AccountVo) returns (AccountVo);
  315. rpc AccountList(AccountListReq) returns (AccountListResp);
  316. // AccountDevice Model
  317. // AccountDeviceAdd
  318. rpc AccountDeviceAdd(AccountDeviceVo) returns (AccountDeviceVo);
  319. rpc AccountDeviceUpdate(AccountDeviceVo) returns (AccountDeviceVo);
  320. rpc AccountDeviceDel(Ids) returns (Empty);
  321. rpc AccountDeviceGet(AccountDeviceVo) returns (AccountDeviceVo);
  322. rpc AccountDeviceList(AccountDeviceListReq) returns (AccountDeviceListResp);
  323. // 用户白名单管理
  324. rpc UserWhiteAdd(UserWhiteVo) returns (UserWhiteVo);
  325. rpc UserWhiteUpdate(UserWhiteVo) returns (UserWhiteVo);
  326. rpc UserWhiteDel(Ids) returns (Empty);
  327. rpc UserWhiteGet(UserWhiteVo) returns (UserWhiteVo);
  328. rpc UserWhiteList(UserWhiteListReq) returns (UserWhiteListResp);
  329. // 测试用户管理
  330. rpc UserTestAdd(UserTestVo) returns (UserTestVo);
  331. rpc UserTestUpdate(UserTestVo) returns (UserTestVo);
  332. rpc UserTestDel(Ids) returns (Empty);
  333. rpc UserTestGet(UserTestVo) returns (UserTestVo);
  334. rpc UserTestList(UserTestListReq) returns (UserTestListResp);
  335. // User Model
  336. // UserAdd
  337. rpc UserAdd(UserAddReq) returns (UserAddResp);
  338. rpc UserUpdate(UserUpdateReq) returns (UserUpdateResp);
  339. rpc UserDel(UserDelReq) returns (Empty);
  340. rpc UserGet(UserGetReq) returns (UserGetResp);
  341. rpc UserList(UserListReq) returns (UserListResp);
  342. // UserCredential Model
  343. // UserCredentialAdd
  344. rpc UserCredentialAdd(UserCredentialAddReq) returns (UserCredentialAddResp);
  345. rpc UserCredentialUpdate(UserCredentialUpdateReq) returns (UserCredentialUpdateResp);
  346. rpc UserCredentialDel(UserCredentialDelReq) returns (Empty);
  347. rpc UserCredentialGet(UserCredentialGetReq) returns (UserCredentialGetResp);
  348. rpc UserCredentialList(UserCredentialListReq) returns (UserCredentialListResp);
  349. // UserDevice Model
  350. // UserDeviceAdd
  351. rpc UserDeviceAdd(UserDeviceAddReq) returns (UserDeviceAddResp);
  352. rpc UserDeviceUpdate(UserDeviceUpdateReq) returns (UserDeviceUpdateResp);
  353. rpc UserDeviceDel(UserDeviceDelReq) returns (Empty);
  354. rpc UserDeviceGet(UserDeviceGetReq) returns (UserDeviceGetResp);
  355. rpc UserDeviceList(UserDeviceListReq) returns (UserDeviceListResp);
  356. }