diff options
| author | bt <bt@rctt.net> | 2026-06-04 17:13:39 +0200 |
|---|---|---|
| committer | bt <bt@rctt.net> | 2026-06-04 17:13:39 +0200 |
| commit | 6628f924ba4aefa8f8361ebc252fb225718359c2 (patch) | |
| tree | f1337371a66546c5d87908b5fac682ff6b1b92f2 /storage | |
| parent | ed2621c17f353878ea86ce2c16cac7cd04fb4c6a (diff) | |
| download | solec-6628f924ba4aefa8f8361ebc252fb225718359c2.tar.gz solec-6628f924ba4aefa8f8361ebc252fb225718359c2.zip | |
[common] Add channels list queryv0.6.0
Diffstat (limited to 'storage')
| -rw-r--r-- | storage/storage.go | 25 |
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 |
