module Web.RBB.Types.Blog
where
import Control.Concurrent.STM (TChan)
import Control.Lens
import Data.FileStore (FileStore)
import Data.IxSet (IxSet)
import Data.Map (Map)
import Data.Time (UTCTime)
import Web.RBB.Config
import Web.RBB.Types.CachedEntry
import Web.RBB.Types.Entry
data Blog m = Blog
{ _nextEntryId :: Integer
, _entries :: IxSet Entry
, _lastEntryUpdate :: EntryUpdate
, _lastUpdateCheck :: UTCTime
, _fileStore :: FileStore
, _blogEntryCache :: Map Integer CachedEntry
, _blogCacheChannel :: TChan (Integer, CachedEntry)
, _repositoryPath :: FilePath
, _contentRelativePath :: FilePath
, _blogConfig :: BlogConfig m
}
makeLenses ''Blog