syntax = "proto3"; package bet.beteran.c2se.site; import "protobuf/rpc.proto"; import "protobuf/pagination.proto"; import "models/site.proto"; message CreateSiteRequest { string url = 1; optional string name = 2; optional string path = 3; bool show = 4; bool can_use = 5; optional string memo = 6; optional uint64 expires_at = 7; } message CreateSiteResponse { message Result { bet.beteran.site.Site site = 1; } optional bet.protobuf.rpc.Error error = 1; optional Result result = 2; } message ListSitesRequest { message Search { optional string url_like = 1; optional string name_like = 2; optional string path_like = 3; optional bool show = 4; optional bool can_use = 5; optional string memo_like = 6; } optional bet.protobuf.pagination.Pagination pagination = 1; repeated bet.protobuf.pagination.Sort sorts = 2; optional Search search = 3; } message ListSitesResponse { message Result { uint64 total_count = 1; repeated bet.beteran.site.Site sites = 2; } optional bet.protobuf.rpc.Error error = 1; optional Result result = 2; } message GetSiteRequest { string id = 1; } message GetSiteResponse { message Result { bet.beteran.site.Site site = 1; } optional bet.protobuf.rpc.Error error = 1; optional Result result = 2; } message UpdateSiteRequest { string id = 1; string url = 2; optional string name = 3; optional string path = 4; bool show = 5; bool can_use = 6; optional string memo = 7; optional uint64 expires_at = 8; } message UpdateSiteResponse { message Result { bet.beteran.site.Site site = 1; } optional bet.protobuf.rpc.Error error = 1; optional Result result = 2; } message DeleteSiteRequest { string id = 1; } message DeleteSiteResponse { message Result { } optional bet.protobuf.rpc.Error error = 1; optional Result result = 2; }