syntax = "proto3"; package user; option go_package="lone-services/rpc/user"; import "google/api/annotations.proto"; message Response { int32 code = 1; string msg = 2; string data = 3; } message LoginReq { string client_code = 1; string grant_type = 2; string code = 3; string mobile = 4; string password = 5; string sms_code = 6; } message UserItemsReq { string mobile = 1; int32 page = 2; int32 size = 3; } message UserStatusReq { int64 id = 1; int32 status = 2; } message EnsureBizIdentityReq { string mobile = 1; string name = 2; string avatar = 3; uint32 gender = 4; string birthday = 5; string client_code = 6; string credential_type = 7; string identifier = 8; string secret = 9; } message EnsureBizIdentityData { int64 user_id = 1; bool created = 2; string mobile = 3; string name = 4; } message UsersByIdsReq { repeated int64 ids = 1; } message UserBriefItem { int64 id = 1; string mobile = 2; string name = 3; string avatar = 4; uint32 gender = 5; string birthday = 6; uint32 status = 7; } message UsersByIdsData { repeated UserBriefItem items = 1; } message UpdateMobileReq { int64 user_id = 1; string mobile = 2; } message UpdateMobileData { int64 user_id = 1; string mobile = 2; } message RevokeBizClientReq { int64 user_id = 1; string client_code = 2; } message RevokeBizClientData { bool revoked = 1; } message InfoReq {} service User { rpc Login(LoginReq) returns (Response) { option (google.api.http) = { post: "/api/v3/login" body: "*" }; } rpc Info(InfoReq) returns (Response) { option (google.api.http) = { get: "/api/v3/user/info" body: "*" }; } rpc UserItems(UserItemsReq) returns (Response) { option (google.api.http) = { get: "/admin/v3/user/items" body: "*" }; } rpc UserStatus(UserStatusReq) returns (Response) { option (google.api.http) = { put: "/admin/v3/user/status" body: "*" }; } rpc EnsureBizIdentity(EnsureBizIdentityReq) returns (EnsureBizIdentityData); rpc UsersByIds(UsersByIdsReq) returns (UsersByIdsData); rpc UpdateMobile(UpdateMobileReq) returns (UpdateMobileData); rpc RevokeBizClient(RevokeBizClientReq) returns (RevokeBizClientData); }