48 lines
1.0 KiB
Go
48 lines
1.0 KiB
Go
package webhooks
|
|
|
|
import (
|
|
"log/slog"
|
|
"net/http"
|
|
|
|
etsy_platform "ruben/inventory2/internal/domains/platforms/etsy"
|
|
"ruben/inventory2/internal/domains/raw_events"
|
|
"ruben/inventory2/internal/webhooks/etsy"
|
|
"ruben/inventory2/internal/webhooks/tiktok"
|
|
"ruben/inventory2/internal/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 *slog.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
|
|
}
|