summaryrefslogtreecommitdiff
path: root/server/channel/channel.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/channel/channel.go')
-rw-r--r--server/channel/channel.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/server/channel/channel.go b/server/channel/channel.go
index d907bc0..ef066e5 100644
--- a/server/channel/channel.go
+++ b/server/channel/channel.go
@@ -75,10 +75,10 @@ func (cs *ChannelKind) GetDirect(among map[string]bool) *Channel {
return &c
}
-func (cs *ChannelKind) UserChannels(uid string) map[string]bool {
+func (cs *ChannelKind) getChannelList(uid string, list string) map[string]bool {
result := make(map[string]bool)
err := cs.db.View(func(tx *bolt.Tx) error {
- channels := tx.Bucket([]byte("user channels"))
+ channels := tx.Bucket([]byte(list))
if channels == nil {
return nil
}
@@ -92,11 +92,19 @@ func (cs *ChannelKind) UserChannels(uid string) map[string]bool {
})
})
if err != nil {
- log.Fatal("error updating database: ", err)
+ log.Fatal("error reading database: ", err)
}
return result
}
+func (cs *ChannelKind) UserChannels(uid string) map[string]bool {
+ return cs.getChannelList(uid, "user channels")
+}
+
+func (cs *ChannelKind) DirectChannels(uid string) map[string]bool {
+ return cs.getChannelList(uid, "direct channels")
+}
+
func (cs *ChannelKind) ByName(name string) *Channel {
switch ch := cs.world.Lookup("channel", name).(type) {
case *Channel: