From ddfa9535abcf5bee3cd856537b0552aecbdf29e8 Mon Sep 17 00:00:00 2001 From: Joshua Herring Date: Wed, 27 May 2026 12:18:50 -0400 Subject: [PATCH] add function to get database connection --- dbi/dbi.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 dbi/dbi.go diff --git a/dbi/dbi.go b/dbi/dbi.go new file mode 100644 index 0000000..e6c7169 --- /dev/null +++ b/dbi/dbi.go @@ -0,0 +1,32 @@ +package dbi + +import ( + "database/sql" + "os" + + _ "modernc.org/sqlite" +) + +func GetDbConn() (*sql.DB, error) { + const dbPath = "data/facultyactivity.sqlite" + + _, err := os.Stat(dbPath) + if os.IsNotExist(err) { + if err := os.MkdirAll("data", 0755); err != nil { + return nil, err + } + db, err := sql.Open("sqlite", dbPath) + if err != nil { + return nil, err + } + if _, err := db.Exec(ActivityReportSchema); err != nil { + db.Close() + return nil, err + } + return db, nil + } + if err != nil { + return nil, err + } + return sql.Open("sqlite", dbPath) +}