-- | 'Strive.Actions.Comments' module Strive.Options.Comments ( GetActivityCommentsOptions (..) ) where import Data.Aeson (encode) import Data.ByteString.Char8 (unpack) import Data.ByteString.Lazy (toStrict) import Data.Default (Default, def) import Network.HTTP.Types (QueryLike, toQuery) -- | 'Strive.Actions.getActivityComments' data GetActivityCommentsOptions = GetActivityCommentsOptions { getActivityCommentsOptions_markdown :: Bool , getActivityCommentsOptions_page :: Integer , getActivityCommentsOptions_perPage :: Integer } deriving Show instance Default GetActivityCommentsOptions where def = GetActivityCommentsOptions { getActivityCommentsOptions_markdown = False , getActivityCommentsOptions_page = 1 , getActivityCommentsOptions_perPage = 200 } instance QueryLike GetActivityCommentsOptions where toQuery options = toQuery [ ("before", unpack (toStrict (encode (getActivityCommentsOptions_markdown options)))) , ("page", show (getActivityCommentsOptions_page options)) , ("per_page", show (getActivityCommentsOptions_perPage options)) ]