36 lines
577 B
Go
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()
|
|
}
|