Boost Azure Demo
This commit is contained in:
16
Backend/internal/router/api.go
Normal file
16
Backend/internal/router/api.go
Normal 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)
|
||||
}
|
||||
24
Backend/internal/router/router.go
Normal file
24
Backend/internal/router/router.go
Normal 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",
|
||||
})
|
||||
})
|
||||
}
|
||||
32
Backend/internal/router/web.go
Normal file
32
Backend/internal/router/web.go
Normal 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)
|
||||
}
|
||||
Reference in New Issue
Block a user