From c33273b36d3d69867f15ed5dd602adbdff8d6fb9 Mon Sep 17 00:00:00 2001 From: Howard Yin <37261065+yindaheng98@users.noreply.github.com> Date: Fri, 8 May 2026 19:59:19 -0700 Subject: [PATCH] fix: implement orderby create_at api (#3437) --- inventory/file_utils.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/inventory/file_utils.go b/inventory/file_utils.go index b0b04264..364dd716 100644 --- a/inventory/file_utils.go +++ b/inventory/file_utils.go @@ -383,6 +383,8 @@ func getFileOrderOption(args *ListFileParameters) []file.OrderOption { return []file.OrderOption{file.ByName(orderTerm), file.ByID(orderTerm)} case file.FieldSize: return []file.OrderOption{file.BySize(orderTerm), file.ByID(orderTerm)} + case file.FieldCreatedAt: + return []file.OrderOption{file.ByCreatedAt(orderTerm), file.ByID(orderTerm)} case file.FieldUpdatedAt: return []file.OrderOption{file.ByUpdatedAt(orderTerm), file.ByID(orderTerm)} default: @@ -435,10 +437,16 @@ var fileCursorQuery = map[string]map[bool]func(token *PageToken) predicate.File{ }, file.FieldCreatedAt: { true: func(token *PageToken) predicate.File { - return file.IDLT(token.ID) + return file.Or( + file.CreatedAtLT(*token.Time), + file.And(file.CreatedAt(*token.Time), file.IDLT(token.ID)), + ) }, false: func(token *PageToken) predicate.File { - return file.IDGT(token.ID) + return file.Or( + file.CreatedAtGT(*token.Time), + file.And(file.CreatedAt(*token.Time), file.IDGT(token.ID)), + ) }, }, file.FieldUpdatedAt: { @@ -502,6 +510,8 @@ func getFileNextPageToken(hasher hashid.Encoder, last *ent.File, args *ListFileP switch args.OrderBy { case file.FieldName: token.String = last.Name + case file.FieldCreatedAt: + token.Time = &last.CreatedAt case file.FieldSize: token.Int = int(last.Size) case file.FieldUpdatedAt: