54 lines
1.2 KiB
Protocol Buffer
54 lines
1.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package results;
|
|
|
|
import "google/protobuf/empty.proto";
|
|
|
|
option go_package = "pkg/api/results";
|
|
|
|
service ResultsService {
|
|
rpc GetCompetitionResults(GetCompetitionResultsRequest) returns (GetCompetitionResultsResponse);
|
|
rpc GetUserCompetitionResults(GetUserCompetitionResultsRequest) returns (GetUserCompetitionResultsResponse);
|
|
rpc RecalculateResults(RecalculateResultsRequest) returns (google.protobuf.Empty);
|
|
}
|
|
|
|
message TaskStatus {
|
|
string task_id = 1;
|
|
string task_title = 2;
|
|
int32 earned_points = 3;
|
|
int32 max_points = 4;
|
|
optional int32 position = 5;
|
|
}
|
|
|
|
message UserResult {
|
|
string user_id = 1;
|
|
string username = 2;
|
|
int32 total_score = 3;
|
|
int32 overall_position = 4;
|
|
repeated TaskStatus task_statuses = 5;
|
|
}
|
|
|
|
message GetCompetitionResultsRequest {
|
|
int32 page_size = 1;
|
|
int32 page_token = 2;
|
|
|
|
string competition_id = 3;
|
|
}
|
|
message GetCompetitionResultsResponse {
|
|
repeated UserResult results = 1;
|
|
int32 total_count = 2;
|
|
int32 next_page_token = 3;
|
|
}
|
|
|
|
message GetUserCompetitionResultsRequest {
|
|
string competition_id = 1;
|
|
string user_id = 2;
|
|
}
|
|
message GetUserCompetitionResultsResponse {
|
|
UserResult result = 1;
|
|
}
|
|
|
|
message RecalculateResultsRequest {
|
|
string competition_id = 1;
|
|
}
|