Added newestSnapshot

This commit is contained in:
Konstantin Zudov 2015-10-16 16:40:08 +03:00
parent c3a59798cb
commit b0ec509d9e

View File

@ -4,10 +4,11 @@ module Stackage.Database
, SnapName (..)
, SnapshotId ()
, Snapshot (..)
, newestSnapshot
, newestLTS
, newestLTSMajor
, ltsMajorVersions
, newestNightly
, ltsMajorVersions
, snapshotBefore
, nightlyBefore
, ltsBefore
@ -401,6 +402,11 @@ run inner = do
StackageDatabase pool <- getStackageDatabase
liftIO $ runSqlPool inner pool
newestSnapshot :: GetStackageDatabase m => SnapshotBranch -> m (Maybe SnapName)
newestSnapshot LtsBranch = map (uncurry SNLts) <$> newestLTS
newestSnapshot NightlyBranch = map SNNightly <$> newestNightly
newestSnapshot (LtsMajorBranch x) = map (SNLts x) <$> newestLTSMajor x
newestLTS :: GetStackageDatabase m => m (Maybe (Int, Int))
newestLTS =
run $ liftM (fmap go) $ selectFirst [] [Desc LtsMajor, Desc LtsMinor]