liblastfm-0.1.0.0: src/Network/Lastfm/Event.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE UnicodeSyntax #-}
-- | Lastfm event API
--
-- This module is intended to be imported qualified:
--
-- @
-- import qualified Network.Lastfm.Event as Event
-- @
module Network.Lastfm.Event
( attend, getAttendees, getInfo, getShouts, share, shout
) where
import Control.Applicative
import Network.Lastfm.Request
-- | Set a user's attendance status for an event.
--
-- <http://www.last.fm/api/show/event.attend>
attend ∷ Request f Sign (Event → Status → APIKey → SessionKey → Ready)
attend = api "event.attend" <* post
{-# INLINE attend #-}
-- | Get a list of attendees for an event.
--
-- Optional: 'page', 'limit'
--
-- <http://www.last.fm/api/show/event.getAttendees>
getAttendees ∷ Request f Send (Event → APIKey → Ready)
getAttendees = api "event.getAttendees"
{-# INLINE getAttendees #-}
-- | Get the metadata for an event on Last.fm. Includes attendance and lineup information.
--
-- <http://www.last.fm/api/show/event.getInfo>
getInfo ∷ Request f Send (Event → APIKey → Ready)
getInfo = api "event.getInfo"
{-# INLINE getInfo #-}
-- | Get shouts for this event. Also available as an rss feed.
--
-- Optional: 'page', 'limit'
--
-- <http://www.last.fm/api/show/event.getShouts>
getShouts ∷ Request f Send (Event → APIKey → Ready)
getShouts = api "event.getShouts"
{-# INLINE getShouts #-}
-- | Share an event with one or more Last.fm users or other friends.
--
-- Optional: 'public', 'message'
--
-- <http://www.last.fm/api/show/event.share>
share ∷ Request f Sign (Event → Recipient → APIKey → SessionKey → Ready)
share = api "event.share" <* post
{-# INLINE share #-}
-- | Shout in this event's shoutbox
--
-- <http://www.last.fm/api/show/event.shout>
shout ∷ Request f Sign (Event → Message → APIKey → SessionKey → Ready)
shout = api "event.shout" <* post
{-# INLINE shout #-}