72 lines
1.6 KiB
Protocol Buffer
72 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package submission;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "pkg/api/submission";
|
|
|
|
service SubmissionService {
|
|
rpc SubmitTask(SubmitTaskRequest) returns (Submission);
|
|
rpc GetSubmissionsHistory(GetSubmissionsHistoryRequest) returns (GetSubmissionsHistoryResponse);
|
|
rpc GetSubmission(GetSubmissionRequest) returns (Submission);
|
|
rpc ListSubmissions(ListSubmissionsRequest) returns (ListSubmissionsResponse);
|
|
}
|
|
|
|
enum SubmissionStatus {
|
|
SUBMISSION_STATUS_UNSPECIFIED = 0;
|
|
SUBMISSION_STATUS_PENDING = 1;
|
|
SUBMISSION_STATUS_SENT_FOR_CHECK = 2;
|
|
SUBMISSION_STATUS_CHECKING = 3;
|
|
SUBMISSION_STATUS_CHECKED = 4;
|
|
SUBMISSION_STATUS_FAILED = 5;
|
|
}
|
|
|
|
message Submission {
|
|
string id = 1;
|
|
string user_id = 2;
|
|
string competition_id = 3;
|
|
string task_id = 4;
|
|
SubmissionStatus status = 5;
|
|
int32 earned_points = 6;
|
|
google.protobuf.Timestamp submitted_at = 7;
|
|
google.protobuf.Timestamp checked_at = 8;
|
|
string file_url = 9;
|
|
}
|
|
|
|
message SubmitTaskRequest {
|
|
string user_id = 1;
|
|
string competition_id = 2;
|
|
string task_id = 3;
|
|
string file_url = 4;
|
|
}
|
|
|
|
message GetSubmissionsHistoryRequest {
|
|
string user_id = 1;
|
|
string competition_id = 2;
|
|
string task_id = 3;
|
|
}
|
|
message GetSubmissionsHistoryResponse {
|
|
repeated Submission submissions = 1;
|
|
}
|
|
|
|
message GetSubmissionRequest {
|
|
string submission_id = 1;
|
|
}
|
|
|
|
message ListSubmissionsRequest {
|
|
int32 page_size = 1;
|
|
int32 page_token = 2;
|
|
|
|
string competition_id = 3;
|
|
string task_id = 4;
|
|
string user_id = 5;
|
|
SubmissionStatus status = 6;
|
|
}
|
|
message ListSubmissionsResponse {
|
|
int32 total_count = 1;
|
|
int32 next_page_token = 2;
|
|
|
|
repeated Submission submissions = 3;
|
|
}
|