]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Storage.hs
implemented page deleting
[Rakka.git] / Rakka / Storage.hs
index 63480de03f44fd502136e39621e1da5017b0ae32..d88a336506a23dd162278ec8b69930ab18a46879 100644 (file)
@@ -5,9 +5,11 @@ module Rakka.Storage
 
     , getPage
     , putPage
+    , deletePage
 
     , getPageA
     , putPageA
+    , deletePageA
 
     , searchPages
 
@@ -52,6 +54,13 @@ putPage sto page
                   return st
 
 
+deletePage :: MonadIO m => Storage -> PageName -> m StatusCode
+deletePage sto name
+    = liftIO $ do st <- deletePage' (stoRepository sto) name
+                  syncIndex sto
+                  return st
+
+
 getPageA :: ArrowIO a => Storage -> a (PageName, Maybe RevNum) (Maybe Page)
 getPageA = arrIO2 . getPage 
 
@@ -60,6 +69,10 @@ putPageA :: ArrowIO a => Storage -> a Page StatusCode
 putPageA = arrIO . putPage
 
 
+deletePageA :: ArrowIO a => Storage -> a PageName StatusCode
+deletePageA = arrIO . deletePage
+
+
 searchPages :: MonadIO m => Storage -> Condition -> m [(PageName, RevNum)]
 searchPages sto cond
     = liftIO $