Merge pull request #230 from psibi/snapshot-api

Expose JSON Snapshot Api
This commit is contained in:
Michael Snoyman 2017-07-06 14:38:43 +03:00 committed by GitHub
commit 185a263ba7
2 changed files with 7 additions and 3 deletions

View File

@ -16,7 +16,7 @@ snapshotsPerPage = 50
-- The majority of the code you will write in Yesod lives in these handler -- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so -- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file. -- inclined, or create a single monolithic file.
getAllSnapshotsR :: Handler Html getAllSnapshotsR :: Handler TypedContent
getAllSnapshotsR = track "Handler.Snapshots.getAllSnapshotsR" $ do getAllSnapshotsR = track "Handler.Snapshots.getAllSnapshotsR" $ do
now' <- liftIO getCurrentTime now' <- liftIO getCurrentTime
currentPageMay <- lookupGetParam "page" currentPageMay <- lookupGetParam "page"
@ -31,10 +31,14 @@ getAllSnapshotsR = track "Handler.Snapshots.getAllSnapshotsR" $ do
let isFirstPage = currentPage == 1 let isFirstPage = currentPage == 1
isLastPage = currentPage * snapshotsPerPage >= totalCount isLastPage = currentPage * snapshotsPerPage >= totalCount
defaultLayout $ do selectRep $ do
provideRep $ defaultLayout $ do
setTitle "Stackage Server" setTitle "Stackage Server"
let snapshotsNav = $(widgetFile "snapshots-nav") let snapshotsNav = $(widgetFile "snapshots-nav")
$(widgetFile "all-snapshots") $(widgetFile "all-snapshots")
provideRep $ return $ object ["snapshots" .= groups, "totalCount" .= totalCount]
where uncrapify now' snapshot = where uncrapify now' snapshot =
( snapshotName snapshot ( snapshotName snapshot
, snapshotTitle snapshot , snapshotTitle snapshot

View File

@ -15,4 +15,4 @@ generated by the `stackage-server-cron` executable in this repository.
You can run this site with `yesod devel`, e.g.: You can run this site with `yesod devel`, e.g.:
stack --install-ghc install yesod-bin stack --install-ghc install yesod-bin
yesod devel stack exec -- yesod devel