diff --git a/src/Database/Marketplace.hs b/src/Database/Marketplace.hs index 9af6011..6a4320c 100644 --- a/src/Database/Marketplace.hs +++ b/src/Database/Marketplace.hs @@ -103,7 +103,12 @@ searchServices Nothing query = selectSource $ do ||. (service ^. VersionRecordDescLong `ilike` (%) ++. val query ++. (%)) ||. (service ^. VersionRecordTitle `ilike` (%) ++. val query ++. (%)) ) - orderBy [desc (service ^. VersionRecordUpdatedAt)] + groupBy (service ^. VersionRecordPkgId, service ^. VersionRecordNumber) + orderBy + [ asc (service ^. VersionRecordPkgId) + , desc (service ^. VersionRecordNumber) + , desc (service ^. VersionRecordUpdatedAt) + ] pure service searchServices (Just category) query = selectSource $ do services <- from