Untitled

 avatar
unknown
protobuf
2 years ago
1.2 kB
8
Indexable
//Common
message SurveyQuestion {

  enum Type {
    Text = 0;
    SingleChoice = 1;
    MultiChoice = 2;
    Address = 3;
  }

  string tag = 1;
  string text = 2;
  repeated string options = 3;
  Type type = 4;
}

message AnswerContent {

  message Skipped {} //Пользователь пропустил вопрос

  message Filled { //Пользователь ответил на вопрос
    string answerJson = 1;
  }

  oneof value {
    Skipped skipped = 1;
    Filled filled = 2;
  }

}


//API
message GetSurveyRequest {
  string meetingId = 1;
}

message GetSurveyResponse {

  message QuestionWithPreviousAnswer {
    SurveyQuestion question = 1;
    optional AnswerContent previousAnswer = 2; //null == Клиент до этого вопроса ещё не дошёл
  }

  repeated QuestionWithPreviousAnswer open = 1;
  repeated QuestionWithPreviousAnswer private = 2;
}

message SendAnswerRequest {

  message Answer {
    string questionTag = 1;
    AnswerContent answer = 2;
  }

  string meetingId = 1;
  repeated Answer answers = 2;
}

message SendAnswerResponse {

  message Body{}
  message Error{}

  oneof result {
    Body response = 1;
    Error error = 2;
  }
}
Editor is loading...