Add /api/v1/snapshot

This commit is contained in:
Bryan Richter 2025-06-17 16:23:45 +03:00
parent ba3aa93423
commit a2cc25d6f0
No known key found for this signature in database
GPG Key ID: B202264020068BFB
2 changed files with 9 additions and 0 deletions

View File

@ -13,6 +13,8 @@
/snapshot/#Text/*Texts OldSnapshotR GET
/api/v1/snapshot/#SnapName ApiV1SnapshotR GET
!/#SnapName SnapshotR:
/ StackageHomeR GET
/cabal.config StackageCabalConfigR GET

View File

@ -6,6 +6,7 @@
{-# LANGUAGE ViewPatterns #-}
module Handler.StackageHome
( getStackageHomeR
, getApiV1SnapshotR
, getStackageDiffR
, getStackageCabalConfigR
, getDocsR
@ -19,6 +20,12 @@ import Import
import Stackage.Database
import Stackage.Snapshot.Diff
getApiV1SnapshotR :: SnapName -> Handler Value
getApiV1SnapshotR name = track "Handler.StackageHome.getApiV1SnapshotR" $ do
Entity sid snapshot <- lookupSnapshot name >>= maybe notFound return
packages <- getPackagesForSnapshot sid
pure $ toJSON $ SnapshotInfo snapshot packages
getStackageHomeR :: SnapName -> Handler TypedContent
getStackageHomeR name =
track "Handler.StackageHome.getStackageHomeR" $ do