From d6278da0d6c21bc7596f3a5c586715c5790a3a45 Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Thu, 20 Nov 2025 17:57:49 +0100 Subject: [PATCH] Fix cursorkey json serialization Signed-off-by: Bryan Frimin --- pkg/page/cursor_key.go | 40 +++++++--------------------------------- 1 file changed, 7 insertions(+), 33 deletions(-) diff --git a/pkg/page/cursor_key.go b/pkg/page/cursor_key.go index 883837cfd..6b2ec4265 100644 --- a/pkg/page/cursor_key.go +++ b/pkg/page/cursor_key.go @@ -149,47 +149,21 @@ func (ck *CursorKey) UnmarshalBinary(data []byte) error { } func (ck CursorKey) MarshalJSON() ([]byte, error) { - arr := []any{ck.ID.String(), ck.Value} - return json.Marshal(arr) + return json.Marshal(ck.String()) } func (ck *CursorKey) UnmarshalJSON(data []byte) error { - var arr []json.RawMessage - if err := json.Unmarshal(data, &arr); err != nil { - var s string - if err := json.Unmarshal(data, &s); err != nil { - return err - } - - parsed, err := ParseCursorKey(s) - if err != nil { - return err - } - - *ck = parsed - return nil + var s string + if err := json.Unmarshal(data, &s); err != nil { + return err } - if len(arr) != 2 { - return ErrInvalidFormat - } - - var idStr string - if err := json.Unmarshal(arr[0], &idStr); err != nil { - return ErrInvalidFormat - } - - id, err := gid.ParseGID(idStr) + parsed, err := ParseCursorKey(s) if err != nil { - return ErrInvalidFormat + return err } - var value any - if err := json.Unmarshal(arr[1], &value); err != nil { - return ErrInvalidFormat - } + *ck = parsed - ck.ID = id - ck.Value = value return nil }