MarketingSystemDataTool/server/internal/api/router.go

33 lines
1.2 KiB
Go

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"
}