Files
YouduWiki/backend/cmd/api/wire.go
2026-05-21 19:52:45 +08:00

40 lines
803 B
Go

//go:build wireinject
package main
import (
"github.com/google/wire"
"github.com/chaitin/panda-wiki/config"
share "github.com/chaitin/panda-wiki/handler/share"
v1 "github.com/chaitin/panda-wiki/handler/v1"
"github.com/chaitin/panda-wiki/log"
"github.com/chaitin/panda-wiki/server/http"
"github.com/chaitin/panda-wiki/telemetry"
)
func createApp() (*App, error) {
wire.Build(
wire.Struct(new(App), "*"),
wire.NewSet(
config.ProviderSet,
log.ProviderSet,
telemetry.ProviderSet,
http.ProviderSet,
v1.ProviderSet,
share.ProviderSet,
),
)
return &App{}, nil
}
type App struct {
HTTPServer *http.HTTPServer
Handlers *v1.APIHandlers
ShareHandlers *share.ShareHandler
Config *config.Config
Logger *log.Logger
Telemetry *telemetry.Client
}