summaryrefslogtreecommitdiff
path: root/pkg/database/accounts.go
diff options
context:
space:
mode:
authorJulien Dessaux2025-01-27 22:00:51 +0100
committerJulien Dessaux2025-01-27 22:00:51 +0100
commit26e10a9399bd6185741d0912ffa54c807ffef671 (patch)
tree0cf9e81c6880b07d9c029e3abd6ee03b6a2acdb1 /pkg/database/accounts.go
parentchore(webui): remove redundant set of the Cache-Control header in state get h... (diff)
downloadtfstated-26e10a9399bd6185741d0912ffa54c807ffef671.tar.gz
tfstated-26e10a9399bd6185741d0912ffa54c807ffef671.tar.bz2
tfstated-26e10a9399bd6185741d0912ffa54c807ffef671.zip
feat(webui): implement state versions list
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,