contracts/tester/v1/tester.proto
2024-08-16 17:58:13 +05:00

62 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package tester.v1;
import "google/protobuf/timestamp.proto";
import "google/protobuf/empty.proto";
service TesterService {
rpc CreateProblem (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;
}
string token = 1;
Problem problem = 2;
}
message CreateProblemResponse {
int32 id = 1;
}
message ReadProblemRequest {
string token = 1;
int32 id = 2;
}
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;
}
string token = 1;
Problem problem = 2;
}
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 {
string token = 1;
int32 id = 2;
}