From 3921db6166e2da895257496bb76dd115556699d3 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sat, 29 Mar 2025 11:12:53 +0300 Subject: init --- internal/database/repos/defaults.go | 25 +++++++++++++++++++++++++ internal/database/repos/main.go | 19 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 internal/database/repos/defaults.go create mode 100644 internal/database/repos/main.go (limited to 'internal/database/repos') diff --git a/internal/database/repos/defaults.go b/internal/database/repos/defaults.go new file mode 100644 index 0000000..e0b5e52 --- /dev/null +++ b/internal/database/repos/defaults.go @@ -0,0 +1,25 @@ +package repos + +type DefaultsRepo interface { + DBGetDefaultsMap() (map[string]string, error) +} + +func (p *Provider) DBGetDefaultsMap() (map[string]string, error) { + rows, err := p.db.Queryx(`SELECT key, value + FROM defaults; + `) + if err != nil { + return nil, err + } + res := make(map[string]string) + for rows.Next() { + keyval, err := rows.SliceScan() + if err != nil { + return nil, err + } + key := keyval[0].(string) + value := keyval[1].(string) + res[key] = value + } + return res, nil +} diff --git a/internal/database/repos/main.go b/internal/database/repos/main.go new file mode 100644 index 0000000..e57855f --- /dev/null +++ b/internal/database/repos/main.go @@ -0,0 +1,19 @@ +package repos + +import ( + "github.com/jmoiron/sqlx" +) + +type FullRepo interface { + DefaultsRepo +} + +type Provider struct { + db *sqlx.DB +} + +func NewProvider(conn *sqlx.DB) *Provider { + return &Provider{ + db: conn, + } +} -- cgit v1.2.3