mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			187 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			187 lines
		
	
	
		
			4.8 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 findAllFinishedIPLibraryFiles(FindAllFinishedIPLibraryFilesRequest) returns (FindAllFinishedIPLibraryFilesResponse);
 | 
						|
 | 
						|
	// 查找所有未完成的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库为已完成
 | 
						|
	rpc updateIPLibraryFileFinished(UpdateIPLibraryFileFinishedRequest) returns (RPCSuccess);
 | 
						|
 | 
						|
	// 删除IP库文件
 | 
						|
	rpc deleteIPLibraryFile(DeleteIPLibraryFileRequest) returns (RPCSuccess);
 | 
						|
}
 | 
						|
 | 
						|
// 查找所有已完成的IP库文件
 | 
						|
message FindAllFinishedIPLibraryFilesRequest {
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
message FindAllFinishedIPLibraryFilesResponse {
 | 
						|
	repeated IPLibraryFile ipLibraryFiles = 1;
 | 
						|
}
 | 
						|
 | 
						|
// 查找所有未完成的IP库文件
 | 
						|
message FindAllUnfinishedIPLibraryFilesRequest {
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
message FindAllUnfinishedIPLibraryFilesResponse {
 | 
						|
	repeated IPLibraryFile ipLibraryFiles = 1;
 | 
						|
}
 | 
						|
 | 
						|
// 查找单个IP库文件
 | 
						|
message FindIPLibraryFileRequest {
 | 
						|
	int64 ipLibraryFileId = 1;
 | 
						|
}
 | 
						|
 | 
						|
message FindIPLibraryFileResponse {
 | 
						|
	IPLibraryFile ipLibraryFile = 1;
 | 
						|
}
 | 
						|
 | 
						|
// 创建IP库文件
 | 
						|
message CreateIPLibraryFileRequest {
 | 
						|
	string name = 1;
 | 
						|
	string template = 2;
 | 
						|
	repeated string emptyValues = 3;
 | 
						|
	int64 fileId = 4;
 | 
						|
	bytes countriesJSON = 5;
 | 
						|
	bytes provincesJSON = 6;
 | 
						|
	bytes citiesJSON = 7;
 | 
						|
	bytes townsJSON = 8;
 | 
						|
	bytes providersJSON = 9;
 | 
						|
	string password = 10; // 密码
 | 
						|
}
 | 
						|
 | 
						|
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;
 | 
						|
}
 | 
						|
 | 
						|
// 设置某个IP库为已完成
 | 
						|
message UpdateIPLibraryFileFinishedRequest {
 | 
						|
	int64 ipLibraryFileId = 1;
 | 
						|
}
 | 
						|
 | 
						|
// 删除IP库文件
 | 
						|
message DeleteIPLibraryFileRequest {
 | 
						|
	int64 ipLibraryFileId = 1;
 | 
						|
} |