package api import ( "database/sql" "net/http" "os" ) func NewRouter(metaDB *sql.DB, marketingDB *sql.DB) http.Handler { mux := http.NewServeMux() mux.Handle("/api/templates", withAccess(withTrace(TemplatesHandler(metaDB, marketingDB)))) mux.Handle("/api/templates/", withAccess(withTrace(TemplatesHandler(metaDB, marketingDB)))) mux.Handle("/api/exports", withAccess(withTrace(ExportsHandler(metaDB, marketingDB)))) mux.Handle("/api/exports/", withAccess(withTrace(ExportsHandler(metaDB, marketingDB)))) mux.Handle("/api/creators", withAccess(withTrace(CreatorsHandler(marketingDB)))) mux.Handle("/api/creators/", withAccess(withTrace(CreatorsHandler(marketingDB)))) mux.Handle("/api/resellers", withAccess(withTrace(ResellersHandler(marketingDB)))) mux.Handle("/api/resellers/", withAccess(withTrace(ResellersHandler(marketingDB)))) sd := staticDir() mux.Handle("/", http.FileServer(http.Dir(sd))) return mux } func staticDir() string { if _, err := os.Stat("web/index.html"); err == nil { return "web" } if _, err := os.Stat("../web/index.html"); err == nil { return "../web" } return "web" }