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