module Rakka.Storage.Impl
( getPage'
+ , putPage'
+ , deletePage'
, startIndexManager
)
where
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
p -> return p
+putPage' :: Repository -> Page -> IO StatusCode
+putPage' = putPageIntoRepository
+
+
+deletePage' :: Repository -> PageName -> IO StatusCode
+deletePage' = deletePageFromRepository
+
+
findAllPages :: Repository -> RevNum -> IO (Set PageName)
findAllPages _ 0 = findAllDefaultPages
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