Files
inventory-plus-plus/internal/server/api/webhooks/webhooks.go
T
2026-01-12 23:21:52 -07:00

48 lines
1.1 KiB
Go

package webhooks
import (
"net/http"
etsy_platform "ruben/inventory2/internal/domains/platforms/etsy"
"ruben/inventory2/internal/domains/raw_events"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/api/webhooks/etsy"
"ruben/inventory2/internal/server/api/webhooks/tiktok"
"ruben/inventory2/internal/server/api/webhooks/wix"
)
type Config struct {
Etsy etsy.Config
}
// TODO: just move over to the 'site' package, and then consider renaming the site package to something else?
func New(logger *logging.Logger, eventsDB *raw_events.Store, etsyPlatform *etsy_platform.Platform, cfg Config) http.Handler {
wh := http.NewServeMux()
wh.Handle(
"/etsy/",
http.StripPrefix("/etsy", etsy.NewWebhookHandler(
logger.WithGroup("etsy"),
eventsDB,
etsyPlatform,
cfg.Etsy,
)),
)
wh.Handle(
"/tiktok/",
http.StripPrefix("/tiktok", tiktok.NewWebhookHandler(
logger.WithGroup("tiktok"),
eventsDB,
)),
)
wh.Handle(
"/wix/",
http.StripPrefix("/wix", wix.NewWebhookHandler(
logger.WithGroup("wix"),
eventsDB,
)),
)
return wh
}