kra-new/app/system/internal/integration/provider.go

29 lines
954 B
Go

// 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/app/system/internal/biz"
"kra/app/system/internal/integration/cache"
"kra/app/system/internal/integration/email"
mqintegration "kra/app/system/internal/integration/mq"
"kra/app/system/internal/integration/storage"
websocketintegration "kra/app/system/internal/integration/websocket"
"kra/pkg/mq"
platformws "kra/pkg/websocket"
"github.com/google/wire"
)
var ProviderSet = wire.NewSet(
cache.New,
email.NewEmailRepo,
storage.NewFileStorage,
mqintegration.New,
wire.Bind(new(mq.Client), new(*mqintegration.Reloadable)),
websocketintegration.New,
wire.Bind(new(platformws.Hub), new(*websocketintegration.Server)),
wire.Bind(new(biz.FileStorage), new(*storage.Reloadable)),
)