]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Storage/Impl.hs
preparation for feed generation
[Rakka.git] / Rakka / Storage / Impl.hs
index d6d53a4f517d8fdae02fe2deec3e8e5c8b7467cb..3b48f0c10150c50c5550664cd5d9c47df81669ed 100644 (file)
@@ -2,6 +2,7 @@ module Rakka.Storage.Impl
     ( getPage'
     , putPage'
     , deletePage'
+    , getDirContents'
     , startIndexManager
     )
     where
@@ -40,11 +41,11 @@ getPage' repos name rev
            p       -> return p
 
 
-putPage' :: Repository -> Page -> IO StatusCode
+putPage' :: Repository -> Maybe String -> Page -> IO StatusCode
 putPage' = putPageIntoRepository
 
 
-deletePage' :: Repository -> PageName -> IO StatusCode
+deletePage' :: Repository -> Maybe String -> PageName -> IO StatusCode
 deletePage' = deletePageFromRepository
 
 
@@ -63,6 +64,13 @@ findChangedPages repos oldRev newRev
       return . S.unions
 
 
+getDirContents' :: Repository -> PageName -> Maybe RevNum -> IO [PageName]
+getDirContents' repos name rev
+    = do reposPages   <- getDirContentsInRevision repos name rev
+         defaultPages <- getDefaultDirContents name
+         return $ S.toList (reposPages `S.union` defaultPages)
+
+
 getCurrentRevNum :: Repository -> IO RevNum
 getCurrentRevNum repos
     = getRepositoryFS repos >>= getYoungestRev
@@ -123,6 +131,7 @@ openIndex indexDir revFile
                               $ removeFile revFile
 
                      Right index <- openDatabase indexDir (Writer [Create []])
+                     addAttrIndex index "@type"          StrIndex
                      addAttrIndex index "@uri"           SeqIndex
                      addAttrIndex index "rakka:revision" SeqIndex
                      noticeM logger ("Created an H.E. index on " ++ indexDir)