package webhooks import ( "log/slog" "net/http" etsy_platform "ruben/inventory2/internal/domains/platforms/etsy" "ruben/inventory2/internal/domains/raw_events" "ruben/inventory2/internal/server/webhooks/etsy" "ruben/inventory2/internal/server/webhooks/tiktok" "ruben/inventory2/internal/server/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 }