generated from VLADIMIR/template_frontend
updates
This commit is contained in:
@@ -208,6 +208,7 @@ export type Scenario = {
|
||||
export type Story = {
|
||||
introduction: Introduction | undefined;
|
||||
places: Place[] | undefined;
|
||||
questions: Question[] | undefined;
|
||||
};
|
||||
|
||||
export type Introduction = {
|
||||
@@ -245,6 +246,18 @@ export type Key = {
|
||||
name: string | undefined;
|
||||
};
|
||||
|
||||
// Вопрос дела - вопрос, на который команда должна ответить в конце игры.
|
||||
// Правильный ответ (answer) виден только автору сценария и организаторам
|
||||
// (при оценке ответов команд), команде не передаётся.
|
||||
export type Question = {
|
||||
// Код вопроса - используется при отправке ответов командой
|
||||
code: string | undefined;
|
||||
// Текст вопроса
|
||||
text: string | undefined;
|
||||
// Правильный ответ (справка для организатора при оценке)
|
||||
answer: string | undefined;
|
||||
};
|
||||
|
||||
export type GetScenariosCatalogReq = {
|
||||
};
|
||||
|
||||
@@ -262,6 +275,37 @@ export type GetScenarioRsp = {
|
||||
scenario: Scenario | undefined;
|
||||
};
|
||||
|
||||
// Ответ команды на вопрос дела
|
||||
export type Answer = {
|
||||
// Код вопроса
|
||||
questionCode: string | undefined;
|
||||
// Текст ответа команды
|
||||
answer: string | undefined;
|
||||
};
|
||||
|
||||
// Ответ команды с баллом (для панели организатора)
|
||||
export type AnswerScore = {
|
||||
questionCode: string | undefined;
|
||||
answer: string | undefined;
|
||||
// Балл, выставленный организатором; отсутствует, если ещё не оценено
|
||||
score?: number;
|
||||
};
|
||||
|
||||
// Ответы одной команды на вопросы дела
|
||||
export type TeamAnswers = {
|
||||
team: Team | undefined;
|
||||
answers: AnswerScore[] | undefined;
|
||||
};
|
||||
|
||||
export type Team = {
|
||||
id: number | undefined;
|
||||
name: string | undefined;
|
||||
status: string | undefined;
|
||||
password: string | undefined;
|
||||
actionsCount: number | undefined;
|
||||
applications: Application[] | undefined;
|
||||
};
|
||||
|
||||
export type UpdateScenarioReq = {
|
||||
id: number | undefined;
|
||||
name: string | undefined;
|
||||
@@ -334,6 +378,34 @@ export type UpdateScenarioIntroRsp = {
|
||||
error: string | undefined;
|
||||
};
|
||||
|
||||
export type AddScenarioQuestionReq = {
|
||||
id: number | undefined;
|
||||
question: Question | undefined;
|
||||
};
|
||||
|
||||
export type AddScenarioQuestionRsp = {
|
||||
error: string | undefined;
|
||||
};
|
||||
|
||||
export type UpdateScenarioQuestionReq = {
|
||||
id: number | undefined;
|
||||
code: string | undefined;
|
||||
question: Question | undefined;
|
||||
};
|
||||
|
||||
export type UpdateScenarioQuestionRsp = {
|
||||
error: string | undefined;
|
||||
};
|
||||
|
||||
export type DeleteScenarioQuestionReq = {
|
||||
id: number | undefined;
|
||||
code: string | undefined;
|
||||
};
|
||||
|
||||
export type DeleteScenarioQuestionRsp = {
|
||||
error: string | undefined;
|
||||
};
|
||||
|
||||
export type DownloadScenarioArchiveReq = {
|
||||
id: number | undefined;
|
||||
};
|
||||
@@ -375,15 +447,6 @@ export type Game = {
|
||||
endedAt?: wellKnownTimestamp;
|
||||
};
|
||||
|
||||
export type Team = {
|
||||
id: number | undefined;
|
||||
name: string | undefined;
|
||||
status: string | undefined;
|
||||
password: string | undefined;
|
||||
actionsCount: number | undefined;
|
||||
applications: Application[] | undefined;
|
||||
};
|
||||
|
||||
export type GetGameReq = {
|
||||
id: number | undefined;
|
||||
};
|
||||
@@ -393,6 +456,16 @@ export type GetGameRsp = {
|
||||
game: Game | undefined;
|
||||
};
|
||||
|
||||
export type GetGameAnswersReq = {
|
||||
gameId: number | undefined;
|
||||
};
|
||||
|
||||
export type GetGameAnswersRsp = {
|
||||
error: string | undefined;
|
||||
questions: Question[] | undefined;
|
||||
teams: TeamAnswers[] | undefined;
|
||||
};
|
||||
|
||||
export type UpdateGameReq = {
|
||||
id: number | undefined;
|
||||
name: string | undefined;
|
||||
@@ -519,6 +592,37 @@ export type DeleteLastTeamActionRsp = {
|
||||
error: string | undefined;
|
||||
};
|
||||
|
||||
export type GetTeamAnswersReq = {
|
||||
id: number | undefined;
|
||||
password: string | undefined;
|
||||
};
|
||||
|
||||
export type GetTeamAnswersRsp = {
|
||||
error: string | undefined;
|
||||
answers: Answer[] | undefined;
|
||||
};
|
||||
|
||||
export type SubmitTeamAnswersReq = {
|
||||
id: number | undefined;
|
||||
password: string | undefined;
|
||||
answers: Answer[] | undefined;
|
||||
};
|
||||
|
||||
export type SubmitTeamAnswersRsp = {
|
||||
error: string | undefined;
|
||||
};
|
||||
|
||||
export type SetTeamAnswerScoreReq = {
|
||||
id: number | undefined;
|
||||
questionCode: string | undefined;
|
||||
// Балл; отсутствует — сбросить выставленный балл
|
||||
score?: number;
|
||||
};
|
||||
|
||||
export type SetTeamAnswerScoreRsp = {
|
||||
error: string | undefined;
|
||||
};
|
||||
|
||||
export interface EveningDetectiveServer {
|
||||
Ping(request: PingReq): Promise<PingRsp>;
|
||||
Echo(request: EchoReq): Promise<EchoRsp>;
|
||||
@@ -550,12 +654,16 @@ export interface EveningDetectiveServer {
|
||||
AddScenarioPlace(request: AddScenarioPlaceReq): Promise<AddScenarioPlaceRsp>;
|
||||
UpdateScenarioPlace(request: UpdateScenarioPlaceReq): Promise<UpdateScenarioPlaceRsp>;
|
||||
DeleteScenarioPlace(request: DeleteScenarioPlaceReq): Promise<DeleteScenarioPlaceRsp>;
|
||||
AddScenarioQuestion(request: AddScenarioQuestionReq): Promise<AddScenarioQuestionRsp>;
|
||||
UpdateScenarioQuestion(request: UpdateScenarioQuestionReq): Promise<UpdateScenarioQuestionRsp>;
|
||||
DeleteScenarioQuestion(request: DeleteScenarioQuestionReq): Promise<DeleteScenarioQuestionRsp>;
|
||||
UpdateScenarioIntro(request: UpdateScenarioIntroReq): Promise<UpdateScenarioIntroRsp>;
|
||||
DownloadScenarioArchive(request: DownloadScenarioArchiveReq): Promise<googleapi_HttpBody>;
|
||||
UploadScenarioArchive(request: googleapi_HttpBody): Promise<UploadScenarioArchiveRsp>;
|
||||
AddGame(request: AddGameReq): Promise<AddGameRsp>;
|
||||
GetGames(request: GetGamesReq): Promise<GetGamesRsp>;
|
||||
GetGame(request: GetGameReq): Promise<GetGameRsp>;
|
||||
GetGameAnswers(request: GetGameAnswersReq): Promise<GetGameAnswersRsp>;
|
||||
UpdateGame(request: UpdateGameReq): Promise<UpdateGameRsp>;
|
||||
StartGame(request: StartGameReq): Promise<StartGameRsp>;
|
||||
PauseGame(request: PauseGameReq): Promise<PauseGameRsp>;
|
||||
@@ -570,6 +678,9 @@ export interface EveningDetectiveServer {
|
||||
GetTeamStory(request: GetTeamStoryReq): Promise<GetTeamStoryRsp>;
|
||||
AddTeamAction(request: AddTeamActionReq): Promise<AddTeamActionRsp>;
|
||||
DeleteLastTeamAction(request: DeleteLastTeamActionReq): Promise<DeleteLastTeamActionRsp>;
|
||||
GetTeamAnswers(request: GetTeamAnswersReq): Promise<GetTeamAnswersRsp>;
|
||||
SubmitTeamAnswers(request: SubmitTeamAnswersReq): Promise<SubmitTeamAnswersRsp>;
|
||||
SetTeamAnswerScore(request: SetTeamAnswerScoreReq): Promise<SetTeamAnswerScoreRsp>;
|
||||
}
|
||||
|
||||
type RequestType = {
|
||||
@@ -1142,6 +1253,72 @@ export function createEveningDetectiveServerClient(
|
||||
method: "DeleteScenarioPlace",
|
||||
}) as Promise<DeleteScenarioPlaceRsp>;
|
||||
},
|
||||
AddScenarioQuestion(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
}
|
||||
const path = `api/scenarios/${request.id}/questions`; // eslint-disable-line quotes
|
||||
const body = JSON.stringify(request);
|
||||
const queryParams: string[] = [];
|
||||
let uri = path;
|
||||
if (queryParams.length > 0) {
|
||||
uri += `?${queryParams.join("&")}`
|
||||
}
|
||||
return handler({
|
||||
path: uri,
|
||||
method: "POST",
|
||||
body,
|
||||
}, {
|
||||
service: "EveningDetectiveServer",
|
||||
method: "AddScenarioQuestion",
|
||||
}) as Promise<AddScenarioQuestionRsp>;
|
||||
},
|
||||
UpdateScenarioQuestion(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
}
|
||||
if (!request.code) {
|
||||
throw new Error("missing required field request.code");
|
||||
}
|
||||
const path = `api/scenarios/${request.id}/questions/${request.code}`; // eslint-disable-line quotes
|
||||
const body = JSON.stringify(request);
|
||||
const queryParams: string[] = [];
|
||||
let uri = path;
|
||||
if (queryParams.length > 0) {
|
||||
uri += `?${queryParams.join("&")}`
|
||||
}
|
||||
return handler({
|
||||
path: uri,
|
||||
method: "PUT",
|
||||
body,
|
||||
}, {
|
||||
service: "EveningDetectiveServer",
|
||||
method: "UpdateScenarioQuestion",
|
||||
}) as Promise<UpdateScenarioQuestionRsp>;
|
||||
},
|
||||
DeleteScenarioQuestion(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
}
|
||||
if (!request.code) {
|
||||
throw new Error("missing required field request.code");
|
||||
}
|
||||
const path = `api/scenarios/${request.id}/questions/${request.code}`; // eslint-disable-line quotes
|
||||
const body = null;
|
||||
const queryParams: string[] = [];
|
||||
let uri = path;
|
||||
if (queryParams.length > 0) {
|
||||
uri += `?${queryParams.join("&")}`
|
||||
}
|
||||
return handler({
|
||||
path: uri,
|
||||
method: "DELETE",
|
||||
body,
|
||||
}, {
|
||||
service: "EveningDetectiveServer",
|
||||
method: "DeleteScenarioQuestion",
|
||||
}) as Promise<DeleteScenarioQuestionRsp>;
|
||||
},
|
||||
UpdateScenarioIntro(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
@@ -1253,6 +1430,26 @@ export function createEveningDetectiveServerClient(
|
||||
method: "GetGame",
|
||||
}) as Promise<GetGameRsp>;
|
||||
},
|
||||
GetGameAnswers(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.gameId) {
|
||||
throw new Error("missing required field request.gameId");
|
||||
}
|
||||
const path = `api/games/${request.gameId}/answers`; // eslint-disable-line quotes
|
||||
const body = null;
|
||||
const queryParams: string[] = [];
|
||||
let uri = path;
|
||||
if (queryParams.length > 0) {
|
||||
uri += `?${queryParams.join("&")}`
|
||||
}
|
||||
return handler({
|
||||
path: uri,
|
||||
method: "GET",
|
||||
body,
|
||||
}, {
|
||||
service: "EveningDetectiveServer",
|
||||
method: "GetGameAnswers",
|
||||
}) as Promise<GetGameAnswersRsp>;
|
||||
},
|
||||
UpdateGame(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
@@ -1533,6 +1730,72 @@ export function createEveningDetectiveServerClient(
|
||||
method: "DeleteLastTeamAction",
|
||||
}) as Promise<DeleteLastTeamActionRsp>;
|
||||
},
|
||||
GetTeamAnswers(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
}
|
||||
const path = `api/teams/${request.id}/answers`; // eslint-disable-line quotes
|
||||
const body = null;
|
||||
const queryParams: string[] = [];
|
||||
if (request.password) {
|
||||
queryParams.push(`password=${encodeURIComponent(request.password.toString())}`)
|
||||
}
|
||||
let uri = path;
|
||||
if (queryParams.length > 0) {
|
||||
uri += `?${queryParams.join("&")}`
|
||||
}
|
||||
return handler({
|
||||
path: uri,
|
||||
method: "GET",
|
||||
body,
|
||||
}, {
|
||||
service: "EveningDetectiveServer",
|
||||
method: "GetTeamAnswers",
|
||||
}) as Promise<GetTeamAnswersRsp>;
|
||||
},
|
||||
SubmitTeamAnswers(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
}
|
||||
const path = `api/teams/${request.id}/answers`; // eslint-disable-line quotes
|
||||
const body = JSON.stringify(request);
|
||||
const queryParams: string[] = [];
|
||||
let uri = path;
|
||||
if (queryParams.length > 0) {
|
||||
uri += `?${queryParams.join("&")}`
|
||||
}
|
||||
return handler({
|
||||
path: uri,
|
||||
method: "POST",
|
||||
body,
|
||||
}, {
|
||||
service: "EveningDetectiveServer",
|
||||
method: "SubmitTeamAnswers",
|
||||
}) as Promise<SubmitTeamAnswersRsp>;
|
||||
},
|
||||
SetTeamAnswerScore(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
if (!request.id) {
|
||||
throw new Error("missing required field request.id");
|
||||
}
|
||||
if (!request.questionCode) {
|
||||
throw new Error("missing required field request.questionCode");
|
||||
}
|
||||
const path = `api/teams/${request.id}/answers/${request.questionCode}/score`; // eslint-disable-line quotes
|
||||
const body = JSON.stringify(request);
|
||||
const queryParams: string[] = [];
|
||||
let uri = path;
|
||||
if (queryParams.length > 0) {
|
||||
uri += `?${queryParams.join("&")}`
|
||||
}
|
||||
return handler({
|
||||
path: uri,
|
||||
method: "PUT",
|
||||
body,
|
||||
}, {
|
||||
service: "EveningDetectiveServer",
|
||||
method: "SetTeamAnswerScore",
|
||||
}) as Promise<SetTeamAnswerScoreRsp>;
|
||||
},
|
||||
};
|
||||
}
|
||||
// Message that represents an arbitrary HTTP body. It should only be used for
|
||||
|
||||
Reference in New Issue
Block a user