// Package integration contains adapters for external systems and runtime // clients. These constructors are kept out of the persistence provider set so // the data package does not also act as the integration composition root. package integration import ( "kra/internal/biz" "kra/internal/integration/cache" "kra/internal/integration/email" mqintegration "kra/internal/integration/mq" "kra/internal/integration/storage" websocketintegration "kra/internal/integration/websocket" "kra/pkg/mq" platformws "kra/pkg/websocket" "github.com/google/wire" ) var ProviderSet = wire.NewSet( cache.New, email.NewEmailRepo, storage.NewFileStorage, NewConnectivityTester, wire.Bind(new(biz.IntegrationConnectionTester), new(*ConnectivityTester)), mqintegration.New, wire.Bind(new(mq.Client), new(*mqintegration.Reloadable)), wire.Bind(new(mq.Registry), new(*mqintegration.Reloadable)), wire.Bind(new(mq.SubscriptionRegistrar), new(*mqintegration.Reloadable)), websocketintegration.New, wire.Bind(new(platformws.Hub), new(*websocketintegration.Server)), wire.Bind(new(biz.FileStorage), new(*storage.Reloadable)), )