//go:build wireinject
// +build wireinject

// The build tag makes sure the stub is not built in the final build.

package main

import (
	"center-api/internal/biz"
	"center-api/internal/conf"
	"center-api/internal/data"
	"center-api/internal/data/repositoryimpl"
	"center-api/internal/pkg"
	log2 "center-api/internal/pkg/log"
	"center-api/internal/server"
	"center-api/internal/service"
	"github.com/go-kratos/kratos/v2"
	"github.com/go-kratos/kratos/v2/log"
	"github.com/google/wire"
)

// wireApp init kratos application.
func wireApp(*conf.Bootstrap, log.Logger, *log2.AccessLogger) (*kratos.App, func(), error) {
	panic(wire.Build(
		server.ProviderSetServer,
		biz.ProviderSetBiz,
		repositoryimpl.ProviderRepositoryImpl,
		service.ProviderSetService,
		data.ProviderSetData,

		pkg.NewLogHelper,
		newApp,
	))
}
