You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.8 KiB
79 lines
1.8 KiB
syntax = "proto3";
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "gogoproto/gogo.proto";
|
|
// import "validate/validate.proto";
|
|
import "google/api/annotations.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
package api.v1;
|
|
|
|
option go_package = "moredoc/api/v1;v1";
|
|
option java_multiple_files = true;
|
|
option java_package = "api.v1";
|
|
|
|
message Navigation {
|
|
int64 id = 1;
|
|
string title = 2;
|
|
string href = 3;
|
|
string target = 4;
|
|
string color = 5;
|
|
int32 sort = 6;
|
|
bool enable = 7;
|
|
int64 parent_id = 8;
|
|
string description = 9;
|
|
google.protobuf.Timestamp created_at = 10 [ (gogoproto.stdtime) = true ];
|
|
google.protobuf.Timestamp updated_at = 11 [ (gogoproto.stdtime) = true ];
|
|
}
|
|
|
|
message DeleteNavigationRequest { repeated int64 id = 1; }
|
|
|
|
message GetNavigationRequest { int64 id = 1; }
|
|
|
|
message ListNavigationRequest {
|
|
int64 page = 1;
|
|
int64 size = 2;
|
|
string wd = 3;
|
|
repeated string field = 4;
|
|
string order = 5;
|
|
}
|
|
|
|
message ListNavigationReply {
|
|
int64 total = 1;
|
|
repeated Navigation navigation = 2;
|
|
}
|
|
|
|
service NavigationAPI {
|
|
rpc CreateNavigation(Navigation) returns (Navigation) {
|
|
option (google.api.http) = {
|
|
post : '/api/v1/navigation',
|
|
body : '*',
|
|
};
|
|
}
|
|
|
|
rpc UpdateNavigation(Navigation) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = {
|
|
put : '/api/v1/navigation',
|
|
body : '*',
|
|
};
|
|
}
|
|
|
|
rpc DeleteNavigation(DeleteNavigationRequest)
|
|
returns (google.protobuf.Empty) {
|
|
option (google.api.http) = {
|
|
delete : '/api/v1/navigation',
|
|
};
|
|
}
|
|
|
|
rpc GetNavigation(GetNavigationRequest) returns (Navigation) {
|
|
option (google.api.http) = {
|
|
get : '/api/v1/navigation',
|
|
};
|
|
}
|
|
|
|
rpc ListNavigation(ListNavigationRequest) returns (ListNavigationReply) {
|
|
option (google.api.http) = {
|
|
get : '/api/v1/navigation/list',
|
|
};
|
|
}
|
|
} |