summaryrefslogtreecommitdiff
path: root/pkg/database/accounts.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/database/accounts.go')
-rw-r--r--pkg/database/accounts.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkg/database/accounts.go b/pkg/database/accounts.go
index 377ca80..9adb32d 100644
--- a/pkg/database/accounts.go
+++ b/pkg/database/accounts.go
@@ -47,6 +47,31 @@ func (db *DB) InitAdminAccount() error {
})
}
+func (db *DB) LoadAccountUsernames() (map[int]string, error) {
+ rows, err := db.Query(
+ `SELECT id, username FROM accounts;`)
+ if err != nil {
+ return nil, fmt.Errorf("failed to load accounts from database: %w", err)
+ }
+ defer rows.Close()
+ accounts := make(map[int]string)
+ for rows.Next() {
+ var (
+ id int
+ username string
+ )
+ err = rows.Scan(&id, &username)
+ if err != nil {
+ return nil, fmt.Errorf("failed to load account from row: %w", err)
+ }
+ accounts[id] = username
+ }
+ if err := rows.Err(); err != nil {
+ return nil, fmt.Errorf("failed to load accounts from rows: %w", err)
+ }
+ return accounts, nil
+}
+
func (db *DB) LoadAccountById(id int) (*model.Account, error) {
account := model.Account{
Id: id,