-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | An interface of ATND API -- -- Please see README.md @package atndapi @version 0.1.0.0 -- | Utility of ATND API method module Web.ATND.Util -- | ATND api type data Section UserApi :: Section EventApi :: Section -- | Respresents ATND time format newtype ATNDTime ATNDTime :: UTCTime -> ATNDTime [unATNDTime] :: ATNDTime -> UTCTime -- | Represent an person(user or owner) data Person Person :: Integer -> Text -> Maybe Text -> Person [personId] :: Person -> Integer [personNickname] :: Person -> Text [personTwitterId] :: Person -> Maybe Text -- | convert ATND api type to path fromSection :: Section -> Text -- | Make query list toQueryList :: [(ByteString, Maybe [Text])] -> [(ByteString, Maybe ByteString)] -- | Remove Nothing from query list. filterQuery :: [(a, Maybe a)] -> [(a, Maybe a)] instance GHC.Classes.Eq Web.ATND.Util.Person instance GHC.Show.Show Web.ATND.Util.Person instance GHC.Classes.Eq Web.ATND.Util.Section instance GHC.Show.Show Web.ATND.Util.Section instance GHC.Classes.Eq Web.ATND.Util.ATNDTime instance GHC.Show.Show Web.ATND.Util.ATNDTime instance Data.Aeson.Types.Class.FromJSON Web.ATND.Util.ATNDTime -- | Module for interface of the ATND JSON API. -- -- Example usage to get events (in IO monad): -- --
-- cfg <- defaultATNDConfig -- runATND cfg $ do -- getEvents <[eventId]> <[keywords]> ... Nothing ... ---- -- To run in a monad that implements MonadIO, MonadLogger and -- MonadBaseControl IO (such as a Yesod Handler), use ATNDM. module Web.ATND -- | Alias of ATNDT with Logging type ATND a = ATNDT (LoggingT IO) a -- | ATND monad transformer type ATNDT m a = (MonadIO m, MonadLogger m, MonadBaseControl IO m) => ReaderT ATNDConfig m a -- | Run ATND in IO, ignoring the existing monadic context and logging to -- stderr. runATND :: (MonadIO m) => (ATNDConfig -> ATNDT (LoggingT IO) a -> m a) -- | Run ATNDT runATNDT :: (MonadIO m, MonadLogger m, MonadBaseControl IO m) => ATNDConfig -> ATNDT m a -> m a -- | Run a query to ATND. Remove Nothing in the query list. query :: (FromJSON x) => Section -> [(ByteString, Maybe ByteString)] -> ATNDT m x -- | Run a query to ATND, for apply query list directry. query' :: (FromJSON x) => Section -> [(ByteString, Maybe ByteString)] -> ATNDT m x -- | Represent the config for ATND/ATNDT data ATNDConfig ATNDConfig :: Manager -> ATNDConfig [atndManager] :: ATNDConfig -> Manager -- | Create a ATNDConfig with a new Manager defaultATNDConfig :: MonadIO m => m ATNDConfig -- | Error of ATND API data ATNDError instance GHC.Classes.Eq Web.ATND.ATNDError instance GHC.Show.Show Web.ATND.ATNDError instance GHC.Exception.Exception Web.ATND.ATNDError instance Data.Aeson.Types.Class.FromJSON Web.ATND.ATNDError -- | Implements the "events" section of the ATND JSON API. module Web.ATND.Event -- | Get event data(JSON) getEvents :: Maybe [EventId] -> Maybe [Text] -> Maybe [Text] -> Maybe [Text] -> Maybe [Text] -> Maybe [Person] -> Maybe [Person] -> Maybe [Person] -> Maybe [Person] -> Maybe [Person] -> Maybe [Person] -> Maybe Integer -> Maybe Integer -> ATNDT m Events -- | Represent an event id newtype EventId EventId :: Integer -> EventId [unEventId] :: EventId -> Integer -- | Represent events newtype Events Events :: [Event] -> Events [events] :: Events -> [Event] -- | Represent an event data Event Event :: EventId -> Text -> Maybe Text -> Text -> Text -> ATNDTime -> ATNDTime -> Maybe Text -> Integer -> Text -> Text -> Text -> Text -> Person -> Integer -> Integer -> ATNDTime -> Event [eventId] :: Event -> EventId [title] :: Event -> Text [catch] :: Event -> Maybe Text [description] :: Event -> Text [eventUrl] :: Event -> Text [startedAt] :: Event -> ATNDTime [endedAt] :: Event -> ATNDTime [url] :: Event -> Maybe Text [limit] :: Event -> Integer [address] :: Event -> Text [place] :: Event -> Text [lat] :: Event -> Text [lon] :: Event -> Text [owner] :: Event -> Person [accepted] :: Event -> Integer [waiting] :: Event -> Integer [updatedAt] :: Event -> ATNDTime instance GHC.Classes.Eq Web.ATND.Event.Events instance GHC.Show.Show Web.ATND.Event.Events instance GHC.Classes.Eq Web.ATND.Event.Event instance GHC.Show.Show Web.ATND.Event.Event instance GHC.Classes.Eq Web.ATND.Event.EventId instance GHC.Show.Show Web.ATND.Event.EventId instance Data.Aeson.Types.Class.ToJSON Web.ATND.Event.EventId instance Data.Aeson.Types.Class.FromJSON Web.ATND.Event.Events instance Data.Aeson.Types.Class.FromJSON Web.ATND.Event.Event instance Data.Aeson.Types.Class.FromJSON Web.ATND.Event.EventId