Conditions | 4 |
Total Lines | 16 |
Code Lines | 11 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | package models |
||
45 | func (card *Card) GetMCQAnswers() []string { |
||
46 | db := database.DBConn // DB Conn |
||
47 | var answersList []string |
||
48 | var answers []Answer |
||
49 | |||
50 | if err := db.Joins("Card").Where("answers.card_id = ?", card.ID).Limit(3).Order("random()").Find(&answers).Error; err != nil { |
||
51 | return nil |
||
52 | } |
||
53 | |||
54 | if len(answers) >= 3 { |
||
55 | answersList = append(answersList, answers[0].Answer, answers[1].Answer, answers[2].Answer, card.Answer) |
||
56 | rand.Seed(time.Now().UnixNano()) |
||
57 | rand.Shuffle(len(answersList), func(i, j int) { answersList[i], answersList[j] = answersList[j], answersList[i] }) |
||
58 | } |
||
59 | |||
60 | return answersList |
||
61 | } |
||
62 |