| 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 |