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)
data =
{ :: Bool,
:: Integer,
:: Integer
}
deriving (Int -> GetActivityCommentsOptions -> ShowS
[GetActivityCommentsOptions] -> ShowS
GetActivityCommentsOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetActivityCommentsOptions] -> ShowS
$cshowList :: [GetActivityCommentsOptions] -> ShowS
show :: GetActivityCommentsOptions -> String
$cshow :: GetActivityCommentsOptions -> String
showsPrec :: Int -> GetActivityCommentsOptions -> ShowS
$cshowsPrec :: Int -> GetActivityCommentsOptions -> ShowS
Show)
instance Default GetActivityCommentsOptions where
def :: GetActivityCommentsOptions
def =
GetActivityCommentsOptions
{ getActivityCommentsOptions_markdown :: Bool
getActivityCommentsOptions_markdown = Bool
False,
getActivityCommentsOptions_page :: Integer
getActivityCommentsOptions_page = Integer
1,
getActivityCommentsOptions_perPage :: Integer
getActivityCommentsOptions_perPage = Integer
200
}
instance QueryLike GetActivityCommentsOptions where
toQuery :: GetActivityCommentsOptions -> Query
toQuery GetActivityCommentsOptions
options =
forall a. QueryLike a => a -> Query
toQuery
[ ( String
"before",
ByteString -> String
unpack
(ByteString -> ByteString
toStrict (forall a. ToJSON a => a -> ByteString
encode (GetActivityCommentsOptions -> Bool
getActivityCommentsOptions_markdown GetActivityCommentsOptions
options)))
),
(String
"page", forall a. Show a => a -> String
show (GetActivityCommentsOptions -> Integer
getActivityCommentsOptions_page GetActivityCommentsOptions
options)),
(String
"per_page", forall a. Show a => a -> String
show (GetActivityCommentsOptions -> Integer
getActivityCommentsOptions_perPage GetActivityCommentsOptions
options))
]