66 lines
1.5 KiB
Protocol Buffer
66 lines
1.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package problem.v1;
|
|
option go_package = "/problem/v1;problemv1";
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
service ProblemService {
|
|
rpc CreateProblem (stream CreateProblemRequest) returns (CreateProblemResponse);
|
|
rpc ReadProblem (ReadProblemRequest) returns (ReadProblemResponse);
|
|
// rpc UpdateProblem (UpdateProblemRequest) returns (google.protobuf.Empty);
|
|
rpc DeleteProblem (DeleteProblemRequest) returns (google.protobuf.Empty);
|
|
}
|
|
|
|
message CreateProblemRequest {
|
|
message Problem {
|
|
string name = 1;
|
|
string description = 2;
|
|
int32 time_limit = 3;
|
|
int32 memory_limit = 4;
|
|
}
|
|
message Test {
|
|
bytes chunk = 1;
|
|
}
|
|
|
|
oneof msg {
|
|
Problem problem = 1;
|
|
Test test = 2;
|
|
}
|
|
}
|
|
message CreateProblemResponse {
|
|
int32 id = 1;
|
|
}
|
|
|
|
message ReadProblemRequest {
|
|
int32 id = 1;
|
|
}
|
|
message ReadProblemResponse {
|
|
message Problem {
|
|
int32 id = 1;
|
|
string name = 2;
|
|
string description = 3;
|
|
int32 time_limit = 4;
|
|
int32 memory_limit = 5;
|
|
google.protobuf.Timestamp created_at = 6;
|
|
google.protobuf.Timestamp updated_at = 7;
|
|
}
|
|
Problem problem = 1;
|
|
}
|
|
|
|
//message UpdateProblemRequest {
|
|
// message Problem {
|
|
// int32 id = 1;
|
|
// optional string name = 2;
|
|
// optional string description = 3;
|
|
// optional int32 time_limit = 4;
|
|
// optional int32 memory_limit = 5;
|
|
// }
|
|
// string token = 1;
|
|
// Problem problem = 2;
|
|
//}
|
|
|
|
message DeleteProblemRequest {
|
|
int32 id = 1;
|
|
} |