package main import ( "api/context" "api/middleware" "api/workout" "database/sql" "log" "net/http" _ "github.com/mattn/go-sqlite3" ) func main() { context.InitializeDB() db, err := sql.Open("sqlite3", "./data.db") if err != nil { log.Fatal(err) } defer db.Close() var router = getRouter(db) var server = http.Server{ Addr: ":8080", Handler: middleware.Logging(middleware.EnableCors(middleware.EnsureAuth(router))), } log.Println("Starting server at", server.Addr) err = server.ListenAndServe() if err != nil { panic(err) } } func getRouter(db *sql.DB) *http.ServeMux { var router = http.NewServeMux() router.HandleFunc("POST /workout", workout.NewWorkout(db)) router.HandleFunc("GET /workout", workout.GetWorkouts(db)) return router }