refactor: [shitty claude AI first try] restructure server and user services, add new test cases, and improve error handling

This commit is contained in:
2025-08-10 21:40:15 +03:00
parent 588576b82f
commit f503e45be1
23 changed files with 2568 additions and 134 deletions

View File

@ -1,57 +1,29 @@
package main
import (
"context"
"log"
"strconv"
"git.logidex.ru/fakz9/logidex-id/internal/api/auth"
"git.logidex.ru/fakz9/logidex-id/internal/api/user"
"git.logidex.ru/fakz9/logidex-id/internal/config"
"git.logidex.ru/fakz9/logidex-id/internal/db"
"git.logidex.ru/fakz9/logidex-id/internal/hydra_client"
"git.logidex.ru/fakz9/logidex-id/internal/redis"
"github.com/gofiber/fiber/v2"
"git.logidex.ru/fakz9/logidex-id/internal/server"
"go.uber.org/fx"
)
func NewFiberApp(cfg config.Config) *fiber.App {
app := fiber.New()
return app
}
func StartFiberApp(lifecycle fx.Lifecycle, app *fiber.App, cfg config.Config) {
lifecycle.Append(fx.Hook{
OnStart: func(ctx context.Context) error {
go func() {
if err := app.Listen(":" + strconv.Itoa(cfg.App.Port)); err != nil {
log.Fatal(err)
}
}()
return nil
},
OnStop: func(ctx context.Context) error {
return app.Shutdown()
},
})
}
func NewFiberRouter(app *fiber.App) fiber.Router {
return app.Group("/api")
}
func main() {
fx.New(
// Core dependencies
fx.Provide(
config.NewConfig,
redis.NewRedisClient,
hydra_client.NewHydraClient,
NewFiberApp,
NewFiberRouter,
),
// Modules
db.Module,
server.Module,
user.Module,
auth.Module,
fx.Invoke(StartFiberApp),
).Run()
}