From b16d5152c73dc08fc61356ed19c8c98155e74c27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Wed, 7 Jun 2023 10:42:56 +0200 Subject: [PATCH] v0.0.140 --- cursortoken/filter.go | 2 +- wmo/queryDelete.go | 6 ++++++ wmo/queryList.go | 12 +++++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cursortoken/filter.go b/cursortoken/filter.go index d750fe1..c091f6c 100644 --- a/cursortoken/filter.go +++ b/cursortoken/filter.go @@ -6,5 +6,5 @@ import ( type Filter interface { FilterQuery() mongo.Pipeline - Pagination() (string, SortDirection, *string, *SortDirection) + Pagination() (string, SortDirection, string, SortDirection) } diff --git a/wmo/queryDelete.go b/wmo/queryDelete.go index 3714835..d4ba699 100644 --- a/wmo/queryDelete.go +++ b/wmo/queryDelete.go @@ -1,5 +1,11 @@ package wmo +import ( + "context" + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/mongo" +) + func (c *Coll[TData]) DeleteOne(ctx context.Context, id EntityID) error { _, err := c.coll.DeleteOne(ctx, bson.M{"_id": id}) if err != nil { diff --git a/wmo/queryList.go b/wmo/queryList.go index 56c4d33..9ff1af9 100644 --- a/wmo/queryList.go +++ b/wmo/queryList.go @@ -13,7 +13,17 @@ func (c *Coll[TData]) List(ctx context.Context, filter ct.Filter, pageSize *int, pipeline := filter.FilterQuery() - sortPrimary, sortDirPrimary, sortSecondary, sortDirSecondary := filter.Pagination() + pf1, pd1, pf2, pd2 := filter.Pagination() + + sortPrimary := pf1 + sortDirPrimary := pd1 + sortSecondary := &pf2 + sortDirSecondary := &pd2 + + if pf1 == pf2 { + sortSecondary = nil + sortDirSecondary = nil + } paginationPipeline, err := CreatePagination(c, inTok, sortPrimary, sortDirPrimary, sortSecondary, sortDirSecondary, pageSize) if err != nil {