I want to implement depedency injection with google wire in my fiber project this my wire.go
//go:build wireinject
// +build wireinject
package main
import (
"github.com/gofiber/fiber/v2"
"github.com/google/wire"
"github.com/jrpikong/h2h-gofiber/internal/database"
"github.com/jrpikong/h2h-gofiber/internal/handlers"
"github.com/jrpikong/h2h-gofiber/internal/repositories"
"github.com/jrpikong/h2h-gofiber/internal/routes"
"github.com/jrpikong/h2h-gofiber/internal/usecases"
)
func InitializeApp() (*fiber.App, error) {
wire.Build(
database.ConnectDB,
repositories.NewAgentRepositoryImpl,
usecases.NewAgentUsecaseImpl,
handlers.NewAgentHandlerImpl,
fiber.New,
routes.SetupRoutes,
)
return nil, nil
}
and if I run wire I get an error :
jr_pikong@jrpikong:~/Projects/code/github.com/jrpikong/h2h-gofiber/cmd/server$ wire
wire: /home/jr_pikong/Projects/code/github.com/jrpikong/h2h-gofiber/cmd/server/wire_en.go:16:1: inject InitializeApp: no provider found for []github.com/gofiber/fiber/v2.Config
needed by *github.com/gofiber/fiber/v2.App in provider "New" (/home/jr_pikong/go/pkg/mod/github.com/gofiber/fiber/[email protected]/app.go:499:6)
wire: github.com/jrpikong/h2h-gofiber/cmd/server: generate failed
wire: at least one generate failure