Boost Azure Demo

This commit is contained in:
MangoPig
2026-05-25 17:05:06 +01:00
parent 675285e99d
commit 4f79137d89
230 changed files with 43275 additions and 2644 deletions

View File

@@ -0,0 +1,16 @@
package router
import (
"boostai-backend/internal/config"
"boostai-backend/internal/database"
"boostai-backend/internal/handlers/api"
authmw "boostai-backend/internal/middleware"
"github.com/gofiber/fiber/v2"
)
func registerAPIRoutes(app *fiber.App, cfg *config.Config, db *database.DB, authMiddleware *authmw.AuthMiddleware) {
apiHandler := api.NewHandler(db, cfg)
apiGroup := app.Group("", authMiddleware.RequireAuth())
apiHandler.Register(apiGroup, authMiddleware)
}

View File

@@ -0,0 +1,24 @@
// Path: Backend/internal/router/router.go
package router
import (
"boostai-backend/internal/config"
"boostai-backend/internal/database"
"github.com/gofiber/fiber/v2"
)
func Setup(app *fiber.App, cfg *config.Config, db *database.DB) {
authMiddleware := buildAuthMiddleware(cfg)
registerWebRoutes(app, cfg, db, authMiddleware)
registerAPIRoutes(app, cfg, db, authMiddleware)
app.Use(func(c *fiber.Ctx) error {
return c.Status(fiber.StatusNotFound).JSON(fiber.Map{
"error": "not_found",
"message": "The requested endpoint does not exist",
})
})
}

View File

@@ -0,0 +1,32 @@
package router
import (
"boostai-backend/internal/config"
"boostai-backend/internal/database"
webAuth "boostai-backend/internal/handlers/web/auth"
"boostai-backend/internal/handlers/web/health"
"boostai-backend/internal/handlers/web/root"
authmw "boostai-backend/internal/middleware"
"github.com/gofiber/fiber/v2"
)
func buildAuthMiddleware(cfg *config.Config) *authmw.AuthMiddleware {
return authmw.NewAuthMiddleware(cfg)
}
func registerWebRoutes(app *fiber.App, cfg *config.Config, db *database.DB, authMiddleware *authmw.AuthMiddleware) {
rootHandler := root.NewHandler()
healthHandler := health.NewHandler(cfg.Environment, db)
authHandler := webAuth.NewHandler(cfg, db, authMiddleware)
app.Get("/", rootHandler.Index)
app.Get("/health", healthHandler.Check)
authGroup := app.Group("/auth")
authGroup.Post("/register", authHandler.RegisterUser)
authGroup.Post("/login", authHandler.Login)
authGroup.Get("/me", authMiddleware.RequireAuth(), authHandler.Me)
authGroup.Patch("/me", authMiddleware.RequireAuth(), authHandler.UpdateMe)
authGroup.Post("/logout", authMiddleware.RequireAuth(), authHandler.Logout)
}