package main import ( "git.kanopo.dev/rhythm/rhythm-backend/internal/config" "git.kanopo.dev/rhythm/rhythm-backend/internal/db" usersdb "git.kanopo.dev/rhythm/rhythm-backend/internal/db/users" "git.kanopo.dev/rhythm/rhythm-backend/internal/http" "git.kanopo.dev/rhythm/rhythm-backend/internal/http/api/auth" "git.kanopo.dev/rhythm/rhythm-backend/internal/http/api/health" "git.kanopo.dev/rhythm/rhythm-backend/internal/logger" "git.kanopo.dev/rhythm/rhythm-backend/internal/service/users" "go.uber.org/fx" "go.uber.org/fx/fxevent" "go.uber.org/zap" "github.com/jackc/pgx/v5/pgxpool" ) func main() { fx.New( fx.Provide( config.Provide, logger.ProvideLogger, db.ProvidePool, func(pool *pgxpool.Pool) usersdb.Querier { return usersdb.New(pool) }, users.NewService, http.NewServer, health.NewHandler, auth.NewHandler, ), fx.Invoke( http.GlueRoutes, ), fx.WithLogger(func(logger *zap.Logger) fxevent.Logger { return &fxevent.ZapLogger{Logger: logger} }), ).Run() }