-- | 'Strive.Actions.Athletes' module Strive.Options.Athletes ( UpdateCurrentAthleteOptions (..) , GetAthleteCrsOptions ) where import Data.Default (Default, def) import Network.HTTP.Types (QueryLike, toQuery) import Strive.Enums (Gender) import Strive.Internal.Options (PaginationOptions) -- | 'Strive.Actions.updateCurrentAthlete' data UpdateCurrentAthleteOptions = UpdateCurrentAthleteOptions { updateCurrentAthleteOptions_city :: Maybe String , updateCurrentAthleteOptions_state :: Maybe String , updateCurrentAthleteOptions_country :: Maybe String , updateCurrentAthleteOptions_sex :: Maybe Gender , updateCurrentAthleteOptions_weight :: Maybe Double } deriving Show instance Default UpdateCurrentAthleteOptions where def = UpdateCurrentAthleteOptions { updateCurrentAthleteOptions_city = Nothing , updateCurrentAthleteOptions_state = Nothing , updateCurrentAthleteOptions_country = Nothing , updateCurrentAthleteOptions_sex = Nothing , updateCurrentAthleteOptions_weight = Nothing } instance QueryLike UpdateCurrentAthleteOptions where toQuery options = toQuery [ ("city", updateCurrentAthleteOptions_city options) , ("state", updateCurrentAthleteOptions_state options) , ("country", updateCurrentAthleteOptions_country options) , ("sex", fmap show (updateCurrentAthleteOptions_sex options)) , ("weight", fmap show (updateCurrentAthleteOptions_weight options)) ] -- | 'Strive.Actions.getAthleteCrs' type GetAthleteCrsOptions = PaginationOptions