ensure we get the timestamp for the version being returned

This commit is contained in:
Lucy Cifferello
2022-08-10 11:50:41 -06:00
parent 8aa78e9831
commit 51d26c8777

View File

@@ -14,6 +14,7 @@ import Data.Conduit.List qualified as CL
import Data.HashMap.Internal.Strict (HashMap) import Data.HashMap.Internal.Strict (HashMap)
import Data.HashMap.Strict qualified as HM import Data.HashMap.Strict qualified as HM
import Data.List (lookup) import Data.List (lookup)
import Data.List.NonEmpty (head)
import Data.List.NonEmpty qualified as NE import Data.List.NonEmpty qualified as NE
import Data.Text qualified as T import Data.Text qualified as T
import Database.Persist.Sql (SqlBackend) import Database.Persist.Sql (SqlBackend)
@@ -63,6 +64,7 @@ import Startlude (
fromMaybe, fromMaybe,
headMay, headMay,
id, id,
liftA2,
mappend, mappend,
maximumOn, maximumOn,
nonEmpty, nonEmpty,
@@ -81,7 +83,6 @@ import Startlude (
(<&>), (<&>),
(<>), (<>),
(=<<), (=<<),
liftA2,
) )
import UnliftIO (Concurrently (..), mapConcurrently) import UnliftIO (Concurrently (..), mapConcurrently)
import Yesod ( import Yesod (
@@ -93,7 +94,6 @@ import Yesod (
sendResponseStatus, sendResponseStatus,
) )
import Yesod.Core (logWarn) import Yesod.Core (logWarn)
import Data.List.NonEmpty (head)
data PackageReq = PackageReq data PackageReq = PackageReq
@@ -218,6 +218,8 @@ constructPackageListApiRes PackageMetadata{..} dependencies = do
let pkgCategories = packageMetadataPkgCategories let pkgCategories = packageMetadataPkgCategories
let pkgVersions = packageMetadataPkgVersionRecords let pkgVersions = packageMetadataPkgVersionRecords
let pkgVersion = packageMetadataPkgVersion let pkgVersion = packageMetadataPkgVersion
-- get the version record for the version being returned - the version will always be in this list ie. it will always be not empty
let versionRecord = NE.head $ NE.fromList $ NE.filter (\v -> versionRecordNumber v == pkgVersion) pkgVersions
manifest <- manifest <-
flip runReaderT settings $ flip runReaderT settings $
(snd <$> getManifest pkgId pkgVersion) >>= \bs -> (snd <$> getManifest pkgId pkgVersion) >>= \bs ->
@@ -232,7 +234,7 @@ constructPackageListApiRes PackageMetadata{..} dependencies = do
, packageResLicense = basicRender $ LicenseR V0 pkgId , packageResLicense = basicRender $ LicenseR V0 pkgId
, packageResVersions = versionRecordNumber <$> pkgVersions , packageResVersions = versionRecordNumber <$> pkgVersions
, packageResDependencies = dependencies , packageResDependencies = dependencies
, packageResPublishedAt = ((liftA2 fromMaybe) versionRecordCreatedAt versionRecordUpdatedAt) (head pkgVersions) , packageResPublishedAt = ((liftA2 fromMaybe) versionRecordCreatedAt versionRecordUpdatedAt) versionRecord
} }