Ocean/Log/DeviceDatabase/ReadSenderNamesFromDB.go

29 lines
911 B
Go
Raw Normal View History

2015-06-17 15:44:52 +00:00
package DeviceDatabase
import (
2015-06-22 15:38:55 +00:00
"github.com/SommerEngineering/Ocean/Admin/Scheme"
2015-06-17 15:44:52 +00:00
"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.
2015-06-22 15:38:55 +00:00
func readSenderNamesFromDB() (result []Scheme.Sender) {
2015-06-17 15:44:52 +00:00
var nextSenderNames []string
2015-06-23 15:22:24 +00:00
if err := logDBCollection.Find(bson.D{{"Project", projectName}}).Distinct(`Sender`, &nextSenderNames); err != nil {
2015-06-17 15:44:52 +00:00
// 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)
2015-06-22 15:38:55 +00:00
// Transform the values to the right format:
for _, entry := range nextSenderNames {
result = append(result, Scheme.Sender(entry))
}
2015-06-17 15:44:52 +00:00
return
}