summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorbt <bt@rctt.net>2026-06-04 17:13:39 +0200
committerbt <bt@rctt.net>2026-06-04 17:13:39 +0200
commit6628f924ba4aefa8f8361ebc252fb225718359c2 (patch)
treef1337371a66546c5d87908b5fac682ff6b1b92f2 /storage
parented2621c17f353878ea86ce2c16cac7cd04fb4c6a (diff)
downloadsolec-6628f924ba4aefa8f8361ebc252fb225718359c2.tar.gz
solec-6628f924ba4aefa8f8361ebc252fb225718359c2.zip
[common] Add channels list queryv0.6.0
Diffstat (limited to 'storage')
-rw-r--r--storage/storage.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/storage/storage.go b/storage/storage.go
index a32c4a0..6455876 100644
--- a/storage/storage.go
+++ b/storage/storage.go
@@ -169,6 +169,31 @@ func (db *Database) GetChannelUsers(channel string) (users []string, err error)
return users, nil
}
+func (db *Database) GetUserChannels(user string, count, offset int) (channels []string, err error) {
+ rows, err := db.Query("SELECT channel FROM permissions WHERE user = ? AND write = 1;", user)
+ defer func() {
+ if rows == nil {
+ return
+ }
+ if err := rows.Close(); err != nil {
+ log.Println("cannot close database row:", err)
+ }
+ }()
+ if err != nil {
+ return channels, err
+ }
+
+ for rows.Next() {
+ var channel string
+ if err := rows.Scan(&channel); err != nil {
+ return channels, err
+ }
+ channels = append(channels, channel)
+ }
+
+ return channels, nil
+}
+
func itob(v int) bool {
if v == 1 {
return true