mirror of
https://github.com/Start9Labs/registry.git
synced 2026-03-26 02:11:53 +00:00
add published-at to registry response (#120)
* add published-at to registry response * ensure we get the timestamp for the version being returned * cleaup import Co-authored-by: Lucy Cifferello <12953208+elvece@users.noreply.github.com>
This commit is contained in:
@@ -25,8 +25,10 @@ import Startlude (
|
|||||||
(&),
|
(&),
|
||||||
(.),
|
(.),
|
||||||
(<$>),
|
(<$>),
|
||||||
|
UTCTime,
|
||||||
)
|
)
|
||||||
import Yesod
|
import Yesod
|
||||||
|
import Data.Time.Format.ISO8601 (iso8601Show)
|
||||||
|
|
||||||
|
|
||||||
dataUrl :: (ContentType, ByteString) -> Text
|
dataUrl :: (ContentType, ByteString) -> Text
|
||||||
@@ -48,6 +50,7 @@ data PackageRes = PackageRes
|
|||||||
, packageResLicense :: !Text
|
, packageResLicense :: !Text
|
||||||
, packageResVersions :: !(NonEmpty Version)
|
, packageResVersions :: !(NonEmpty Version)
|
||||||
, packageResDependencies :: !(HashMap PkgId DependencyRes)
|
, packageResDependencies :: !(HashMap PkgId DependencyRes)
|
||||||
|
, packageResPublishedAt :: !UTCTime
|
||||||
}
|
}
|
||||||
deriving (Show, Generic)
|
deriving (Show, Generic)
|
||||||
|
|
||||||
@@ -66,6 +69,7 @@ instance ApiResponse PackageRes where
|
|||||||
, "categories" .= packageResCategories
|
, "categories" .= packageResCategories
|
||||||
, "versions" .= packageResVersions
|
, "versions" .= packageResVersions
|
||||||
, "dependency-metadata" .= (apiEncode v <$> packageResDependencies)
|
, "dependency-metadata" .= (apiEncode v <$> packageResDependencies)
|
||||||
|
, "published-at" .= (iso8601Show packageResPublishedAt)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ import Startlude (
|
|||||||
fromMaybe,
|
fromMaybe,
|
||||||
headMay,
|
headMay,
|
||||||
id,
|
id,
|
||||||
|
liftA2,
|
||||||
mappend,
|
mappend,
|
||||||
maximumOn,
|
maximumOn,
|
||||||
nonEmpty,
|
nonEmpty,
|
||||||
@@ -216,6 +217,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 ->
|
||||||
@@ -230,6 +233,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) versionRecord
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user