Adding not just the api but also some initial code for posting members

This commit is contained in:
2026-01-20 15:56:21 -05:00
parent 0359efe197
commit a694a73249
15 changed files with 219 additions and 57 deletions

View File

@@ -2,6 +2,10 @@ package db
import (
"database/sql"
"errors"
"log"
"os"
"strings"
"go-sjles-pta-vote/server/config"
@@ -32,28 +36,39 @@ CREATE TABLE IF NOT EXISTS members (
email TEXT NOT NULL,
member_name TEXT,
school_year UNSIGNED INT NOT NULL,
PRIMARY KEY (email)
PRIMARY KEY (email, school_year)
);
`
var db *sql.DB
func Connect() (*sql.DB, error) {
log.Printf("Connecting to database")
db_config := config.GetConfig()
log.Printf("Database path: %s", db_config.DBPath)
db, err := sql.Open("sqlite", db_config.DBPath)
if err != nil {
log.Printf("Error opening database: %v", err)
return nil, err
}
_, err = db.Exec(build_db_query)
return db, err
if err != nil {
log.Printf("Error updating schema: %v", err)
_ = db.Close()
return nil, err
}
return db, nil
}
func Close() {
if db != nil {
_ = db.Close()
err := db.Close()
if err != nil {
log.Printf("Error closing database: %v", err)
}
}
}