sort versions

This commit is contained in:
Lucy Cifferello
2021-09-27 18:11:38 -06:00
committed by Keagan McClelland
parent da240f35ee
commit 538e13bbe0

View File

@@ -276,9 +276,8 @@ getPackageListR = do
query <- T.filter (not . isSpace) . fromMaybe (serviceListQuery defaults) <$> lookupGetParam "query" query <- T.filter (not . isSpace) . fromMaybe (serviceListQuery defaults) <$> lookupGetParam "query"
filteredServices <- runDB $ searchServices category limit' ((page - 1) * limit') query filteredServices <- runDB $ searchServices category limit' ((page - 1) * limit') query
let filteredServices' = sAppAppId . entityVal <$> filteredServices let filteredServices' = sAppAppId . entityVal <$> filteredServices
settings <- getsYesod appSettings settings <- getsYesod appSettings
packageMetadata <- runDB $ fetchPackageMetadata packageMetadata <- runDB $ fetchPackageMetadata
$logInfo $ show packageMetadata
serviceDetailResult <- liftIO serviceDetailResult <- liftIO
$ mapConcurrently (getServiceDetails settings packageMetadata Nothing) filteredServices' $ mapConcurrently (getServiceDetails settings packageMetadata Nothing) filteredServices'
let (_, services) = partitionEithers serviceDetailResult let (_, services) = partitionEithers serviceDetailResult
@@ -348,18 +347,17 @@ getServiceDetails settings metadata maybeVersion appId = do
case eitherDecode $ manifest' of case eitherDecode $ manifest' of
Left e -> pure $ Left $ "Could not parse service manifest for " <> show appId <> ": " <> show e Left e -> pure $ Left $ "Could not parse service manifest for " <> show appId <> ": " <> show e
Right m -> do Right m -> do
d <- liftIO $ mapConcurrently (mapDependencyMetadata domain metadata) d <- liftIO
(HM.toList $ serviceManifestDependencies m) $ mapConcurrently (mapDependencyMetadata domain metadata) (HM.toList $ serviceManifestDependencies m)
pure $ Right $ ServiceRes { serviceResIcon = [i|https://#{domain}/package/icon/#{appId}|] pure $ Right $ ServiceRes { serviceResIcon = [i|https://#{domain}/package/icon/#{appId}|]
, serviceResManifest = decode $ manifest' -- pass through raw JSON Value , serviceResManifest = decode $ manifest' -- pass through raw JSON Value
, serviceResCategories = snd packageMetadata , serviceResCategories = snd packageMetadata
, serviceResInstructions = [i|https://#{domain}/package/instructions/#{appId}|] , serviceResInstructions = [i|https://#{domain}/package/instructions/#{appId}|]
, serviceResLicense = [i|https://#{domain}/package/license/#{appId}|] , serviceResLicense = [i|https://#{domain}/package/license/#{appId}|]
, serviceResVersions = fst packageMetadata , serviceResVersions = sortOn Down $ fst packageMetadata
, serviceResDependencyInfo = HM.fromList $ snd $ partitionEithers d , serviceResDependencyInfo = HM.fromList $ snd $ partitionEithers d
} }
mapDependencyMetadata :: (MonadIO m) mapDependencyMetadata :: (MonadIO m)
=> Text => Text
-> HM.HashMap PkgId ([Version], [CategoryTitle]) -> HM.HashMap PkgId ([Version], [CategoryTitle])