// Code generated by Wire. DO NOT EDIT.

//go:generate go run github.com/google/wire/cmd/wire
//+build !wireinject

package container

import (
	"workflow_http/infra/conf"
	"workflow_http/infra/dao"
	"workflow_http/infra/database"
	"workflow_http/infra/log"
	"workflow_http/infra/wechat_bot"
	"workflow_http/internal/repo"
	"workflow_http/internal/service/wechat"
	"workflow_http/internal/service/workflow"
)

// Injectors from wire.go:

func GetContainer(path string) *Container {
	config := conf.NewConfig(path)
	db := database.NewMySQL(config)
	idao := dao.NewDao(db)
	bot := wechat_bot.NewBot()
	logLog := log.NewLog(config)
	iRepository := repo.NewRepository(idao, bot, logLog)
	iWechat := wechat.NewWeChat(iRepository, logLog)
	iWorkflow := workflow.NewWorkFlow(iRepository)
	container := NewContainer(iWechat, iWorkflow, config)
	return container
}
