2026-04-21 09:59:37 +02:00

41 lines
1.0 KiB
Go

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()
}