diff --git a/internal/handlers/media.go b/internal/handlers/media.go index 536ce30..653c062 100644 --- a/internal/handlers/media.go +++ b/internal/handlers/media.go @@ -933,13 +933,25 @@ func (mh *MediaHandler) UpdateMediaReadingProgress(c *echo.Context) error { return c.JSON(http.StatusBadRequest, map[string]string{"error": err.Error()}) } - progress, err := mh.db.UpdateReadingProgress(c.Request().Context(), database.UpdateReadingProgressParams{ - MediaItemID: pgtype.UUID{Bytes: mediaUUID, Valid: true}, - UserID: pgtype.UUID{Bytes: userUUID, Valid: true}, - CurrentPage: pgtype.Int4{Int32: req.CurrentPage, Valid: true}, - TotalPages: pgtype.Int4{Int32: req.TotalPages, Valid: req.TotalPages > 0}, - Epubcfi: req.Epubcfi, - Percentage: req.Percentage, + progress, err := mh.db.UpdateUniversalProgress(c.Request().Context(), database.UpdateUniversalProgressParams{ + MediaItemID: pgtype.UUID{Bytes: mediaUUID, Valid: true}, + UserID: pgtype.UUID{Bytes: userUUID, Valid: true}, + Percentage: pgtype.Float8{Float64: req.Percentage, Valid: true}, + CharacterOffset: pgtype.Int8{Valid: false}, + Epubcfi: pgtype.Text{String: req.Epubcfi, Valid: req.Epubcfi != ""}, + Chapter: pgtype.Int4{Valid: false}, + ChapterProgress: pgtype.Float8{Valid: false}, + ViewportX: pgtype.Float8{Valid: false}, + ViewportY: pgtype.Float8{Valid: false}, + ZoomLevel: pgtype.Float8{Valid: false}, + ScrollPositionX: pgtype.Float8{Valid: false}, + ScrollPositionY: pgtype.Float8{Valid: false}, + PanelNumber: pgtype.Int4{Valid: false}, + ReadingMode: pgtype.Text{Valid: false}, + LastSyncDevice: pgtype.Text{String: "web", Valid: true}, + LastSyncSource: pgtype.Text{String: "web", Valid: true}, + CurrentPage: pgtype.Int4{Int32: req.CurrentPage, Valid: true}, + TotalPages: pgtype.Int4{Int32: req.TotalPages, Valid: req.TotalPages > 0}, }) if err != nil { return c.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()})