This commit is contained in:
Vyacheslav1557 2024-10-13 19:03:03 +05:00
parent 33856fdad2
commit e6de2af416
3 changed files with 75 additions and 40 deletions

67
contest/v1/contest.proto Normal file
View 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;
}

View file

@ -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;
} }

View file

@ -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;
} }