From 7dd630dec2da21c57cc6f3d4b989bca4833301d2 Mon Sep 17 00:00:00 2001 From: Hein Date: Wed, 11 Mar 2026 14:37:04 +0200 Subject: [PATCH] fix(handler): set default sort to primary key if none provided --- pkg/resolvespec/handler.go | 5 +++++ pkg/restheadspec/handler.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/pkg/resolvespec/handler.go b/pkg/resolvespec/handler.go index eff8f30..1a7dd18 100644 --- a/pkg/resolvespec/handler.go +++ b/pkg/resolvespec/handler.go @@ -329,6 +329,11 @@ func (h *Handler) handleRead(ctx context.Context, w common.ResponseWriter, id st // Extract model columns for validation modelColumns := reflection.GetModelColumns(model) + // Default sort to primary key when none provided + if len(options.Sort) == 0 { + options.Sort = []common.SortOption{{Column: pkName, Direction: "ASC"}} + } + // Get cursor filter SQL cursorFilter, err := GetCursorFilter(tableName, pkName, modelColumns, options) if err != nil { diff --git a/pkg/restheadspec/handler.go b/pkg/restheadspec/handler.go index d52f6b1..60cc9aa 100644 --- a/pkg/restheadspec/handler.go +++ b/pkg/restheadspec/handler.go @@ -731,6 +731,11 @@ func (h *Handler) handleRead(ctx context.Context, w common.ResponseWriter, id st // For now, pass empty map as joins are handled via Preload } + // Default sort to primary key when none provided + if len(options.Sort) == 0 { + options.Sort = []common.SortOption{{Column: pkName, Direction: "ASC"}} + } + // Get cursor filter SQL cursorFilter, err := options.GetCursorFilter(tableName, pkName, modelColumns, expandJoins) if err != nil {