X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FStorage%2FImpl.hs;h=b1b05e34ecbeb21abbc1007d5f2522ecf6bda2e7;hb=d6f5dd9adfa8bccc7799396554dfaf80d9522a38;hp=a6d00561498e2e7ca5b74ef2ab5a6ab87485b4b7;hpb=04f57f2ee2e6e696b4bf0bbd8cda51cdc3d7b4a4;p=Rakka.git diff --git a/Rakka/Storage/Impl.hs b/Rakka/Storage/Impl.hs index a6d0056..b1b05e3 100644 --- a/Rakka/Storage/Impl.hs +++ b/Rakka/Storage/Impl.hs @@ -1,5 +1,6 @@ module Rakka.Storage.Impl ( getPage' + , putPage' , startIndexManager ) where @@ -11,6 +12,7 @@ import Control.Monad import Data.Maybe import Data.Set (Set) import qualified Data.Set as S +import Network.HTTP.Lucu import Network.URI import Rakka.Page import Rakka.Storage.DefaultPage @@ -41,6 +43,10 @@ getPage' repos name rev p -> return p +putPage' :: Repository -> Page -> IO StatusCode +putPage' = putPageIntoRepository + + findAllPages :: Repository -> RevNum -> IO (Set PageName) findAllPages _ 0 = findAllDefaultPages findAllPages repos rev = do reposPages <- findAllPagesInRevision repos rev @@ -51,7 +57,9 @@ findAllPages repos rev = do reposPages <- findAllPagesInRevision repos rev findChangedPages :: Repository -> RevNum -> RevNum -> IO (Set PageName) findChangedPages repos 0 newRev = findAllPages repos newRev findChangedPages repos oldRev newRev - = findAllPages repos newRev -- FIXME + = mapM (findChangedPagesAtRevision repos) [oldRev + 1 .. newRev] + >>= + return . S.unions getCurrentRevNum :: Repository -> IO RevNum