//go:build wireinject // +build wireinject package wire import ( "city_chips/internal/handler" "city_chips/internal/repository" "city_chips/internal/server" "city_chips/internal/service" "city_chips/pkg/log" "github.com/gin-gonic/gin" "github.com/google/wire" "github.com/spf13/viper" ) var ServerSet = wire.NewSet(server.NewServerHTTP) var RepositorySet = wire.NewSet( repository.NewDb, repository.NewRedis, repository.NewRepository, repository.NewUserRepository, repository.NewAccessControlRepository, repository.NewHikvisionRepository, ) var ServiceSet = wire.NewSet( service.NewService, service.NewUserService, service.NewAccessControlService, service.NewHikvisionService, ) var HandlerSet = wire.NewSet( handler.NewHandler, handler.NewUserHandler, handler.NewAccessControlHandler, handler.NewHikvisionHandler, ) func NewWire(*viper.Viper, *log.Logger) (*gin.Engine, func(), error) { panic(wire.Build( ServerSet, RepositorySet, ServiceSet, HandlerSet, )) }