syntax = "proto3"; option go_package = "./pb"; package pb; import "models/rpc_messages.proto"; import "models/model_ip_library.proto"; // IP库 service IPLibraryService { // 创建IP库 rpc createIPLibrary (CreateIPLibraryRequest) returns (CreateIPLibraryResponse) { option deprecated = true; }; // 查找最新的IP库 rpc findLatestIPLibraryWithType (FindLatestIPLibraryWithTypeRequest) returns (FindLatestIPLibraryWithTypeResponse) { option deprecated = true; }; // 查找单个IP库 rpc findEnabledIPLibrary (FindEnabledIPLibraryRequest) returns (FindEnabledIPLibraryResponse) { option deprecated = true; }; // 列出某个类型的所有IP库 rpc findAllEnabledIPLibrariesWithType (FindAllEnabledIPLibrariesWithTypeRequest) returns (FindAllEnabledIPLibrariesWithTypeResponse) { option deprecated = true; }; // 删除IP库 rpc deleteIPLibrary (DeleteIPLibraryRequest) returns (RPCSuccess) { option deprecated = true; }; // 查询某个IP信息 rpc lookupIPRegion (LookupIPRegionRequest) returns (LookupIPRegionResponse); // 查询一组IP信息 rpc lookupIPRegions (LookupIPRegionsRequest) returns (LookupIPRegionsResponse); } // 创建IP库 message CreateIPLibraryRequest { string type = 1; int64 fileId = 3; } message CreateIPLibraryResponse { int64 ipLibraryId = 1; } // 查找单个IP库 message FindEnabledIPLibraryRequest { int64 ipLibraryId = 1; } message FindEnabledIPLibraryResponse { IPLibrary ipLibrary = 1; } // 查找最新的IP库 message FindLatestIPLibraryWithTypeRequest { string type = 1; } message FindLatestIPLibraryWithTypeResponse { IPLibrary ipLibrary = 1; } // 列出某个类型的所有IP库 message FindAllEnabledIPLibrariesWithTypeRequest { string type = 1; } message FindAllEnabledIPLibrariesWithTypeResponse { repeated IPLibrary ipLibraries = 1; } // 删除IP库 message DeleteIPLibraryRequest { int64 ipLibraryId = 1; } // 查询某个IP信息 message LookupIPRegionRequest { string ip = 1; } message LookupIPRegionResponse { IPRegion ipRegion = 1; } // 查询一组IP信息 message LookupIPRegionsRequest { repeated string ipList = 1; } message LookupIPRegionsResponse { map ipRegionMap = 1; } // IP信息 message IPRegion { string country = 1; // 国家/地区名称 string region = 2; // 区域名称 string province = 3; // 省份名称 string city = 4; // 城市名称 string isp = 5; // 运营商名称 int64 countryId = 6; // 国家/地区ID int64 provinceId = 7; // 省份ID int64 cityId = 9; // 城市ID int64 townId = 10; // 区县ID int64 providerId = 11; // 运营商ID string summary = 8; // 完整的地区组合 }