mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 04:10:25 +08:00
402 lines
9.3 KiB
Protocol Buffer
402 lines
9.3 KiB
Protocol Buffer
syntax = "proto3";
|
||
option go_package = "./pb";
|
||
|
||
package pb;
|
||
|
||
import "models/rpc_messages.proto";
|
||
import "models/model_user.proto";
|
||
import "models/model_user_feature.proto";
|
||
import "models/model_node_value.proto";
|
||
|
||
// 用户相关服务
|
||
service UserService {
|
||
// 创建用户
|
||
rpc createUser (CreateUserRequest) returns (CreateUserResponse);
|
||
|
||
// 注册用户
|
||
rpc registerUser(RegisterUserRequest) returns (RegisterUserResponse);
|
||
|
||
// 审核用户
|
||
rpc verifyUser(VerifyUserRequest) returns (RPCSuccess);
|
||
|
||
// 修改用户
|
||
rpc updateUser (UpdateUserRequest) returns (RPCSuccess);
|
||
|
||
// 删除用户
|
||
rpc deleteUser (DeleteUserRequest) returns (RPCSuccess);
|
||
|
||
// 计算用户数量
|
||
rpc countAllEnabledUsers (CountAllEnabledUsersRequest) returns (RPCCountResponse);
|
||
|
||
// 列出单页用户
|
||
rpc listEnabledUsers (ListEnabledUsersRequest) returns (ListEnabledUsersResponse);
|
||
|
||
// 查询单个用户信息
|
||
rpc findEnabledUser (FindEnabledUserRequest) returns (FindEnabledUserResponse);
|
||
|
||
// 检查用户名是否存在
|
||
rpc checkUserUsername (CheckUserUsernameRequest) returns (CheckUserUsernameResponse);
|
||
|
||
// 登录
|
||
rpc loginUser (LoginUserRequest) returns (LoginUserResponse);
|
||
|
||
// 修改用户基本信息
|
||
rpc updateUserInfo (UpdateUserInfoRequest) returns (RPCSuccess);
|
||
|
||
// 修改用户登录信息
|
||
rpc updateUserLogin (UpdateUserLoginRequest) returns (RPCSuccess);
|
||
|
||
// 取得用户Dashboard数据
|
||
rpc composeUserDashboard (ComposeUserDashboardRequest) returns (ComposeUserDashboardResponse);
|
||
|
||
// 获取用户所在的集群ID
|
||
rpc findUserNodeClusterId (FindUserNodeClusterIdRequest) returns (FindUserNodeClusterIdResponse);
|
||
|
||
// 设置单个用户能使用的功能
|
||
rpc updateUserFeatures (UpdateUserFeaturesRequest) returns (RPCSuccess);
|
||
|
||
// 设置所有用户能使用的功能
|
||
rpc updateAllUsersFeatures(UpdateAllUsersFeaturesRequest) returns (RPCSuccess);
|
||
|
||
// 获取用户所有的功能列表
|
||
rpc findUserFeatures (FindUserFeaturesRequest) returns (FindUserFeaturesResponse);
|
||
|
||
// 获取所有的功能定义
|
||
rpc findAllUserFeatureDefinitions (FindAllUserFeatureDefinitionsRequest) returns (FindAllUserFeatureDefinitionsResponse);
|
||
|
||
// 组合全局的看板数据
|
||
rpc composeUserGlobalBoard (ComposeUserGlobalBoardRequest) returns (ComposeUserGlobalBoardResponse);
|
||
|
||
// 根据用户名检查是否需要输入OTP
|
||
rpc checkUserOTPWithUsername (CheckUserOTPWithUsernameRequest) returns (CheckUserOTPWithUsernameResponse);
|
||
|
||
// 读取用户计费信息
|
||
rpc findUserPriceInfo(FindUserPriceInfoRequest) returns (FindUserPriceInfoResponse);
|
||
|
||
// 修改用户计费方式
|
||
rpc updateUserPriceType(UpdateUserPriceTypeRequest) returns (RPCSuccess);
|
||
|
||
// 修改用户计费周期
|
||
rpc updateUserPricePeriod(UpdateUserPricePeriodRequest) returns (RPCSuccess);
|
||
|
||
// 检查用户服务可用状态
|
||
rpc checkUserServersState(CheckUserServersStateRequest) returns (CheckUserServersStateResponse);
|
||
|
||
// 更新用户服务可用状态
|
||
rpc renewUserServersState(RenewUserServersStateRequest) returns (RenewUserServersStateResponse);
|
||
|
||
// 检查邮箱是否已被使用
|
||
rpc checkUserEmail(CheckUserEmailRequest) returns (CheckUserEmailResponse);
|
||
|
||
// 检查手机号码是否已被使用
|
||
rpc checkUserMobile(CheckUserMobileRequest) returns (CheckUserMobileResponse);
|
||
|
||
// 根据用户名查询用户绑定的邮箱
|
||
rpc findUserVerifiedEmailWithUsername(FindUserVerifiedEmailWithUsernameRequest) returns (FindUserVerifiedEmailWithUsernameResponse);
|
||
}
|
||
|
||
// 创建用户
|
||
message CreateUserRequest {
|
||
string username = 1;
|
||
string password = 2;
|
||
string fullname = 3;
|
||
string mobile = 4;
|
||
string tel = 5;
|
||
string email = 6;
|
||
string remark = 7;
|
||
string source = 8;
|
||
int64 nodeClusterId = 9;
|
||
}
|
||
|
||
message CreateUserResponse {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
// 注册用户
|
||
message RegisterUserRequest {
|
||
string username = 1;
|
||
string password = 2;
|
||
string mobile = 3;
|
||
string email = 4;
|
||
string fullname = 5;
|
||
string ip = 6;
|
||
string source = 7;
|
||
}
|
||
|
||
message RegisterUserResponse {
|
||
int64 userId = 1;
|
||
bool requireEmailVerification = 2; // 是否需要激活邮件
|
||
}
|
||
|
||
// 审核用户
|
||
message VerifyUserRequest {
|
||
int64 userId = 1;
|
||
bool isRejected = 2;
|
||
string rejectReason = 3;
|
||
}
|
||
|
||
// 修改用户
|
||
message UpdateUserRequest {
|
||
int64 userId = 1;
|
||
string username = 2;
|
||
string password = 3;
|
||
string fullname = 4;
|
||
string mobile = 5;
|
||
string tel = 6;
|
||
string email = 7;
|
||
string remark = 8;
|
||
bool isOn = 9;
|
||
int64 nodeClusterId = 10;
|
||
string bandwidthAlgo = 11;
|
||
}
|
||
|
||
// 删除用户
|
||
message DeleteUserRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
// 计算用户数量
|
||
message CountAllEnabledUsersRequest {
|
||
string keyword = 1;
|
||
bool isVerifying = 2;
|
||
int32 mobileIsVerified = 3; // 手机号是否已验证,1表示已验证,0表示未验证,-1表示所有状态
|
||
}
|
||
|
||
// 列出单页用户
|
||
message ListEnabledUsersRequest {
|
||
string keyword = 1;
|
||
bool isVerifying = 4;
|
||
int32 mobileIsVerified = 5; // 手机号是否已验证,1表示已验证,0表示未验证,-1表示所有状态
|
||
int64 offset = 2;
|
||
int64 size = 3;
|
||
}
|
||
|
||
message ListEnabledUsersResponse {
|
||
repeated User users = 1;
|
||
}
|
||
|
||
// 查询单个用户信息
|
||
message FindEnabledUserRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
message FindEnabledUserResponse {
|
||
User user = 1;
|
||
}
|
||
|
||
// 检查用户名是否存在
|
||
message CheckUserUsernameRequest {
|
||
int64 userId = 1;
|
||
string username = 2;
|
||
}
|
||
|
||
message CheckUserUsernameResponse {
|
||
bool exists = 1;
|
||
}
|
||
|
||
// 登录
|
||
message LoginUserRequest {
|
||
string username = 1;
|
||
string password = 2;
|
||
}
|
||
|
||
message LoginUserResponse {
|
||
int64 userId = 1;
|
||
bool isOk = 2;
|
||
string message = 3;
|
||
}
|
||
|
||
// 修改用户基本信息
|
||
message UpdateUserInfoRequest {
|
||
int64 userId = 1;
|
||
string fullname = 2;
|
||
string mobile = 3;
|
||
string email = 4;
|
||
}
|
||
|
||
// 修改用户登录信息
|
||
message UpdateUserLoginRequest {
|
||
int64 userId = 1;
|
||
string username = 2;
|
||
string password = 3;
|
||
}
|
||
|
||
// 取得用户Dashboard数据
|
||
message ComposeUserDashboardRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
message ComposeUserDashboardResponse {
|
||
int64 countServers = 1;
|
||
int64 monthlyTrafficBytes = 2;
|
||
int64 monthlyPeekBandwidthBytes = 3;
|
||
int64 dailyTrafficBytes = 4;
|
||
int64 dailyPeekBandwidthBytes = 5;
|
||
repeated DailyTrafficStat dailyTrafficStats = 6;
|
||
repeated DailyPeekBandwidthStat dailyPeekBandwidthStats = 7;
|
||
int32 bandwidthPercentile = 8; // 带宽百分位
|
||
int64 bandwidthPercentileBits = 9; // 带宽百分位上的比特数
|
||
|
||
message DailyTrafficStat {
|
||
string day = 1;
|
||
int64 bytes = 2;
|
||
int64 cachedBytes = 3;
|
||
int64 attackBytes = 4;
|
||
int64 countRequests = 5;
|
||
int64 countCachedRequests = 6;
|
||
int64 countAttackRequests = 7;
|
||
}
|
||
|
||
message DailyPeekBandwidthStat {
|
||
string day = 1;
|
||
int64 bytes = 2;
|
||
}
|
||
}
|
||
|
||
// 获取用户所在的集群ID
|
||
message FindUserNodeClusterIdRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
message FindUserNodeClusterIdResponse {
|
||
int64 nodeClusterId = 1;
|
||
}
|
||
|
||
// 设置单个用户能使用的功能
|
||
message UpdateUserFeaturesRequest {
|
||
int64 userId = 1;
|
||
repeated string featureCodes = 2;
|
||
}
|
||
|
||
// 设置所有用户能使用的功能
|
||
message UpdateAllUsersFeaturesRequest {
|
||
repeated string featureCodes = 1;
|
||
bool overwrite = 2;
|
||
}
|
||
|
||
// 获取用户所有的功能列表
|
||
message FindUserFeaturesRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
message FindUserFeaturesResponse {
|
||
repeated UserFeature features = 1;
|
||
}
|
||
|
||
// 获取所有的功能定义
|
||
message FindAllUserFeatureDefinitionsRequest {
|
||
|
||
}
|
||
|
||
message FindAllUserFeatureDefinitionsResponse {
|
||
repeated UserFeature features = 1;
|
||
}
|
||
|
||
// 组合看板数据
|
||
message ComposeUserGlobalBoardRequest {
|
||
|
||
}
|
||
|
||
message ComposeUserGlobalBoardResponse {
|
||
int64 totalUsers = 1;
|
||
int64 countTodayUsers = 2;
|
||
int64 countWeeklyUsers = 3;
|
||
int64 countUserNodes = 4;
|
||
int64 countOfflineUserNodes = 5;
|
||
int64 countVerifyingUsers = 6;
|
||
|
||
repeated DailyStat dailyStats = 30;
|
||
repeated NodeValue cpuNodeValues = 31;
|
||
repeated NodeValue memoryNodeValues = 32;
|
||
repeated NodeValue loadNodeValues = 33;
|
||
repeated TrafficStat topTrafficStats = 34;
|
||
|
||
message DailyStat {
|
||
string day = 1;
|
||
int64 count = 2;
|
||
}
|
||
|
||
message TrafficStat {
|
||
int64 userId = 1;
|
||
string userName = 2;
|
||
int64 countRequests = 3;
|
||
int64 bytes = 4;
|
||
}
|
||
}
|
||
|
||
|
||
// 根据用户名检查是否需要输入OTP
|
||
message CheckUserOTPWithUsernameRequest {
|
||
string username = 1;
|
||
}
|
||
|
||
message CheckUserOTPWithUsernameResponse {
|
||
bool requireOTP = 1;
|
||
}
|
||
|
||
// 读取用户计费信息
|
||
message FindUserPriceInfoRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
message FindUserPriceInfoResponse {
|
||
string priceType = 1;
|
||
string pricePeriod = 2;
|
||
}
|
||
|
||
// 修改用户计费方式
|
||
message UpdateUserPriceTypeRequest {
|
||
int64 userId = 1;
|
||
string priceType = 2;
|
||
}
|
||
|
||
// 修改用户计费周期
|
||
message UpdateUserPricePeriodRequest {
|
||
int64 userId = 1;
|
||
string pricePeriod = 2;
|
||
}
|
||
|
||
// 检查用户服务可用状态
|
||
message CheckUserServersStateRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
message CheckUserServersStateResponse {
|
||
bool isEnabled = 1;
|
||
}
|
||
|
||
// 更新用户服务可用状态
|
||
message RenewUserServersStateRequest {
|
||
int64 userId = 1;
|
||
}
|
||
|
||
message RenewUserServersStateResponse {
|
||
bool isEnabled = 1;
|
||
}
|
||
|
||
// 检查邮箱是否已被验证
|
||
message CheckUserEmailRequest {
|
||
string email = 1; // 邮箱地址
|
||
}
|
||
|
||
message CheckUserEmailResponse {
|
||
bool exists = 1; // 是否已被使用
|
||
}
|
||
|
||
// 检查手机号码是否已被验证
|
||
message CheckUserMobileRequest {
|
||
string mobile = 1; // 手机号码
|
||
}
|
||
|
||
message CheckUserMobileResponse {
|
||
bool exists = 1; // 是否已被使用
|
||
}
|
||
|
||
// 根据用户名查询用户绑定的邮箱
|
||
message FindUserVerifiedEmailWithUsernameRequest {
|
||
string username = 1; // 用户名
|
||
}
|
||
|
||
message FindUserVerifiedEmailWithUsernameResponse {
|
||
string email = 1; // 已绑定邮箱地址
|
||
} |