module Twilio.Queue.Members
(
Members(..)
) where
import Control.Applicative
import Data.Aeson
import Data.Data
import Data.Maybe
import Data.Monoid
import GHC.Generics
import Twilio.Queue.Member
import Twilio.Internal.Request
import Twilio.Internal.Resource
import Twilio.Types
data Members = Members
{ membersPagingInformation :: PagingInformation
, memberList :: [Member]
} deriving (Data, Eq, Generic, Ord, Show, Typeable)
instance List Members Member where
getListWrapper = wrap (Members . fromJust)
getList = memberList
getPlural = Const "queue_members"
instance FromJSON Members where
parseJSON = parseJSONToList
instance Get1 QueueSID Members where
get1 (getSID -> sid) = request parseJSONFromResponse =<< makeTwilioRequest
("/Queues/" <> sid <> ".json")