// 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/modules/system/biz"
	"kra/internal/modules/system/integration/cache"
	"kra/internal/modules/system/integration/email"
	"kra/internal/modules/system/integration/storage"

	"github.com/google/wire"
)

var ProviderSet = wire.NewSet(
	cache.New,
	email.NewEmailRepo,
	storage.NewFileStorage,
	wire.Bind(new(biz.FileStorage), new(*storage.Reloadable)),
)
