Files
gerald/cmd/main.go
2024-04-20 16:45:56 +03:00

36 lines
577 B
Go

package main
import (
"gerald/internal/adapters/config"
"gerald/internal/adapters/logger"
"gerald/internal/interfaces/rest"
"gerald/internal/services"
"gerald/repo/pg"
"go.uber.org/fx"
)
func main() {
fx.New(
// COMMON
fx.Provide(config.GetConfig),
fx.Provide(logger.NewLogger),
// SERVICES
fx.Provide(services.NewFeedbackService),
// SERVER
fx.Provide(rest.NewServer),
fx.Invoke(rest.StartHTTPServer),
// DB
fx.Provide(
fx.Annotate(
pg.NewClient,
fx.OnStop(pg.Close),
),
pg.NewDB,
),
fx.Invoke(pg.CreateSchema),
).Run()
}