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 Data.Time.Format.ISO8601 (iso8601Show)
|
||||
|
||||
|
||||
dataUrl :: (ContentType, ByteString) -> Text
|
||||
@@ -48,6 +50,7 @@ data PackageRes = PackageRes
|
||||
, packageResLicense :: !Text
|
||||
, packageResVersions :: !(NonEmpty Version)
|
||||
, packageResDependencies :: !(HashMap PkgId DependencyRes)
|
||||
, packageResPublishedAt :: !UTCTime
|
||||
}
|
||||
deriving (Show, Generic)
|
||||
|
||||
@@ -66,6 +69,7 @@ instance ApiResponse PackageRes where
|
||||
, "categories" .= packageResCategories
|
||||
, "versions" .= packageResVersions
|
||||
, "dependency-metadata" .= (apiEncode v <$> packageResDependencies)
|
||||
, "published-at" .= (iso8601Show packageResPublishedAt)
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ import Startlude (
|
||||
fromMaybe,
|
||||
headMay,
|
||||
id,
|
||||
liftA2,
|
||||
mappend,
|
||||
maximumOn,
|
||||
nonEmpty,
|
||||
@@ -216,6 +217,8 @@ constructPackageListApiRes PackageMetadata{..} dependencies = do
|
||||
let pkgCategories = packageMetadataPkgCategories
|
||||
let pkgVersions = packageMetadataPkgVersionRecords
|
||||
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 <-
|
||||
flip runReaderT settings $
|
||||
(snd <$> getManifest pkgId pkgVersion) >>= \bs ->
|
||||
@@ -230,6 +233,7 @@ constructPackageListApiRes PackageMetadata{..} dependencies = do
|
||||
, packageResLicense = basicRender $ LicenseR V0 pkgId
|
||||
, packageResVersions = versionRecordNumber <$> pkgVersions
|
||||
, packageResDependencies = dependencies
|
||||
, packageResPublishedAt = ((liftA2 fromMaybe) versionRecordCreatedAt versionRecordUpdatedAt) versionRecord
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user