package main //go:generate go tool templ generate import ( "flag" "fmt" "log" "net/http" "git.bronku.xyz/bronku/cake-order-tracker/logging" "git.bronku.xyz/bronku/cake-order-tracker/server" "git.bronku.xyz/bronku/cake-order-tracker/store" ) func main() { dev := flag.Bool("dev", false, "run in dev mode with in-memory database and seed data") db := flag.String("db", "./foo.db", "path to the SQLite database file (ignored in dev mode)") host := flag.String("host", "127.0.0.1", "address to listen on") port := flag.Int("port", 8080, "port to listen on") flag.Parse() var s *store.Store if *dev { log.Println("dev mode: using in-memory database with seed data") s = store.OpenStore("file:memdb1?mode=memory&cache=shared") seed(s) } else { s = store.OpenStore(*db) } defer s.Close() var h http.Handler = server.New(s) h = logging.Middleware(h) addr := fmt.Sprintf("%s:%d", *host, *port) log.Printf("starting server on %s", addr) log.Fatal(http.ListenAndServe(addr, h)) }