[用户]增加可用功能控制、AccessKey管理

This commit is contained in:
GoEdgeLab
2020-12-30 22:01:26 +08:00
parent dd928215ef
commit c4ed0be8bd
11 changed files with 1971 additions and 258 deletions

View File

@@ -4,6 +4,7 @@ option go_package = "./pb";
package pb;
import "model_node_cluster.proto";
import "model_user_feature.proto";
message User {
int64 id = 1;
@@ -16,4 +17,5 @@ message User {
bool isOn = 8;
int64 createdAt = 9;
NodeCluster nodeCluster = 10;
repeated UserFeature features = 11;
}

View File

@@ -0,0 +1,15 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
// 用户AccessKey
message UserAccessKey {
int64 id = 1;
int64 userId = 2;
int64 subUserId = 3;
bool isOn = 4;
string uniqueId = 5;
string secret = 6;
string description = 7;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message UserFeature {
string code = 1;
string name = 2;
string description = 3;
}

View File

@@ -5,6 +5,7 @@ package pb;
import "rpc_messages.proto";
import "model_user.proto";
import "model_user_feature.proto";
// 用户相关服务
service UserService {
@@ -43,6 +44,15 @@ service UserService {
// 获取用户所在的集群ID
rpc findUserNodeClusterId (FindUserNodeClusterIdRequest) returns (FindUserNodeClusterIdResponse);
// 设置用户能使用的功能
rpc updateUserFeatures (UpdateUserFeaturesRequest) returns (RPCSuccess);
// 获取用户所有的功能列表
rpc findUserFeatures (FindUserFeaturesRequest) returns (FindUserFeaturesResponse);
// 获取所有的功能定义
rpc findAllUserFeatureDefinitions (FindAllUserFeatureDefinitionsRequest) returns (FindAllUserFeatureDefinitionsResponse);
}
// 创建用户
@@ -166,4 +176,28 @@ message FindUserNodeClusterIdRequest {
message FindUserNodeClusterIdResponse {
int64 nodeClusterId = 1;
}
// 设置用户能使用的功能
message UpdateUserFeaturesRequest {
int64 userId = 1;
repeated string featureCodes = 2;
}
// 获取用户所有的功能列表
message FindUserFeaturesRequest {
int64 userId = 1;
}
message FindUserFeaturesResponse {
repeated UserFeature features = 1;
}
// 获取所有的功能定义
message FindAllUserFeatureDefinitionsRequest {
}
message FindAllUserFeatureDefinitionsResponse {
repeated UserFeature features = 1;
}

View File

@@ -0,0 +1,52 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "rpc_messages.proto";
import "model_user_access_key.proto";
// 用户AccessKey相关服务
service UserAccessKeyService {
// 创建AccessKey
rpc createUserAccessKey (CreateUserAccessKeyRequest) returns (CreateUserAccessKeyResponse);
// 查找所有的AccessKey
rpc findAllEnabledUserAccessKeys (FindAllEnabledUserAccessKeysRequest) returns (FindAllEnabledUserAccessKeysResponse);
// 删除AccessKey
rpc deleteUserAccessKey (DeleteUserAccessKeyRequest) returns (RPCSuccess);
// 设置是否启用AccessKey
rpc updateUserAccessKeyIsOn (UpdateUserAccessKeyIsOnRequest) returns (RPCSuccess);
}
// 创建AccessKey
message CreateUserAccessKeyRequest {
int64 userId = 1;
string description = 2;
}
message CreateUserAccessKeyResponse {
int64 userAccessKeyId = 1;
}
// 查找所有的AccessKey
message FindAllEnabledUserAccessKeysRequest {
int64 userId = 1;
}
message FindAllEnabledUserAccessKeysResponse {
repeated UserAccessKey userAccessKeys = 1;
}
// 删除AccessKey
message DeleteUserAccessKeyRequest {
int64 userAccessKeyId = 1;
}
// 设置是否启用AccessKey
message UpdateUserAccessKeyIsOnRequest {
int64 userAccessKeyId = 1;
bool isOn = 2;
}