add new method for sort results
This commit is contained in:
parent
9517c32cdc
commit
77c4797a21
@ -415,3 +415,32 @@ func (r *QuestionRepository) GetQuestionTitleByID(ctx context.Context, questionI
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (r *QuestionRepository) ForSortingResults(ctx context.Context, allAnswers []model.Answer) ([]model.Answer, error) {
|
||||
var questions []QueTitleResp
|
||||
|
||||
for _, answer := range allAnswers {
|
||||
questionData, err := r.GetQuestionTitleByID(ctx, answer.QuestionId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
questionData.AnswerID = answer.Id
|
||||
questions = append(questions, questionData)
|
||||
|
||||
}
|
||||
sort.Slice(questions, func(i, j int) bool {
|
||||
return questions[i].Page < questions[j].Page
|
||||
})
|
||||
|
||||
// TODO O2 REFACTOR
|
||||
var sortedAllAnswers []model.Answer
|
||||
for _, que := range questions {
|
||||
for _, answer := range allAnswers {
|
||||
if que.AnswerID == answer.Id {
|
||||
sortedAllAnswers = append(sortedAllAnswers, answer)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return sortedAllAnswers, nil
|
||||
}
|
||||
|
@ -220,14 +220,13 @@ func (r *ResultRepository) GetQuestions(ctx context.Context, quizID uint64) ([]m
|
||||
}
|
||||
|
||||
// test +
|
||||
func (r *ResultRepository) GetResultAnswers(ctx context.Context, answerID uint64) ([]model.Answer, []model.ResultAnswer, error) {
|
||||
func (r *ResultRepository) GetResultAnswers(ctx context.Context, answerID uint64) ([]model.Answer, error) {
|
||||
rows, err := r.queries.GetResultAnswers(ctx, int64(answerID))
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var answers []model.Answer
|
||||
var toSortAnswer []model.ResultAnswer
|
||||
|
||||
for _, row := range rows {
|
||||
answer := model.Answer{
|
||||
@ -248,15 +247,10 @@ func (r *ResultRepository) GetResultAnswers(ctx context.Context, answerID uint64
|
||||
Browser: row.Browser,
|
||||
}
|
||||
|
||||
toSortAnswer = append(toSortAnswer, model.ResultAnswer{
|
||||
QuestionID: uint64(row.QuestionID),
|
||||
AnswerID: uint64(row.ID),
|
||||
})
|
||||
|
||||
answers = append(answers, answer)
|
||||
}
|
||||
|
||||
return answers, toSortAnswer, nil
|
||||
return answers, nil
|
||||
}
|
||||
|
||||
// test +
|
||||
|
Loading…
Reference in New Issue
Block a user