, putPageA
, deletePageA
+ , getDirContents
+ , getDirContentsA
+
, searchPages
, rebuildIndex
getPage = ((liftIO .) .) . getPage' . stoRepository
-putPage :: MonadIO m => Storage -> Page -> m StatusCode
-putPage sto page
- = liftIO $ do st <- putPage' (stoRepository sto) page
+putPage :: MonadIO m => Storage -> Maybe String -> Page -> m StatusCode
+putPage sto userID page
+ = liftIO $ do st <- putPage' (stoRepository sto) userID page
syncIndex sto
return st
-deletePage :: MonadIO m => Storage -> PageName -> m StatusCode
-deletePage sto name
- = liftIO $ do st <- deletePage' (stoRepository sto) name
+deletePage :: MonadIO m => Storage -> Maybe String -> PageName -> m StatusCode
+deletePage sto userID name
+ = liftIO $ do st <- deletePage' (stoRepository sto) userID name
syncIndex sto
return st
getPageA = arrIO2 . getPage
-putPageA :: ArrowIO a => Storage -> a Page StatusCode
-putPageA = arrIO . putPage
+putPageA :: ArrowIO a => Storage -> a (Maybe String, Page) StatusCode
+putPageA = arrIO2 . putPage
+
+
+deletePageA :: ArrowIO a => Storage -> a (Maybe String, PageName) StatusCode
+deletePageA = arrIO2 . deletePage
+
+
+getDirContents :: MonadIO m => Storage -> PageName -> Maybe RevNum -> m [PageName]
+getDirContents = ((liftIO .) .) . getDirContents' . stoRepository
-deletePageA :: ArrowIO a => Storage -> a PageName StatusCode
-deletePageA = arrIO . deletePage
+getDirContentsA :: ArrowIO a => Storage -> a (PageName, Maybe RevNum) [PageName]
+getDirContentsA = arrIO2 . getDirContents
searchPages :: MonadIO m => Storage -> Condition -> m [(PageName, RevNum)]