refactor(handlers): update all handlers for Echo v5 compatibility
Update all handler functions to use *echo.Context (pointer) instead of echo.Context (value) as required by Echo v5. Changes across all handler files: - analytics.go: Update handler signatures - auth.go: Update authentication handler signatures - book_matching.go: Update matching handler signatures - collections.go: Update collection handler signatures - collections_preview_test.go: Update test signatures - commonhandlers.go: Update common handler signatures - conflicts.go: Update conflict handler signatures - context.go: Update context handler signatures - dashboard.go: Update dashboard handler signatures - devices.go: Update device handler signatures - jobs.go: Update job handler signatures - kobo.go: Update Kobo handler signatures - koreader.go: Update Koreader handler signatures - library.go: Update library handler signatures - matching.go: Update matching handler signatures - media.go: Update media handler signatures - opds.go: Update OPDS handler signatures - progress.go: Update progress handler signatures - queue.go: Update queue handler signatures - refresh_token.go: Update token handler signatures - scanner.go: Update scanner handler signatures - sidecar.go: Update sidecar handler signatures - sync.go: Update sync handler signatures - system_settings.go: Update settings handler signatures - websocket.go: Update WebSocket handler signatures All handlers now properly implement Echo v5's pointer-based context pattern. This change is necessary for type safety and compatibility with Echo v5's improved context handling and WebSocket support.
This commit is contained in:
@@ -4,12 +4,12 @@ import (
|
||||
"bookhoard/internal/database"
|
||||
"net/http"
|
||||
|
||||
"github.com/labstack/echo/v4"
|
||||
"github.com/labstack/echo/v5"
|
||||
)
|
||||
|
||||
// GetAuthenticatedUser safely retrieves the authenticated user from context
|
||||
// Returns an error if the user is not found in context or type assertion fails
|
||||
func GetAuthenticatedUser(c echo.Context) (database.Users, error) {
|
||||
func GetAuthenticatedUser(c *echo.Context) (database.Users, error) {
|
||||
user, ok := c.Get("user").(database.Users)
|
||||
if !ok {
|
||||
return database.Users{}, echo.NewHTTPError(http.StatusInternalServerError, "authentication context error")
|
||||
@@ -20,7 +20,7 @@ func GetAuthenticatedUser(c echo.Context) (database.Users, error) {
|
||||
// MustGetAuthenticatedUser gets user or panics
|
||||
// Only use this after authentication middleware has verified the user
|
||||
// Panicking here indicates a serious bug in the middleware chain
|
||||
func MustGetAuthenticatedUser(c echo.Context) database.Users {
|
||||
func MustGetAuthenticatedUser(c *echo.Context) database.Users {
|
||||
user, err := GetAuthenticatedUser(c)
|
||||
if err != nil {
|
||||
panic(err) // Should never happen if authentication middleware is working correctly
|
||||
|
||||
Reference in New Issue
Block a user