2024-12-05 20:36:58 -05:00
|
|
|
// Package gateway provides the default routes for the Sonr hway.
|
2024-12-02 14:27:18 -05:00
|
|
|
package gateway
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/labstack/echo/v4"
|
2024-12-10 12:52:19 -05:00
|
|
|
"github.com/onsonr/sonr/internal/gateway/config"
|
|
|
|
|
"github.com/onsonr/sonr/internal/gateway/database"
|
2024-12-10 13:12:08 -05:00
|
|
|
"github.com/onsonr/sonr/internal/gateway/handlers/index"
|
|
|
|
|
"github.com/onsonr/sonr/internal/gateway/handlers/register"
|
2024-12-10 12:52:19 -05:00
|
|
|
"github.com/onsonr/sonr/internal/gateway/session"
|
2024-12-05 20:36:58 -05:00
|
|
|
"github.com/onsonr/sonr/pkg/common/response"
|
2024-12-02 14:27:18 -05:00
|
|
|
)
|
|
|
|
|
|
2024-12-06 21:31:20 -05:00
|
|
|
func RegisterRoutes(e *echo.Echo, env config.Env) error {
|
2024-12-02 14:27:18 -05:00
|
|
|
// Custom error handler for gateway
|
2024-12-05 20:36:58 -05:00
|
|
|
e.HTTPErrorHandler = response.RedirectOnError("http://localhost:3000")
|
|
|
|
|
|
2024-12-06 21:31:20 -05:00
|
|
|
// Initialize database
|
|
|
|
|
db, err := database.InitDB(env)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Inject session middleware with database connection
|
2024-12-09 16:23:18 -05:00
|
|
|
e.Use(session.Middleware(db, env))
|
2024-12-06 21:31:20 -05:00
|
|
|
|
2024-12-05 20:36:58 -05:00
|
|
|
// Register routes
|
2024-12-10 13:12:08 -05:00
|
|
|
e.GET("/", index.Handler)
|
|
|
|
|
e.GET("/register", register.HandleCreateProfile)
|
|
|
|
|
e.POST("/register/start", register.HandlePasskeyStart)
|
|
|
|
|
e.POST("/register/finish", register.HandlePasskeyFinish)
|
2024-12-06 21:31:20 -05:00
|
|
|
return nil
|
2024-12-02 14:27:18 -05:00
|
|
|
}
|