From f6124dc53798d648149aee46ac7420120156afaf Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Fri, 30 Jan 2026 20:55:13 -0500 Subject: [PATCH] Phase 3 Week 7: Fix device auth middleware to set device object - Update device auth middleware to set actual device object - Change from DeviceContext to database.Devices - Fix RequirePermission to use database.Devices - Ensures handlers can access full device information - Required for KOReader sync handlers to function properly --- internal/middleware/device_auth.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/middleware/device_auth.go b/internal/middleware/device_auth.go index ef72b9c..c46e4b3 100644 --- a/internal/middleware/device_auth.go +++ b/internal/middleware/device_auth.go @@ -98,7 +98,8 @@ func (m *DeviceAuthMiddleware) Authenticate(next echo.HandlerFunc) echo.HandlerF AutoSync: device.AutoSync.Bool && device.AutoSync.Valid, } - c.Set("device", ctx) + c.Set("device", device) + c.Set("device_ctx", ctx) c.Set("device_id", device.ID.Bytes) c.Set("user_id", device.UserID.Bytes) @@ -119,7 +120,7 @@ func (m *DeviceAuthMiddleware) getRequestType(path string) string { func (m *DeviceAuthMiddleware) RequirePermission(permission string) echo.MiddlewareFunc { return func(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { - device, ok := c.Get("device").(DeviceContext) + device, ok := c.Get("device").(database.Devices) if !ok { return c.JSON(http.StatusUnauthorized, map[string]string{ "error": "device not authenticated",