syntax = "proto3"; option go_package =".;im"; package im; enum ErrorCode{ OK = 0; PARAM = 4001; Exist = 4002; } // metadata 中需要字段 token 用作登录验证, sys_token用作系统验证 service Api { rpc SignUpUserCode (SignUpRequest) returns (SignUpReply) {} rpc SignUpPhone (SignUpRequest) returns (SignUpReply) {} rpc SignInUserCode (SignInPasswordRequest) returns (SignInReply) {} rpc SignInWithPhonePassword (SignInPasswordRequest) returns (SignInReply) {} rpc SessionCheck (SessionCheckRequest) returns (SessionCheckReply) {} rpc SignOut (DefaultRequest) returns (DefaultReply) {} rpc SelfInfo (DefaultRequest) returns (UserInfo) {} rpc ServiceSaveList (SaveServiceListRequest) returns (DefaultReply) {} rpc UserAddRoles(UserRolesRequest) returns (DefaultReply) {} rpc UserRemoveRoles(UserRolesRequest) returns (DefaultReply) {} rpc RoleCreate(CreateRoleRequest) returns (DefaultReply) {} rpc RoleList(RoleListRequest) returns (RoleListReply) {} rpc RoleEdit(Role) returns (DefaultReply) {} rpc RoleAddPermissions(RolePermissionRequest) returns (DefaultReply) {} rpc RoleRemovePermissions(RolePermissionRequest) returns (DefaultReply) {} // 总后台专用API rpc IMSystemCreate (CreateSystemRequest) returns (SignInReply) {} } message DefaultRequest{ } message DefaultReply{} message SignUpReply{ int64 userId = 1; } message SignInPasswordRequest { string auth = 1; string password = 2; int64 sysId = 3; //session有效期,单位:秒 int64 expirationSec = 4; } message SignInReply { string token = 1; } enum Status{ Ban = 0; On = 1; Delete = 9; } message SignUpRequest { string userCode = 1 ; string name = 2 ; string email = 3 ; string phone = 4 ; string wxOpenId = 5; string qq = 6; string password = 7; string question = 8; string answer = 9; string memo = 10; } message UserInfo { int64 id = 1 ; string userCode = 2 ; string name = 3 ; string email = 4 ; string phone = 5 ; string qq = 7; string memo = 11; } message SessionCheckRequest { string token = 1; } message SessionCheckReply { int64 userId = 1; } message Service { string path = 1; string memo = 2; } message SaveServiceListRequest{ repeated Service list = 1; } message CreateSystemRequest{ string fullName = 1; string shortname = 2; string sysUrl = 3; string memo = 4; } message CreateRoleRequest{ string name = 1; string memo = 2; } message Role { int64 id = 1; string name = 2; string memo = 3; Status status = 4; string systemName = 5; } message RoleListRequest{ int64 userId = 1; int64 sysId = 2; } message UserRolesRequest{ int64 userId = 1; repeated int64 roleIdList = 2; } message RoleListReply { repeated Role list = 1; } message RolePermissionRequest{ int64 roleId = 1; repeated string servicePath = 2; }