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)
]