X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FStorage%2FImpl.hs;h=fed687f3c1266e992efc7973838cf8f41ced0ffb;hp=79108927435d271904e66172aa2b8944ae4f0c76;hb=e85b652169f502cffe1f6f7f927d8990e9c11499;hpb=d843e97aa04278677eaede4e50ef680af32867e7 diff --git a/Rakka/Storage/Impl.hs b/Rakka/Storage/Impl.hs index 7910892..fed687f 100644 --- a/Rakka/Storage/Impl.hs +++ b/Rakka/Storage/Impl.hs @@ -4,6 +4,9 @@ module Rakka.Storage.Impl , deletePage' , getDirContents' , startIndexManager + + , getAttachment' + , putAttachment' ) where @@ -15,6 +18,7 @@ import Data.Set (Set) import qualified Data.Set as S import Network.HTTP.Lucu import Network.URI +import Rakka.Attachment import Rakka.Page import Rakka.Storage.DefaultPage import Rakka.Storage.Repos @@ -76,6 +80,26 @@ getCurrentRevNum repos = getRepositoryFS repos >>= getYoungestRev +getAttachment' :: Attachment a => + Repository + -> PageName + -> String + -> Maybe RevNum + -> IO (Maybe a) +getAttachment' = loadAttachmentInRepository + + +putAttachment' :: Attachment a => + Repository + -> Maybe String + -> Maybe RevNum + -> PageName + -> String + -> a + -> IO StatusCode +putAttachment' = putAttachmentIntoRepository + + startIndexManager :: FilePath -> Repository -> (Page -> IO Document) -> IO (TChan IndexReq) startIndexManager lsdir repos mkDraft = do chan <- newTChanIO