From 7fcfb40d2e888ea7a540876c9f5c7a5d0fa5d775 Mon Sep 17 00:00:00 2001 From: Vivek Patel Date: Wed, 19 Apr 2023 17:56:31 +0530 Subject: [PATCH] Fix issue with session list It fixes issue of sorting and pagination for the status column due to Its stringify interpretation. --- server/automation/rest/session.go | 8 ++++++++ server/pkg/filter/pagination.go | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/server/automation/rest/session.go b/server/automation/rest/session.go index 6f0e7b252..29982b396 100644 --- a/server/automation/rest/session.go +++ b/server/automation/rest/session.go @@ -67,6 +67,14 @@ func (ctrl Session) List(ctx context.Context, r *request.SessionList) (interface return nil, err } + // fixes issue with sorting of status column and pagination + // need to improve on cursor for this + if f.Paging.PageCursor != nil { + for _, status := range r.Status { + f.Paging.PageCursor.Set("status", status, false) + } + } + f.IncTotal = r.IncTotal if f.Sorting, err = filter.NewSorting(r.Sort); err != nil { diff --git a/server/pkg/filter/pagination.go b/server/pkg/filter/pagination.go index 512b3ef15..473d5b3a8 100644 --- a/server/pkg/filter/pagination.go +++ b/server/pkg/filter/pagination.go @@ -252,7 +252,7 @@ func (p *PagingCursor) UnmarshalJSON(in []byte) error { } } - if err := json.Unmarshal(in, &aux); err != nil { + if err = json.Unmarshal(in, &aux); err != nil { return err } @@ -287,10 +287,10 @@ func (p *PagingCursor) Decode(cursor string) error { } // Sort returns: -// - sort if cursor is nil -// - sort from cursor when sort is empty -// - sort from cursor when sort is compatible with cursor -// - error if sort & cursor are incompatible +// - sort if cursor is nil +// - sort from cursor when sort is empty +// - sort from cursor when sort is compatible with cursor +// - error if sort & cursor are incompatible func (p *PagingCursor) Sort(sort SortExprSet) (SortExprSet, error) { if p == nil { return sort, nil