diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2024-10-15 23:56:50 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2024-10-15 23:57:30 -0400 |
| commit | bd6f2159931b5877922efed11f7ea9c54b172379 (patch) | |
| tree | 12bca5fbf677a0d0146686128cdcb39800536206 /db/db.go | |
| parent | 9b6e79c40b98d8e36e4b7f5e1cc6f6a9f0feabbc (diff) | |
Add authentication middlewaredashboard
Diffstat (limited to 'db/db.go')
| -rw-r--r-- | db/db.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/db/db.go b/db/db.go new file mode 100644 index 0000000..8213903 --- /dev/null +++ b/db/db.go @@ -0,0 +1,46 @@ +package db + +import ( + "database/sql" + "log/slog" + "os" + + _ "github.com/mattn/go-sqlite3" +) + +var Logger *slog.Logger + +// Create a new database connection +func New() *sql.DB { + conn, err := sql.Open("sqlite3", "./foo.db") + if err != nil { + Logger.Error("Failed to create database connection") + panic(err) + } + + if err = InitTables(conn); err != nil { + panic(err) + } + + return conn +} + +func InitTables(conn *sql.DB) error { + _, err := conn.Exec(` + CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT UNIQUE NOT NULL, + salt BLOB NOT NULL, + saltedHash BLOB NOT NULL + ) + `) + + if err != nil { + return err + } + return nil +} + +func init() { + Logger = slog.New(slog.NewTextHandler(os.Stdout, nil)) +} |
