contracts/problem/v1/problem.proto
2024-10-17 00:33:09 +05:00

45 lines
1 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 (CreateProblemRequest) returns (CreateProblemResponse);
rpc ReadProblem (ReadProblemRequest) returns (ReadProblemResponse);
rpc DeleteProblem (DeleteProblemRequest) returns (google.protobuf.Empty);
}
message CreateProblemRequest {
string title = 1;
}
message CreateProblemResponse {
int32 id = 1;
}
message ReadProblemRequest {
int32 id = 1;
}
message ReadProblemResponse {
message Problem {
int32 id = 1;
string title = 2;
string legend = 3;
string input_format = 4;
string output_format = 5;
string notes = 6;
string tutorial = 7;
string latex_summary = 8;
int32 time_limit = 9;
int32 memory_limit = 10;
google.protobuf.Timestamp created_at = 11;
google.protobuf.Timestamp updated_at = 12;
}
Problem problem = 1;
}
message DeleteProblemRequest {
int32 id = 1;
}