+{-# LANGUAGE
+ UnicodeSyntax
+ #-}
module Rakka.Storage.Types
( Storage(..)
, IndexReq(..)
, SnippetFragment(..)
)
where
-
-import Control.Concurrent.STM
-import Data.Time
-import Rakka.Page
-import Subversion.Repository
-import Subversion.Types
-import Text.HyperEstraier hiding (WriteLock)
-
+import Control.Concurrent.STM
+import Data.Text (Text)
+import Data.Time
+import Rakka.Page
+import Subversion.Repository
+import Subversion.Types
+import Text.HyperEstraier hiding (WriteLock)
data Storage
= Storage {
, stoIndexChan :: !(TChan IndexReq)
}
-
data IndexReq
= RebuildIndex
| SyncIndex
| SearchIndex !Condition !(TMVar SearchResult)
-
data SearchResult
= SearchResult {
srTotal :: !Int
}
deriving (Show, Eq)
-
data HitPage
= HitPage {
hpPageName :: !PageName
, hpPageRev :: RevNum
, hpLastMod :: UTCTime
- , hpSummary :: Maybe String
+ , hpSummary :: Maybe Text
, hpSnippet :: [SnippetFragment]
}
deriving (Show, Eq)
-
data SnippetFragment
= Boundary
- | NormalText !String
- | HighlightedWord !String
- deriving (Show, Eq)
\ No newline at end of file
+ | NormalText !Text
+ | HighlightedWord !Text
+ deriving (Show, Eq)