Commit 145fb7a
Changed files (1)
serverHandlers.go
@@ -23,34 +23,9 @@ var userTestsLock = sync.RWMutex{}
// it moves the now used record to the usedRecordMap, and updates
// recordMap to reflect the change
func getRecordForCategory(categoryIndex int) Record {
- if categoryIndex >= len(categories) {
- return Record{}
- }
mapLock.Lock()
defer mapLock.Unlock()
- var record Record
- for record.Answer == "" {
- if len(categories[categoryIndex].RecordArray) > 0 { // if there are unused records
- recordIndex := rand.Intn(len(categories[categoryIndex].RecordArray))
- lastRecordIndex := len(categories[categoryIndex].RecordArray)-1
- record = categories[categoryIndex].RecordArray[recordIndex]
- categories[categoryIndex].UsedRecordArray = append(categories[categoryIndex].UsedRecordArray,
- record)
- categories[categoryIndex].RecordArray[recordIndex] = categories[categoryIndex].RecordArray[lastRecordIndex]
- categories[categoryIndex].RecordArray = categories[categoryIndex].RecordArray[0:lastRecordIndex]
- } else if len(categories[categoryIndex].UsedRecordArray) > 0 { // else reset the unused records
- categories[categoryIndex].RecordArray = categories[categoryIndex].UsedRecordArray[0:]
- categories[categoryIndex].UsedRecordArray = []Record{}
- } else { // or choose random sub-category because this is not a leaf
- if len(categories[categoryIndex].Children) > 0 {
- childChosen := rand.Intn(len(categories[categoryIndex].Children))
- categoryIndex = categories[categoryIndex].Children[childChosen]
- } else {
- return record
- }
- }
- }
- return record
+ return Record{}
}
// buildRecordArray builds an array of Records based on the parameter criteria