package main import ( "log" "net/http" "synlotto-website/handlers" "synlotto-website/models" "synlotto-website/storage" "github.com/gorilla/csrf" ) func main() { db := storage.InitDB("synlotto.db") models.SetDB(db) csrfMiddleware := csrf.Protect( []byte("32-byte-long-auth-key-here"), // TodO: Make Global csrf.Secure(false), ) mux := http.NewServeMux() mux.HandleFunc("/", handlers.Home(db)) mux.HandleFunc("/new", handlers.NewDraw) mux.HandleFunc("/submit", handlers.Submit) mux.HandleFunc("/ticket", handlers.NewTicket(db)) mux.HandleFunc("/tickets", handlers.ListTickets(db)) mux.HandleFunc("/submit-ticket", handlers.RequireAuth(handlers.SubmitTicket(db))) mux.HandleFunc("/login", handlers.Login) mux.HandleFunc("/logout", handlers.Logout) mux.HandleFunc("/signup", handlers.Signup) // Result pages mux.HandleFunc("/results/thunderball", handlers.ResultsThunderball(db)) log.Println("🌐 Running on http://localhost:8080") http.ListenAndServe(":8080", csrfMiddleware(mux)) }