syntax = "proto3";
option go_package = "./pb";

package pb;

import "models/model_server_group.proto";
import "models/rpc_messages.proto";

// 服务分组服务
service ServerGroupService {
	// 创建分组
	rpc createServerGroup (CreateServerGroupRequest) returns (CreateServerGroupResponse);

	// 修改分组
	rpc updateServerGroup (UpdateServerGroupRequest) returns (RPCSuccess);

	// 删除分组
	rpc deleteServerGroup (DeleteServerGroupRequest) returns (RPCSuccess);

	// 查询所有分组
	rpc findAllEnabledServerGroups (FindAllEnabledServerGroupsRequest) returns (FindAllEnabledServerGroupsResponse);

	// 修改分组排序
	rpc updateServerGroupOrders (UpdateServerGroupOrdersRequest) returns (RPCSuccess);

	// 查找单个分组信息
	rpc findEnabledServerGroup (FindEnabledServerGroupRequest) returns (FindEnabledServerGroupResponse);
}

// 创建分组
message CreateServerGroupRequest {
	string name = 1;
}

message CreateServerGroupResponse {
	int64 serverGroupId = 1;
}

// 修改分组
message UpdateServerGroupRequest {
	int64 serverGroupId = 1;
	string name = 2;
}

// 删除分组
message DeleteServerGroupRequest {
	int64 serverGroupId = 1;
}

// 查询所有分组
message FindAllEnabledServerGroupsRequest {
}

message FindAllEnabledServerGroupsResponse {
	repeated ServerGroup serverGroups = 1;
}

// 修改分组排序
message UpdateServerGroupOrdersRequest {
	repeated int64 serverGroupIds = 1;
}

// 查找单个分组信息
message FindEnabledServerGroupRequest {
	int64 serverGroupId = 1;
}

message FindEnabledServerGroupResponse {
	ServerGroup serverGroup = 1;
}