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 (..) , SnapName (..)
, SnapshotId () , SnapshotId ()
, Snapshot (..) , Snapshot (..)
, newestSnapshot
, newestLTS , newestLTS
, newestLTSMajor , newestLTSMajor
, ltsMajorVersions
, newestNightly , newestNightly
, ltsMajorVersions
, snapshotBefore , snapshotBefore
, nightlyBefore , nightlyBefore
, ltsBefore , ltsBefore
@ -401,6 +402,11 @@ run inner = do
StackageDatabase pool <- getStackageDatabase StackageDatabase pool <- getStackageDatabase
liftIO $ runSqlPool inner pool 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 :: GetStackageDatabase m => m (Maybe (Int, Int))
newestLTS = newestLTS =
run $ liftM (fmap go) $ selectFirst [] [Desc LtsMajor, Desc LtsMinor] run $ liftM (fmap go) $ selectFirst [] [Desc LtsMajor, Desc LtsMinor]