Safe Haskell | None |
---|---|
Language | Haskell2010 |
Imm.Database.FeedTable
Contents
Description
Feed table definitions. This is a specialization of Imm.Database.
Synopsis
- newtype FeedID = FeedID URI
- prettyFeedID :: FeedID -> Doc AnsiStyle
- getHashes :: FeedElement -> [Int]
- newtype JsonURI = JsonURI {
- _unwrapURI :: URI
- newtype JsonElement = JsonElement {}
- data DatabaseEntry = DatabaseEntry {}
- prettyShortDatabaseEntry :: DatabaseEntry -> Doc AnsiStyle
- 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 => Handle m -> Handle m FeedTable -> FeedID -> Set Text -> m ()
- getStatus :: MonadCatch m => Handle m FeedTable -> FeedID -> m FeedStatus
- markAsProcessed :: MonadThrow m => MonadTime m => Handle m -> Handle m FeedTable -> FeedID -> FeedElement -> m ()
- markAsUnprocessed :: MonadThrow m => Handle m -> Handle m FeedTable -> FeedID -> m ()
- isRead :: MonadCatch m => Handle m FeedTable -> FeedID -> FeedElement -> m Bool
Types
Unique key in feeds table
getHashes :: FeedElement -> [Int] Source #
Constructors
JsonURI | |
Fields
|
newtype JsonElement Source #
Newtype wrapper to provide FromJSON
and ToJSON
instances for FeedElement
Constructors
JsonElement | |
Fields |
Instances
Eq JsonElement Source # | |
Defined in Imm.Database.FeedTable | |
Ord JsonElement Source # | |
Defined in Imm.Database.FeedTable Methods compare :: JsonElement -> JsonElement -> Ordering # (<) :: JsonElement -> JsonElement -> Bool # (<=) :: JsonElement -> JsonElement -> Bool # (>) :: JsonElement -> JsonElement -> Bool # (>=) :: JsonElement -> JsonElement -> Bool # max :: JsonElement -> JsonElement -> JsonElement # min :: JsonElement -> JsonElement -> JsonElement # | |
ToJSON JsonElement Source # | |
Defined in Imm.Database.FeedTable Methods toJSON :: JsonElement -> Value # toEncoding :: JsonElement -> Encoding # toJSONList :: [JsonElement] -> Value # toEncodingList :: [JsonElement] -> Encoding # | |
ToJSONKey JsonElement Source # | |
Defined in Imm.Database.FeedTable Methods | |
FromJSON JsonElement Source # | |
Defined in Imm.Database.FeedTable | |
FromJSONKey JsonElement Source # | |
Defined in Imm.Database.FeedTable |
data DatabaseEntry Source #
Constructors
DatabaseEntry | |
Fields
|
Instances
Eq DatabaseEntry Source # | |
Defined in Imm.Database.FeedTable Methods (==) :: DatabaseEntry -> DatabaseEntry -> Bool # (/=) :: DatabaseEntry -> DatabaseEntry -> Bool # | |
Show DatabaseEntry Source # | |
Defined in Imm.Database.FeedTable Methods showsPrec :: Int -> DatabaseEntry -> ShowS # show :: DatabaseEntry -> String # showList :: [DatabaseEntry] -> ShowS # | |
ToJSON DatabaseEntry Source # | |
Defined in Imm.Database.FeedTable Methods toJSON :: DatabaseEntry -> Value # toEncoding :: DatabaseEntry -> Encoding # toJSONList :: [DatabaseEntry] -> Value # toEncodingList :: [DatabaseEntry] -> Encoding # | |
FromJSON DatabaseEntry Source # | |
Defined in Imm.Database.FeedTable Methods parseJSON :: Value -> Parser DatabaseEntry # parseJSONList :: Value -> Parser [DatabaseEntry] # |
newDatabaseEntry :: FeedID -> Set Text -> DatabaseEntry Source #
Singleton type to represent feeds table
Constructors
FeedTable |
Instances
Eq FeedTable Source # | |
Ord FeedTable Source # | |
Read FeedTable Source # | |
Show FeedTable Source # | |
Pretty FeedTable Source # | |
Defined in Imm.Database.FeedTable | |
Table FeedTable Source # | |
type Key FeedTable Source # | |
Defined in Imm.Database.FeedTable | |
type Entry FeedTable Source # | |
Defined in Imm.Database.FeedTable |
data FeedStatus Source #
Constructors
Unknown | |
New | |
LastUpdate UTCTime |
Instances
Pretty FeedStatus Source # | |
Defined in Imm.Database.FeedTable |
Primitives
getStatus :: MonadCatch m => Handle m FeedTable -> FeedID -> m FeedStatus Source #
markAsProcessed :: MonadThrow m => MonadTime m => Handle m -> Handle m FeedTable -> FeedID -> FeedElement -> m () Source #
markAsUnprocessed :: MonadThrow m => Handle m -> Handle m FeedTable -> FeedID -> m () Source #
isRead :: MonadCatch m => Handle m FeedTable -> FeedID -> FeedElement -> m Bool Source #