Combine three transactions into a single one

This commit is contained in:
Sibi Prabakaran 2020-07-23 11:28:10 +05:30
parent e16fb64620
commit a960196e02
No known key found for this signature in database
GPG Key ID: D19E3E0EBB557613

View File

@ -86,14 +86,16 @@ packagePage mspi pname =
handlePackage :: Either HackageCabalInfo SnapshotPackageInfo -> Handler Html handlePackage :: Either HackageCabalInfo SnapshotPackageInfo -> Handler Html
handlePackage epi = do handlePackage epi = do
(isDeprecated, inFavourOf) <- getDeprecated pname (isDeprecated, inFavourOf, snapInfo, PackageInfo{..}) <- run $ do
(msppi, mhciLatest) <- (isDeprecated, inFavourOf) <- getDeprecatedQuery pname
case epi of snapInfo <- case epi of
Right spi -> do Right spi -> Right <$> getSnapshotPackagePageInfoQuery spi maxDisplayedDeps
sppi <- getSnapshotPackagePageInfo spi maxDisplayedDeps Left hci -> pure $ Left hci
return (Just sppi, sppiLatestHackageCabalInfo sppi) pinfo <- getPackageInfoQuery epi
Left hci -> pure (Nothing, Just hci) pure (isDeprecated, inFavourOf, snapInfo, pinfo)
PackageInfo {..} <- getPackageInfo epi (msppi, mhciLatest) <- case snapInfo of
Left hci -> pure (Nothing, Just hci)
Right sppi -> pure (Just sppi, sppiLatestHackageCabalInfo sppi)
let authors = enumerate piAuthors let authors = enumerate piAuthors
maintainers = maintainers =
let ms = enumerate piMaintainers let ms = enumerate piMaintainers