generated from VLADIMIR/template
add
This commit is contained in:
+64
-8
@@ -35,6 +35,24 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
|
||||
};
|
||||
|
||||
service EveningDetectiveServer {
|
||||
rpc GetParticipation(GetParticipationReq) returns (ParticipationRsp) {
|
||||
option (google.api.http) = { post: "/api/participation/get" body: "*" };
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
security : {};
|
||||
tags : "Подтверждение участия";
|
||||
summary : "Получить состояние участия";
|
||||
description: "Возвращает команду, игру и текущее решение по персональному токену из письма. Авторизация JWT не требуется. Чтение не меняет статус участия. Токен передаётся в теле запроса. Недействительная ссылка и ошибки обработки возвращаются в поле error при HTTP 200.";
|
||||
};
|
||||
}
|
||||
rpc AnswerParticipation(AnswerParticipationReq) returns (ParticipationRsp) {
|
||||
option (google.api.http) = { post: "/api/participation/answer" body: "*" };
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
security : {};
|
||||
tags : "Подтверждение участия";
|
||||
summary : "Подтвердить или отменить участие";
|
||||
description: "Принимает окончательный ответ капитана: confirmed или cancelled. Авторизация JWT не требуется; доступ определяется персональным токеном. Первый ответ сохраняется, повтор того же ответа успешен, противоположный ответ отклоняется. Новый ответ принимается только до планового начала игры и пока игра имеет статус draft. Ошибки ссылки, значения answer, закрытого приёма или изменения решения возвращаются в поле error при HTTP 200; при уже принятом решении возвращается его текущее состояние.";
|
||||
};
|
||||
}
|
||||
rpc Ping(PingReq) returns (PingRsp) {
|
||||
option (google.api.http) = {
|
||||
get: "/api/test/ping"
|
||||
@@ -1452,15 +1470,53 @@ message GetScreenResultsRsp {
|
||||
repeated TeamResult teams = 3;
|
||||
}
|
||||
|
||||
message GetParticipationReq {
|
||||
// Персональный токен из письма: 64 шестнадцатеричных символа. Не является JWT.
|
||||
string token = 1;
|
||||
}
|
||||
|
||||
message AnswerParticipationReq {
|
||||
// Персональный токен из письма: 64 шестнадцатеричных символа. Не является JWT.
|
||||
string token = 1;
|
||||
// Окончательное решение: confirmed — участвуем, cancelled — отменяем запись.
|
||||
string answer = 2;
|
||||
}
|
||||
|
||||
message ParticipationRsp {
|
||||
// Пустая строка при успехе; иначе сообщение об ошибке для пользователя.
|
||||
string error = 1;
|
||||
// Название команды. Данные доступны только по действительному токену.
|
||||
string team_name = 2;
|
||||
// Название игры.
|
||||
string game_name = 3;
|
||||
// Плановое начало игры, UTC (RFC 3339 в JSON).
|
||||
google.protobuf.Timestamp start_at = 4;
|
||||
// Заявленное число участников команды.
|
||||
int32 participants_count = 5;
|
||||
// pending — ожидает ответа, confirmed — подтверждено, cancelled — отменено.
|
||||
string status = 6;
|
||||
// Новые ответы закрыты: наступило плановое начало или игра вышла из draft.
|
||||
// Изменение уже принятого решения запрещено независимо от этого поля.
|
||||
bool closed = 7;
|
||||
}
|
||||
|
||||
message Team {
|
||||
int32 id = 1;
|
||||
string name = 2;
|
||||
string status = 3;
|
||||
string password = 4;
|
||||
int32 actions_count = 5;
|
||||
repeated Application applications = 6;
|
||||
string captain_email = 7;
|
||||
int32 participants_count = 8;
|
||||
// Статус участия: pending, confirmed или cancelled. Поле панели организатора.
|
||||
string participation_status = 9;
|
||||
// Источник решения: captain, automatic либо пустая строка до ответа.
|
||||
string participation_source = 10;
|
||||
// Последняя ошибка отправки; пустая строка, если ошибки нет.
|
||||
string participation_email_error = 11;
|
||||
// Письмо принято SMTP-сервером; не означает прочтение или доставку во входящие.
|
||||
bool participation_email_sent = 12;
|
||||
int32 id = 1;
|
||||
string name = 2;
|
||||
string status = 3;
|
||||
string password = 4;
|
||||
int32 actions_count = 5;
|
||||
repeated Application applications = 6;
|
||||
string captain_email = 7;
|
||||
int32 participants_count = 8;
|
||||
}
|
||||
|
||||
message GetGameReq {
|
||||
|
||||
Reference in New Issue
Block a user