diff options
Diffstat (limited to 'internal/db/settings.go')
| -rw-r--r-- | internal/db/settings.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/db/settings.go b/internal/db/settings.go new file mode 100644 index 0000000..6b2a007 --- /dev/null +++ b/internal/db/settings.go @@ -0,0 +1,21 @@ +package db + +import "database/sql" + +func (d *DB) GetSetting(key string) (string, error) { + var val string + err := d.db.QueryRow(`SELECT value FROM settings WHERE key = ?`, key).Scan(&val) + if err == sql.ErrNoRows { + return "", nil + } + return val, err +} + +func (d *DB) SetSetting(key, value string) error { + _, err := d.db.Exec( + `INSERT INTO settings (key, value) VALUES (?, ?) + ON CONFLICT(key) DO UPDATE SET value = excluded.value`, + key, value, + ) + return err +} |
