module Strive.Options.Uploads
( UploadActivityOptions(..)
) where
import Data.Default (Default, def)
import Network.HTTP.Types (QueryLike, toQuery)
import Strive.Enums (ActivityType)
data UploadActivityOptions = UploadActivityOptions
{ UploadActivityOptions -> Maybe ActivityType
uploadActivityOptions_activityType :: Maybe ActivityType
, UploadActivityOptions -> Maybe String
uploadActivityOptions_name :: Maybe String
, UploadActivityOptions -> Maybe String
uploadActivityOptions_description :: Maybe String
, UploadActivityOptions -> Bool
uploadActivityOptions_private :: Bool
, UploadActivityOptions -> Bool
uploadActivityOptions_trainer :: Bool
, UploadActivityOptions -> Maybe String
uploadActivityOptions_externalId :: Maybe String
}
deriving Int -> UploadActivityOptions -> ShowS
[UploadActivityOptions] -> ShowS
UploadActivityOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UploadActivityOptions] -> ShowS
$cshowList :: [UploadActivityOptions] -> ShowS
show :: UploadActivityOptions -> String
$cshow :: UploadActivityOptions -> String
showsPrec :: Int -> UploadActivityOptions -> ShowS
$cshowsPrec :: Int -> UploadActivityOptions -> ShowS
Show
instance Default UploadActivityOptions where
def :: UploadActivityOptions
def = UploadActivityOptions
{ uploadActivityOptions_activityType :: Maybe ActivityType
uploadActivityOptions_activityType = forall a. Maybe a
Nothing
, uploadActivityOptions_name :: Maybe String
uploadActivityOptions_name = forall a. Maybe a
Nothing
, uploadActivityOptions_description :: Maybe String
uploadActivityOptions_description = forall a. Maybe a
Nothing
, uploadActivityOptions_private :: Bool
uploadActivityOptions_private = Bool
False
, uploadActivityOptions_trainer :: Bool
uploadActivityOptions_trainer = Bool
False
, uploadActivityOptions_externalId :: Maybe String
uploadActivityOptions_externalId = forall a. Maybe a
Nothing
}
instance QueryLike UploadActivityOptions where
toQuery :: UploadActivityOptions -> Query
toQuery UploadActivityOptions
options = forall a. QueryLike a => a -> Query
toQuery
[ (String
"activity_type", forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall a. Show a => a -> String
show (UploadActivityOptions -> Maybe ActivityType
uploadActivityOptions_activityType UploadActivityOptions
options))
, (String
"name", UploadActivityOptions -> Maybe String
uploadActivityOptions_name UploadActivityOptions
options)
, (String
"description", UploadActivityOptions -> Maybe String
uploadActivityOptions_description UploadActivityOptions
options)
, ( String
"private"
, forall a. a -> Maybe a
Just (forall a. Show a => a -> String
show (forall a. Enum a => a -> Int
fromEnum (UploadActivityOptions -> Bool
uploadActivityOptions_private UploadActivityOptions
options)))
)
, ( String
"trainer"
, forall a. a -> Maybe a
Just (forall a. Show a => a -> String
show (forall a. Enum a => a -> Int
fromEnum (UploadActivityOptions -> Bool
uploadActivityOptions_trainer UploadActivityOptions
options)))
)
, (String
"external_id", UploadActivityOptions -> Maybe String
uploadActivityOptions_externalId UploadActivityOptions
options)
]