Ocean/Log/DeviceDatabase/ReadSenderNamesFromDB.go
2015-06-22 17:38:55 +02:00

29 lines
887 B
Go

package DeviceDatabase
import (
"github.com/SommerEngineering/Ocean/Admin/Scheme"
"github.com/SommerEngineering/Ocean/Log"
LM "github.com/SommerEngineering/Ocean/Log/Meta"
"gopkg.in/mgo.v2/bson"
"sort"
)
// Reads the sender names from the database without any caching.
func readSenderNamesFromDB() (result []Scheme.Sender) {
var nextSenderNames []string
if err := logDBCollection.Find(bson.D{}).Distinct(`Sender`, &nextSenderNames); err != nil {
// Case: Was not possible to write to the database.
Log.LogShort(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.MessageNameDATABASE, `Was not able to read the sender names from the database.`, err.Error())
return
}
// Sort the sender names:
sort.Strings(nextSenderNames)
// Transform the values to the right format:
for _, entry := range nextSenderNames {
result = append(result, Scheme.Sender(entry))
}
return
}