Files
EdgeCommon/pkg/rpc/protos/service_ip_library_file.proto
2022-08-14 19:42:05 +08:00

158 lines
4.0 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/rpc_messages.proto";
import "models/model_ip_library_file.proto";
import "models/model_region_country.proto";
import "models/model_region_province.proto";
import "models/model_region_city.proto";
import "models/model_region_town.proto";
import "models/model_region_provider.proto";
// IP库文件管理
service IPLibraryFileService {
// 查找所有未完成的IP库文件
rpc findAllUnfinishedIPLibraryFiles(FindAllUnfinishedIPLibraryFilesRequest) returns (FindAllUnfinishedIPLibraryFilesResponse);
// 查找单个IP库文件
rpc findIPLibraryFile(FindIPLibraryFileRequest) returns (FindIPLibraryFileResponse);
// 创建IP库文件
rpc createIPLibraryFile(CreateIPLibraryFileRequest) returns (CreateIPLibraryFileResponse);
// 检查国家/地区
rpc checkCountriesWithIPLibraryFileId(CheckCountriesWithIPLibraryFileIdRequest) returns (CheckCountriesWithIPLibraryFileIdResponse);
// 检查省份/州
rpc checkProvincesWithIPLibraryFileId(CheckProvincesWithIPLibraryFileIdRequest) returns (CheckProvincesWithIPLibraryFileIdResponse);
// 检查城市/市
rpc checkCitiesWithIPLibraryFileId(CheckCitiesWithIPLibraryFileIdRequest) returns (CheckCitiesWithIPLibraryFileIdResponse);
// 检查区县
rpc checkTownsWithIPLibraryFileId(CheckTownsWithIPLibraryFileIdRequest) returns (CheckTownsWithIPLibraryFileIdResponse);
// 检查ISP运营商
rpc checkProvidersWithIPLibraryFileId(CheckProvidersWithIPLibraryFileIdRequest) returns (CheckProvidersWithIPLibraryFileIdResponse);
// 生成IP库文件
rpc generateIPLibraryFile(GenerateIPLibraryFileRequest) returns (RPCSuccess);
}
// 查找所有未完成的IP库文件
message FindAllUnfinishedIPLibraryFilesRequest {
}
message FindAllUnfinishedIPLibraryFilesResponse {
repeated IPLibraryFile ipLibraryFiles = 1;
}
// 查找单个IP库文件
message FindIPLibraryFileRequest {
int64 ipLibraryFileId = 1;
}
message FindIPLibraryFileResponse {
IPLibraryFile ipLibraryFile = 1;
}
// 创建IP库文件
message CreateIPLibraryFileRequest {
string template = 1;
repeated string emptyValues = 2;
int64 fileId = 3;
bytes countriesJSON = 4;
bytes provincesJSON = 5;
bytes citiesJSON = 6;
bytes townsJSON = 7;
bytes providersJSON = 8;
}
message CreateIPLibraryFileResponse {
int64 ipLibraryFileId = 1;
}
// 检查国家/地区
message CheckCountriesWithIPLibraryFileIdRequest {
int64 ipLibraryFileId = 1;
}
message CheckCountriesWithIPLibraryFileIdResponse {
repeated MissingCountry missingCountries = 1;
message MissingCountry {
string countryName = 1;
repeated RegionCountry similarCountries = 2;
}
}
// 检查省份/州
message CheckProvincesWithIPLibraryFileIdRequest{
int64 ipLibraryFileId = 1;
}
message CheckProvincesWithIPLibraryFileIdResponse {
repeated MissingProvince missingProvinces = 1;
message MissingProvince {
string countryName = 1;
string provinceName = 2;
repeated RegionProvince similarProvinces = 3;
}
}
// 检查城市/市
message CheckCitiesWithIPLibraryFileIdRequest{
int64 ipLibraryFileId = 1;
}
message CheckCitiesWithIPLibraryFileIdResponse {
repeated MissingCity missingCities = 1;
message MissingCity {
string countryName = 1;
string provinceName = 2;
string cityName = 3;
repeated RegionCity similarCities = 4;
}
}
// 检查区县
message CheckTownsWithIPLibraryFileIdRequest {
int64 ipLibraryFileId = 1;
}
message CheckTownsWithIPLibraryFileIdResponse {
repeated MissingTown missingTowns = 1;
message MissingTown {
string countryName = 1;
string provinceName = 2;
string cityName = 3;
string townName = 4;
repeated RegionTown similarTowns = 5;
}
}
// 检查ISP运营商
message CheckProvidersWithIPLibraryFileIdRequest{
int64 ipLibraryFileId = 1;
}
message CheckProvidersWithIPLibraryFileIdResponse {
repeated MissingProvider missingProviders = 1;
message MissingProvider {
string providerName = 1;
repeated RegionProvider similarProviders = 2;
}
}
// 生成IP库文件
message GenerateIPLibraryFileRequest {
int64 ipLibraryFileId = 1;
}