Merge branch 'chTypes' into 'staging'

fix clickhousr types

See merge request backend/quiz/answerer!5
This commit is contained in:
Mikhail 2024-06-30 12:32:32 +00:00 committed by skeris
commit 44d1a2c643
2 changed files with 54 additions and 28 deletions

@ -11,48 +11,60 @@ type AllFields struct {
KeyBrowser string
CtxQuiz string
CtxReferrer string
CtxIDInt int64
CtxIDInt int64
CtxSession string
CtxQuizID int64
CtxQuestionID int64
}
type InfoQuizOpen struct { // при получении настроек квиза
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
KeyOS string
KeyDevice string
KeyDeviceType string
KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
}
type InfoAnswer struct { // при любом ответе на вопрос
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
KeyOS string
KeyDevice string
KeyDeviceType string
KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
}
type InfoResult struct { // если ответ на вопрос с типом result
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
KeyOS string
KeyDevice string
KeyDeviceType string
KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
}
// todo понять для чего это событие вроде как контакты приходят в ответахс с result = true там парситься контент с контактной информацией
type InfoContactForm struct { // если ответ на вопрос с типом result, без result == true (возможно перепутал с предыдущим. в этом ответе приходят контактные данные респондента)
KeyOS, KeyDevice, KeyDeviceType, KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
KeyOS string
KeyDevice string
KeyDeviceType string
KeyBrowser string // то самое, что получается из заголовков и складывается в модель ответа. на самом деле, ему место тут
CtxQuiz string // айдишник квиза, который qid
CtxQuizID int64 // айдишник квиза
CtxReferrer string // тоже из заголовков
CtxQuestionID int64 // айдишник вопроса, на который отвечено
CtxIDInt int64 // айдишник ответа
CtxSession string // сессия
}

@ -394,6 +394,20 @@ func (s *Service) PutAnswersOnePiece(c *fiber.Ctx) error {
}
ans.Email = content.Email
hlogger.Emit(models.InfoContactForm{
KeyOS: os,
KeyDevice: device,
KeyDeviceType: deviceType,
KeyBrowser: browser,
CtxQuiz: quizID[0],
CtxQuizID: int64(quiz.Id),
CtxReferrer: referrer,
CtxQuestionID: int64(ans.QuestionId),
CtxIDInt: int64(ans.Id),
CtxSession: cs,
})
s.workerSendClientCh <- ans
trueRes = append(trueRes, ans)
}