feat(router): improve error handling with dedicated error pages
- Add renderErrorPage helper for consistent error rendering - Add ensureUserExistsMiddleware to detect deleted users and redirect to login - Add catch-all 404 handler for unknown routes - Gracefully handle data loading failures with error messages instead of crashing - Log errors for debugging while still rendering pages
This commit is contained in:
@@ -2,6 +2,7 @@ package router
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
|
||||
"bookhoard/templates"
|
||||
|
||||
@@ -19,11 +20,13 @@ func getTemplateUserWithTheme(c echo.Context, cfg *Config) (templates.User, erro
|
||||
|
||||
userUUID, err := uuid.Parse(userID)
|
||||
if err != nil {
|
||||
log.Printf("getTemplateUserWithTheme failed: invalid UUID '%s': %v", userID, err)
|
||||
return templates.User{}, err
|
||||
}
|
||||
|
||||
userDB, err := cfg.Queries.GetUser(c.Request().Context(), uuidToPGType(userUUID))
|
||||
if err != nil {
|
||||
log.Printf("getTemplateUserWithTheme failed: database query error for user ID %s: %v", userID, err)
|
||||
return templates.User{}, err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user