syntax = "proto3"; option go_package = "./pb"; package pb; import "rpc_messages.proto"; import "model_ip_item.proto"; // IP条目管理 service IPItemService { // 创建IP rpc createIPItem (CreateIPItemRequest) returns (CreateIPItemResponse); // 修改IP rpc updateIPItem (UpdateIPItemRequest) returns (RPCSuccess); // 删除IP rpc deleteIPItem (DeleteIPItemRequest) returns (RPCSuccess); // 计算IP数量 rpc countIPItemsWithListId (CountIPItemsWithListIdRequest) returns (RPCCountResponse); // 列出单页的IP rpc listIPItemsWithListId (ListIPItemsWithListIdRequest) returns (ListIPItemsWithListIdResponse); // 查找单个IP rpc findEnabledIPItem (FindEnabledIPItemRequest) returns (FindEnabledIPItemResponse); // 根据版本列出一组IP rpc listIPItemsAfterVersion (ListIPItemsAfterVersionRequest) returns (ListIPItemsAfterVersionResponse); } // 创建IP message CreateIPItemRequest { int64 ipListId = 1; // IP列表ID string ipFrom = 2; // 开始IP string ipTo = 3; // 结束IP(可选) int64 expiredAt = 4; // 过期时间戳(可选) string reason = 5; // 加入理由(可选) } message CreateIPItemResponse { int64 ipItemId = 1; } // 修改IP message UpdateIPItemRequest { int64 ipItemId = 1; string ipFrom = 2; string ipTo = 3; int64 expiredAt = 4; string reason = 5; } // 删除IP message DeleteIPItemRequest { int64 ipItemId = 1; } // 计算IP数量 message CountIPItemsWithListIdRequest { int64 ipListId = 1; } // 列出单页的IP message ListIPItemsWithListIdRequest { int64 ipListId = 1; int64 offset = 2; int64 size = 3; } message ListIPItemsWithListIdResponse { repeated IPItem ipItems = 1; } // 查找单个IP message FindEnabledIPItemRequest { int64 ipItemId = 1; } message FindEnabledIPItemResponse { IPItem ipItem = 1; } // 根据版本列出一组IP message ListIPItemsAfterVersionRequest { int64 version = 1; int64 size = 2; } message ListIPItemsAfterVersionResponse { repeated IPItem ipItems = 1; }