//go:build wireinject // +build wireinject package wire import ( "context" "opencatd-open/internal/channel" "opencatd-open/internal/controller/proxy" "opencatd-open/internal/dao" "opencatd-open/pkg/config" "sync" "github.com/google/wire" "gorm.io/gorm" ) var daoSet = wire.NewSet( dao.NewUserDAO, dao.NewApiKeyDAO, dao.NewTokenDAO, dao.NewUsageDAO, dao.NewDailyUsageDAO, dao.NewChannelDAO, dao.NewModelDAO, ) var channelSet = wire.NewSet( channel.NewService, channel.NewHealthChecker, ) func InitProxyHandler(ctx context.Context, cfg *config.Config, db *gorm.DB, wg *sync.WaitGroup) (*proxy.Proxy, error) { wire.Build(daoSet, channelSet, proxy.NewProxy) return nil, nil }