feat:
This commit is contained in:
parent
33856fdad2
commit
e6de2af416
3 changed files with 75 additions and 40 deletions
67
contest/v1/contest.proto
Normal file
67
contest/v1/contest.proto
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package contest.v1;
|
||||||
|
option go_package = "/contest/v1;contestv1";
|
||||||
|
|
||||||
|
import "google/protobuf/timestamp.proto";
|
||||||
|
import "google/protobuf/empty.proto";
|
||||||
|
|
||||||
|
service ContestService {
|
||||||
|
rpc CreateContest (CreateContestRequest) returns (CreateContestResponse);
|
||||||
|
rpc ReadContest (ReadContestRequest) returns (ReadContestResponse);
|
||||||
|
rpc DeleteContest (DeleteContestRequest) returns (google.protobuf.Empty);
|
||||||
|
|
||||||
|
rpc AddTask (AddTaskRequest) returns (AddTaskResponse);
|
||||||
|
rpc DeleteTask (DeleteTaskRequest) returns (google.protobuf.Empty);
|
||||||
|
|
||||||
|
rpc AddParticipant (AddParticipantRequest) returns (AddParticipantResponse);
|
||||||
|
rpc DeleteParticipant (DeleteParticipantRequest) returns (google.protobuf.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
message CreateContestRequest {
|
||||||
|
string title = 1;
|
||||||
|
}
|
||||||
|
message CreateContestResponse {
|
||||||
|
int32 id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ReadContestRequest {
|
||||||
|
int32 id = 1;
|
||||||
|
}
|
||||||
|
message ReadContestResponse {
|
||||||
|
message Contest {
|
||||||
|
int32 id = 1;
|
||||||
|
string title = 2;
|
||||||
|
google.protobuf.Timestamp created_at = 3;
|
||||||
|
google.protobuf.Timestamp updated_at = 4;
|
||||||
|
}
|
||||||
|
Contest contest = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DeleteContestRequest {
|
||||||
|
int32 id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message AddTaskRequest {
|
||||||
|
int32 contest_id = 1;
|
||||||
|
int32 problem_id = 2;
|
||||||
|
}
|
||||||
|
message AddTaskResponse {
|
||||||
|
int32 id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DeleteTaskRequest {
|
||||||
|
int32 task_id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message AddParticipantRequest {
|
||||||
|
int32 contest_id = 1;
|
||||||
|
int32 user_id = 2;
|
||||||
|
}
|
||||||
|
message AddParticipantResponse {
|
||||||
|
int32 id = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message DeleteParticipantRequest {
|
||||||
|
int32 participant_id = 1;
|
||||||
|
}
|
|
@ -7,27 +7,13 @@ import "google/protobuf/timestamp.proto";
|
||||||
import "google/protobuf/empty.proto";
|
import "google/protobuf/empty.proto";
|
||||||
|
|
||||||
service ProblemService {
|
service ProblemService {
|
||||||
rpc CreateProblem (stream CreateProblemRequest) returns (CreateProblemResponse);
|
rpc CreateProblem (CreateProblemRequest) returns (CreateProblemResponse);
|
||||||
rpc ReadProblem (ReadProblemRequest) returns (ReadProblemResponse);
|
rpc ReadProblem (ReadProblemRequest) returns (ReadProblemResponse);
|
||||||
// rpc UpdateProblem (UpdateProblemRequest) returns (google.protobuf.Empty);
|
|
||||||
rpc DeleteProblem (DeleteProblemRequest) returns (google.protobuf.Empty);
|
rpc DeleteProblem (DeleteProblemRequest) returns (google.protobuf.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
message CreateProblemRequest {
|
message CreateProblemRequest {
|
||||||
message Problem {
|
string title = 1;
|
||||||
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 {
|
message CreateProblemResponse {
|
||||||
int32 id = 1;
|
int32 id = 1;
|
||||||
|
@ -39,28 +25,18 @@ message ReadProblemRequest {
|
||||||
message ReadProblemResponse {
|
message ReadProblemResponse {
|
||||||
message Problem {
|
message Problem {
|
||||||
int32 id = 1;
|
int32 id = 1;
|
||||||
string name = 2;
|
string title = 2;
|
||||||
string description = 3;
|
string content = 3;
|
||||||
int32 time_limit = 4;
|
int32 time_limit = 4;
|
||||||
int32 memory_limit = 5;
|
int32 memory_limit = 5;
|
||||||
google.protobuf.Timestamp created_at = 6;
|
int32 testing_strategy = 6;
|
||||||
google.protobuf.Timestamp updated_at = 7;
|
string testing_order = 7;
|
||||||
|
google.protobuf.Timestamp created_at = 8;
|
||||||
|
google.protobuf.Timestamp updated_at = 9;
|
||||||
}
|
}
|
||||||
Problem problem = 1;
|
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 {
|
message DeleteProblemRequest {
|
||||||
int32 id = 1;
|
int32 id = 1;
|
||||||
}
|
}
|
|
@ -7,7 +7,6 @@ import "google/protobuf/empty.proto";
|
||||||
|
|
||||||
service SessionService {
|
service SessionService {
|
||||||
rpc Create (CreateSessionRequest) returns (CreateSessionResponse);
|
rpc Create (CreateSessionRequest) returns (CreateSessionResponse);
|
||||||
rpc Read (ReadSessionRequest) returns (ReadSessionResponse);
|
|
||||||
rpc Update (UpdateSessionRequest) returns (google.protobuf.Empty);
|
rpc Update (UpdateSessionRequest) returns (google.protobuf.Empty);
|
||||||
rpc Delete (DeleteSessionRequest) returns (google.protobuf.Empty);
|
rpc Delete (DeleteSessionRequest) returns (google.protobuf.Empty);
|
||||||
}
|
}
|
||||||
|
@ -20,13 +19,6 @@ message CreateSessionResponse {
|
||||||
string token = 1;
|
string token = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ReadSessionRequest {
|
|
||||||
string token = 1;
|
|
||||||
}
|
|
||||||
message ReadSessionResponse {
|
|
||||||
int32 user_id = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message UpdateSessionRequest {
|
message UpdateSessionRequest {
|
||||||
string token = 1;
|
string token = 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue