Safe Haskell | None |
---|---|
Language | Haskell98 |
Feed table definitions. This is a specialization of Imm.Database.
- newtype FeedID = FeedID URI
- prettyFeedID :: FeedID -> Doc AnsiStyle
- data DatabaseEntry = DatabaseEntry {}
- prettyDatabaseEntry :: DatabaseEntry -> Doc AnsiStyle
- newDatabaseEntry :: FeedID -> Set Text -> DatabaseEntry
- data FeedTable = FeedTable
- data FeedStatus
- = Unknown
- | New
- | LastUpdate UTCTime
- newtype Database = Database [DatabaseEntry]
- register :: (MonadThrow m, MonadLog m, MonadDatabase FeedTable m) => FeedID -> Set Text -> m ()
- getStatus :: (MonadDatabase FeedTable m, MonadCatch m) => FeedID -> m FeedStatus
- addReadHash :: (MonadDatabase FeedTable m, MonadThrow m, MonadLog m) => FeedID -> Int -> m ()
- markAsRead :: (MonadTime m, MonadDatabase FeedTable m, MonadThrow m, MonadLog m) => FeedID -> m ()
- markAsUnread :: (MonadDatabase FeedTable m, MonadThrow m, MonadLog m) => FeedID -> m ()
Types
Unique key in feeds table
newDatabaseEntry :: FeedID -> Set Text -> DatabaseEntry Source #
Singleton type to represent feeds table
Primitives
register :: (MonadThrow m, MonadLog m, MonadDatabase FeedTable m) => FeedID -> Set Text -> m () Source #
getStatus :: (MonadDatabase FeedTable m, MonadCatch m) => FeedID -> m FeedStatus Source #
addReadHash :: (MonadDatabase FeedTable m, MonadThrow m, MonadLog m) => FeedID -> Int -> m () Source #
markAsRead :: (MonadTime m, MonadDatabase FeedTable m, MonadThrow m, MonadLog m) => FeedID -> m () Source #
Set the last check time to now
markAsUnread :: (MonadDatabase FeedTable m, MonadThrow m, MonadLog m) => FeedID -> m () Source #
Unset feed's last update and remove all read hashes