-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A client for the Strava V3 API. -- -- Strive is a client for the Strava V3 API. @package strive @version 3.0.2 -- | Comments module Strive.Options.Comments -- | getActivityComments data GetActivityCommentsOptions GetActivityCommentsOptions :: Bool -> Integer -> Integer -> GetActivityCommentsOptions [getActivityCommentsOptions_markdown] :: GetActivityCommentsOptions -> Bool [getActivityCommentsOptions_page] :: GetActivityCommentsOptions -> Integer [getActivityCommentsOptions_perPage] :: GetActivityCommentsOptions -> Integer instance GHC.Show.Show Strive.Options.Comments.GetActivityCommentsOptions instance Data.Default.Class.Default Strive.Options.Comments.GetActivityCommentsOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Comments.GetActivityCommentsOptions -- | Authentication module Strive.Options.Authentication -- | buildAuthorizeUrl data BuildAuthorizeUrlOptions BuildAuthorizeUrlOptions :: Bool -> Bool -> Bool -> String -> BuildAuthorizeUrlOptions [buildAuthorizeUrlOptions_approvalPrompt] :: BuildAuthorizeUrlOptions -> Bool [buildAuthorizeUrlOptions_privateScope] :: BuildAuthorizeUrlOptions -> Bool [buildAuthorizeUrlOptions_writeScope] :: BuildAuthorizeUrlOptions -> Bool [buildAuthorizeUrlOptions_state] :: BuildAuthorizeUrlOptions -> String instance GHC.Show.Show Strive.Options.Authentication.BuildAuthorizeUrlOptions instance Data.Default.Class.Default Strive.Options.Authentication.BuildAuthorizeUrlOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Authentication.BuildAuthorizeUrlOptions -- | Lenses for easily getting and setting values. module Strive.Lenses -- | A lens for a record. type Lens a b = forall f. Functor f => (b -> f b) -> a -> f a -- | Get a field from a record. get :: Lens a b -> a -> b -- | Set a field in a record. set :: Lens a b -> b -> a -> a -- | Update a field in a record update :: Lens a b -> (b -> b) -> a -> a -- | Helper functions for template Haskell, to avoid stage restrictions. module Strive.Internal.TH -- | Default FromJSON options. options :: Options -- | Generate lens classes and instances for a type. makeLenses :: String -> Q [Dec] -- | http://strava.github.io/api/v3/uploads/ module Strive.Types.Uploads -- | http://strava.github.io/api/v3/uploads/#attributes data UploadStatus UploadStatus :: Maybe Integer -> Maybe Text -> Maybe Text -> Integer -> Text -> UploadStatus [uploadStatus_activityId] :: UploadStatus -> Maybe Integer [uploadStatus_error] :: UploadStatus -> Maybe Text [uploadStatus_externalId] :: UploadStatus -> Maybe Text [uploadStatus_id] :: UploadStatus -> Integer [uploadStatus_status] :: UploadStatus -> Text instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Uploads.UploadStatus instance GHC.Show.Show Strive.Types.Uploads.UploadStatus -- | Common options that apply to many endpoints. module Strive.Internal.Options -- | Options for paginating. data PaginationOptions PaginationOptions :: Integer -> Integer -> PaginationOptions [paginationOptions_page] :: PaginationOptions -> Integer [paginationOptions_perPage] :: PaginationOptions -> Integer instance GHC.Show.Show Strive.Internal.Options.PaginationOptions instance Data.Default.Class.Default Strive.Internal.Options.PaginationOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Internal.Options.PaginationOptions -- | Clubs module Strive.Options.Clubs -- | getClubMembers type GetClubMembersOptions = PaginationOptions -- | getClubActivities type GetClubActivitiesOptions = PaginationOptions -- | Friends module Strive.Options.Friends -- | getCurrentFriends type GetCurrentFriendsOptions = PaginationOptions -- | getFriends type GetFriendsOptions = PaginationOptions -- | getCurrentFollowers type GetCurrentFollowersOptions = PaginationOptions -- | getFollowers type GetFollowersOptions = PaginationOptions -- | getCommonFriends type GetCommonFriendsOptions = PaginationOptions -- | Kudos module Strive.Options.Kudos -- | getActivityKudoers type GetActivityKudoersOptions = PaginationOptions -- | Types for choosing an option from a limited set. module Strive.Enums -- | An activity's type. data ActivityType AlpineSki :: ActivityType BackcountrySki :: ActivityType Canoeing :: ActivityType CrossCountrySkiing :: ActivityType Crossfit :: ActivityType Elliptical :: ActivityType Hike :: ActivityType IceSkate :: ActivityType InlineSkate :: ActivityType Kayaking :: ActivityType KiteSurf :: ActivityType NordicSki :: ActivityType Ride :: ActivityType RockClimbing :: ActivityType RollerSki :: ActivityType Rowing :: ActivityType Run :: ActivityType Snowboard :: ActivityType Snowshoe :: ActivityType StairStepper :: ActivityType StandUpPaddling :: ActivityType Surfing :: ActivityType Swim :: ActivityType Walk :: ActivityType WeightTraining :: ActivityType Windsurf :: ActivityType Workout :: ActivityType Yoga :: ActivityType -- | An activity zone's type. data ActivityZoneType HeartrateZone :: ActivityZoneType PowerZone :: ActivityZoneType -- | An athlete's age group. data AgeGroup Ages0To24 :: AgeGroup Ages25To34 :: AgeGroup Ages35To44 :: AgeGroup Ages45To54 :: AgeGroup Ages55To64 :: AgeGroup Ages65Plus :: AgeGroup -- | A club's type. data ClubType CasualClub :: ClubType Company :: ClubType Other :: ClubType RacingTeam :: ClubType Shop :: ClubType -- | A bike's frame type. data FrameType CrossFrame :: FrameType MountainFrame :: FrameType RoadFrame :: FrameType TimeTrialFrame :: FrameType -- | An athlete's gender. data Gender Female :: Gender Male :: Gender -- | An athlete's measurement preference. data MeasurementPreference Feet :: MeasurementPreference Meters :: MeasurementPreference -- | A photo's type. data PhotoType InstagramPhoto :: PhotoType -- | A stream's resolution. data Resolution Low :: Resolution Medium :: Resolution High :: Resolution -- | A resource's state. data ResourceState Meta :: ResourceState Summary :: ResourceState Detailed :: ResourceState -- | A segment's activity type. data SegmentActivityType Riding :: SegmentActivityType Running :: SegmentActivityType -- | A series' type in a stream. data SeriesType Distance :: SeriesType Time :: SeriesType -- | A club's sport type. data SportType SportCycling :: SportType SportOther :: SportType SportRunning :: SportType SportTriathalon :: SportType -- | A stream's type. data StreamType AltitudeStream :: StreamType CadenceStream :: StreamType DistanceStream :: StreamType GradeSmoothStream :: StreamType HeartrateStream :: StreamType LatlngStream :: StreamType MovingStream :: StreamType TempStream :: StreamType TimeStream :: StreamType VelocitySmoothStream :: StreamType WattsStream :: StreamType -- | An athlete's weight class. data WeightClass Kilograms0To54 :: WeightClass Kilograms55To64 :: WeightClass Kilograms65To74 :: WeightClass Kilograms75To84 :: WeightClass Kilograms85To94 :: WeightClass Kilograms95Plus :: WeightClass Pounds0To124 :: WeightClass Pounds125To149 :: WeightClass Pounds150To164 :: WeightClass Pounds165To179 :: WeightClass Pounds180To199 :: WeightClass Pounds200Plus :: WeightClass instance GHC.Show.Show Strive.Enums.SportType instance GHC.Show.Show Strive.Enums.ResourceState instance GHC.Show.Show Strive.Enums.PhotoType instance GHC.Show.Show Strive.Enums.MeasurementPreference instance GHC.Show.Show Strive.Enums.FrameType instance GHC.Show.Show Strive.Enums.ClubType instance GHC.Show.Show Strive.Enums.ActivityZoneType instance GHC.Show.Show Strive.Enums.ActivityType instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.ActivityType instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.ActivityZoneType instance GHC.Show.Show Strive.Enums.AgeGroup instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.ClubType instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.FrameType instance GHC.Show.Show Strive.Enums.Gender instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.Gender instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.MeasurementPreference instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.PhotoType instance GHC.Show.Show Strive.Enums.Resolution instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.Resolution instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.ResourceState instance GHC.Show.Show Strive.Enums.SegmentActivityType instance GHC.Show.Show Strive.Enums.SeriesType instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.SeriesType instance Data.Aeson.Types.FromJSON.FromJSON Strive.Enums.SportType instance GHC.Show.Show Strive.Enums.StreamType instance GHC.Show.Show Strive.Enums.WeightClass -- | Activities module Strive.Options.Activities -- | CreateActivity data CreateActivityOptions CreateActivityOptions :: Maybe String -> Maybe Double -> CreateActivityOptions [createActivityOptions_description] :: CreateActivityOptions -> Maybe String [createActivityOptions_distance] :: CreateActivityOptions -> Maybe Double -- | GetActivity data GetActivityOptions GetActivityOptions :: Bool -> GetActivityOptions [getActivityOptions_allEfforts] :: GetActivityOptions -> Bool -- | UpdateActivity data UpdateActivityOptions UpdateActivityOptions :: Maybe String -> Maybe ActivityType -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe String -> Maybe String -> UpdateActivityOptions [updateActivityOptions_name] :: UpdateActivityOptions -> Maybe String [updateActivityOptions_type] :: UpdateActivityOptions -> Maybe ActivityType [updateActivityOptions_private] :: UpdateActivityOptions -> Maybe Bool [updateActivityOptions_commute] :: UpdateActivityOptions -> Maybe Bool [updateActivityOptions_trainer] :: UpdateActivityOptions -> Maybe Bool [updateActivityOptions_gearId] :: UpdateActivityOptions -> Maybe String [updateActivityOptions_description] :: UpdateActivityOptions -> Maybe String -- | getCurrentActivities data GetCurrentActivitiesOptions GetCurrentActivitiesOptions :: Maybe UTCTime -> Maybe UTCTime -> Integer -> Integer -> GetCurrentActivitiesOptions [getCurrentActivitiesOptions_before] :: GetCurrentActivitiesOptions -> Maybe UTCTime [getCurrentActivitiesOptions_after] :: GetCurrentActivitiesOptions -> Maybe UTCTime [getCurrentActivitiesOptions_page] :: GetCurrentActivitiesOptions -> Integer [getCurrentActivitiesOptions_perPage] :: GetCurrentActivitiesOptions -> Integer -- | getRelatedActivities type GetRelatedActivitiesOptions = PaginationOptions -- | getFeed type GetFeedOptions = PaginationOptions instance GHC.Show.Show Strive.Options.Activities.GetCurrentActivitiesOptions instance GHC.Show.Show Strive.Options.Activities.UpdateActivityOptions instance GHC.Show.Show Strive.Options.Activities.GetActivityOptions instance GHC.Show.Show Strive.Options.Activities.CreateActivityOptions instance Data.Default.Class.Default Strive.Options.Activities.CreateActivityOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Activities.CreateActivityOptions instance Data.Default.Class.Default Strive.Options.Activities.GetActivityOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Activities.GetActivityOptions instance Data.Default.Class.Default Strive.Options.Activities.UpdateActivityOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Activities.UpdateActivityOptions instance Data.Default.Class.Default Strive.Options.Activities.GetCurrentActivitiesOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Activities.GetCurrentActivitiesOptions -- | Athletes module Strive.Options.Athletes -- | updateCurrentAthlete data UpdateCurrentAthleteOptions UpdateCurrentAthleteOptions :: Maybe String -> Maybe String -> Maybe String -> Maybe Gender -> Maybe Double -> UpdateCurrentAthleteOptions [updateCurrentAthleteOptions_city] :: UpdateCurrentAthleteOptions -> Maybe String [updateCurrentAthleteOptions_state] :: UpdateCurrentAthleteOptions -> Maybe String [updateCurrentAthleteOptions_country] :: UpdateCurrentAthleteOptions -> Maybe String [updateCurrentAthleteOptions_sex] :: UpdateCurrentAthleteOptions -> Maybe Gender [updateCurrentAthleteOptions_weight] :: UpdateCurrentAthleteOptions -> Maybe Double -- | getAthleteCrs type GetAthleteCrsOptions = PaginationOptions instance GHC.Show.Show Strive.Options.Athletes.UpdateCurrentAthleteOptions instance Data.Default.Class.Default Strive.Options.Athletes.UpdateCurrentAthleteOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Athletes.UpdateCurrentAthleteOptions -- | Segments module Strive.Options.Segments -- | getStarredSegments type GetStarredSegmentsOptions = PaginationOptions -- | getSegmentEfforts data GetSegmentEffortsOptions GetSegmentEffortsOptions :: Maybe Integer -> Maybe (UTCTime, UTCTime) -> Integer -> Integer -> GetSegmentEffortsOptions [getSegmentEffortsOptions_athleteId] :: GetSegmentEffortsOptions -> Maybe Integer [getSegmentEffortsOptions_range] :: GetSegmentEffortsOptions -> Maybe (UTCTime, UTCTime) [getSegmentEffortsOptions_page] :: GetSegmentEffortsOptions -> Integer [getSegmentEffortsOptions_perPage] :: GetSegmentEffortsOptions -> Integer -- | getSegmentLeaderboard data GetSegmentLeaderboardOptions GetSegmentLeaderboardOptions :: Maybe Gender -> Maybe AgeGroup -> Maybe WeightClass -> Maybe Bool -> Maybe Integer -> Maybe String -> Maybe Integer -> Integer -> Integer -> GetSegmentLeaderboardOptions [getSegmentLeaderboardOptions_gender] :: GetSegmentLeaderboardOptions -> Maybe Gender [getSegmentLeaderboardOptions_ageGroup] :: GetSegmentLeaderboardOptions -> Maybe AgeGroup [getSegmentLeaderboardOptions_weightClass] :: GetSegmentLeaderboardOptions -> Maybe WeightClass [getSegmentLeaderboardOptions_following] :: GetSegmentLeaderboardOptions -> Maybe Bool [getSegmentLeaderboardOptions_clubId] :: GetSegmentLeaderboardOptions -> Maybe Integer [getSegmentLeaderboardOptions_dateRange] :: GetSegmentLeaderboardOptions -> Maybe String [getSegmentLeaderboardOptions_contextEntries] :: GetSegmentLeaderboardOptions -> Maybe Integer [getSegmentLeaderboardOptions_page] :: GetSegmentLeaderboardOptions -> Integer [getSegmentLeaderboardOptions_perPage] :: GetSegmentLeaderboardOptions -> Integer -- | exploreSegments data ExploreSegmentsOptions ExploreSegmentsOptions :: SegmentActivityType -> Integer -> Integer -> ExploreSegmentsOptions [exploreSegmentsOptions_activityType] :: ExploreSegmentsOptions -> SegmentActivityType [exploreSegmentsOptions_minCat] :: ExploreSegmentsOptions -> Integer [exploreSegmentsOptions_maxCat] :: ExploreSegmentsOptions -> Integer instance GHC.Show.Show Strive.Options.Segments.ExploreSegmentsOptions instance GHC.Show.Show Strive.Options.Segments.GetSegmentLeaderboardOptions instance GHC.Show.Show Strive.Options.Segments.GetSegmentEffortsOptions instance Data.Default.Class.Default Strive.Options.Segments.GetSegmentEffortsOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Segments.GetSegmentEffortsOptions instance Data.Default.Class.Default Strive.Options.Segments.GetSegmentLeaderboardOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Segments.GetSegmentLeaderboardOptions instance Data.Default.Class.Default Strive.Options.Segments.ExploreSegmentsOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Segments.ExploreSegmentsOptions -- | Streams module Strive.Options.Streams -- | getStreams data GetStreamsOptions GetStreamsOptions :: Maybe Resolution -> SeriesType -> GetStreamsOptions [getStreamsOptions_resolution] :: GetStreamsOptions -> Maybe Resolution [getStreamsOptions_seriesType] :: GetStreamsOptions -> SeriesType instance GHC.Show.Show Strive.Options.Streams.GetStreamsOptions instance Data.Default.Class.Default Strive.Options.Streams.GetStreamsOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Streams.GetStreamsOptions -- | Uploads module Strive.Options.Uploads -- | uploadActivity data UploadActivityOptions UploadActivityOptions :: Maybe ActivityType -> Maybe String -> Maybe String -> Bool -> Bool -> Maybe String -> UploadActivityOptions [uploadActivityOptions_activityType] :: UploadActivityOptions -> Maybe ActivityType [uploadActivityOptions_name] :: UploadActivityOptions -> Maybe String [uploadActivityOptions_description] :: UploadActivityOptions -> Maybe String [uploadActivityOptions_private] :: UploadActivityOptions -> Bool [uploadActivityOptions_trainer] :: UploadActivityOptions -> Bool [uploadActivityOptions_externalId] :: UploadActivityOptions -> Maybe String instance GHC.Show.Show Strive.Options.Uploads.UploadActivityOptions instance Data.Default.Class.Default Strive.Options.Uploads.UploadActivityOptions instance Network.HTTP.Types.QueryLike.QueryLike Strive.Options.Uploads.UploadActivityOptions -- | Optional parameters for actions. module Strive.Options -- | http://strava.github.io/api/v3/clubs/ module Strive.Types.Clubs -- | http://strava.github.io/api/v3/clubs/#detailed data ClubDetailed ClubDetailed :: Text -> ClubType -> Text -> Text -> Integer -> Integer -> Text -> Bool -> Text -> Text -> ResourceState -> SportType -> Text -> ClubDetailed [clubDetailed_city] :: ClubDetailed -> Text [clubDetailed_clubType] :: ClubDetailed -> ClubType [clubDetailed_country] :: ClubDetailed -> Text [clubDetailed_description] :: ClubDetailed -> Text [clubDetailed_id] :: ClubDetailed -> Integer [clubDetailed_memberCount] :: ClubDetailed -> Integer [clubDetailed_name] :: ClubDetailed -> Text [clubDetailed_private] :: ClubDetailed -> Bool [clubDetailed_profile] :: ClubDetailed -> Text [clubDetailed_profileMedium] :: ClubDetailed -> Text [clubDetailed_resourceState] :: ClubDetailed -> ResourceState [clubDetailed_sportType] :: ClubDetailed -> SportType [clubDetailed_state] :: ClubDetailed -> Text -- | http://strava.github.io/api/v3/clubs/#summary data ClubSummary ClubSummary :: Integer -> Text -> Text -> Text -> ResourceState -> ClubSummary [clubSummary_id] :: ClubSummary -> Integer [clubSummary_name] :: ClubSummary -> Text [clubSummary_profile] :: ClubSummary -> Text [clubSummary_profileMedium] :: ClubSummary -> Text [clubSummary_resourceState] :: ClubSummary -> ResourceState instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Clubs.ClubSummary instance GHC.Show.Show Strive.Types.Clubs.ClubSummary instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Clubs.ClubDetailed instance GHC.Show.Show Strive.Types.Clubs.ClubDetailed -- | http://strava.github.io/api/v3/gear/ module Strive.Types.Gear -- | http://strava.github.io/api/v3/gear/#detailed data GearDetailed GearDetailed :: Text -> Text -> Double -> Maybe FrameType -> Text -> Text -> Text -> Bool -> ResourceState -> GearDetailed [gearDetailed_brandName] :: GearDetailed -> Text [gearDetailed_description] :: GearDetailed -> Text [gearDetailed_distance] :: GearDetailed -> Double [gearDetailed_frameType] :: GearDetailed -> Maybe FrameType [gearDetailed_id] :: GearDetailed -> Text [gearDetailed_modelName] :: GearDetailed -> Text [gearDetailed_name] :: GearDetailed -> Text [gearDetailed_primary] :: GearDetailed -> Bool [gearDetailed_resourceState] :: GearDetailed -> ResourceState -- | http://strava.github.io/api/v3/gear/#summary data GearSummary GearSummary :: Double -> Text -> Text -> Bool -> ResourceState -> GearSummary [gearSummary_distance] :: GearSummary -> Double [gearSummary_id] :: GearSummary -> Text [gearSummary_name] :: GearSummary -> Text [gearSummary_primary] :: GearSummary -> Bool [gearSummary_resourceState] :: GearSummary -> ResourceState instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Gear.GearSummary instance GHC.Show.Show Strive.Types.Gear.GearSummary instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Gear.GearDetailed instance GHC.Show.Show Strive.Types.Gear.GearDetailed -- | http://strava.github.io/api/v3/athlete/ module Strive.Types.Athletes -- | http://strava.github.io/api/v3/athlete/#detailed data AthleteDetailed AthleteDetailed :: [GearSummary] -> Text -> [ClubSummary] -> Text -> UTCTime -> Text -> Text -> Text -> Maybe Text -> Integer -> Maybe Text -> Integer -> Maybe Integer -> Integer -> Text -> MeasurementPreference -> Integer -> Bool -> Text -> Text -> ResourceState -> Maybe Gender -> [GearSummary] -> Text -> UTCTime -> Maybe Double -> AthleteDetailed [athleteDetailed_bikes] :: AthleteDetailed -> [GearSummary] [athleteDetailed_city] :: AthleteDetailed -> Text [athleteDetailed_clubs] :: AthleteDetailed -> [ClubSummary] [athleteDetailed_country] :: AthleteDetailed -> Text [athleteDetailed_createdAt] :: AthleteDetailed -> UTCTime [athleteDetailed_datePreference] :: AthleteDetailed -> Text [athleteDetailed_email] :: AthleteDetailed -> Text [athleteDetailed_firstname] :: AthleteDetailed -> Text [athleteDetailed_follower] :: AthleteDetailed -> Maybe Text [athleteDetailed_followerCount] :: AthleteDetailed -> Integer [athleteDetailed_friend] :: AthleteDetailed -> Maybe Text [athleteDetailed_friendCount] :: AthleteDetailed -> Integer [athleteDetailed_ftp] :: AthleteDetailed -> Maybe Integer [athleteDetailed_id] :: AthleteDetailed -> Integer [athleteDetailed_lastname] :: AthleteDetailed -> Text [athleteDetailed_measurementPreference] :: AthleteDetailed -> MeasurementPreference [athleteDetailed_mutualFriendCount] :: AthleteDetailed -> Integer [athleteDetailed_premium] :: AthleteDetailed -> Bool [athleteDetailed_profile] :: AthleteDetailed -> Text [athleteDetailed_profileMedium] :: AthleteDetailed -> Text [athleteDetailed_resourceState] :: AthleteDetailed -> ResourceState [athleteDetailed_sex] :: AthleteDetailed -> Maybe Gender [athleteDetailed_shoes] :: AthleteDetailed -> [GearSummary] [athleteDetailed_state] :: AthleteDetailed -> Text [athleteDetailed_updatedAt] :: AthleteDetailed -> UTCTime [athleteDetailed_weight] :: AthleteDetailed -> Maybe Double -- | http://strava.github.io/api/v3/athlete/#summary data AthleteSummary AthleteSummary :: Maybe Text -> Maybe Text -> UTCTime -> Text -> Maybe Text -> Maybe Text -> Integer -> Text -> Bool -> Text -> Text -> ResourceState -> Maybe Gender -> Text -> UTCTime -> AthleteSummary [athleteSummary_city] :: AthleteSummary -> Maybe Text [athleteSummary_country] :: AthleteSummary -> Maybe Text [athleteSummary_createdAt] :: AthleteSummary -> UTCTime [athleteSummary_firstname] :: AthleteSummary -> Text [athleteSummary_follower] :: AthleteSummary -> Maybe Text [athleteSummary_friend] :: AthleteSummary -> Maybe Text [athleteSummary_id] :: AthleteSummary -> Integer [athleteSummary_lastname] :: AthleteSummary -> Text [athleteSummary_premium] :: AthleteSummary -> Bool [athleteSummary_profile] :: AthleteSummary -> Text [athleteSummary_profileMedium] :: AthleteSummary -> Text [athleteSummary_resourceState] :: AthleteSummary -> ResourceState [athleteSummary_sex] :: AthleteSummary -> Maybe Gender [athleteSummary_state] :: AthleteSummary -> Text [athleteSummary_updatedAt] :: AthleteSummary -> UTCTime -- | http://strava.github.io/api/v3/athlete/#meta data AthleteMeta AthleteMeta :: Integer -> ResourceState -> AthleteMeta [athleteMeta_id] :: AthleteMeta -> Integer [athleteMeta_resourceState] :: AthleteMeta -> ResourceState -- | http://strava.github.io/api/v3/athlete/#stats data ActivityTotals ActivityTotals :: Integer -> Double -> Double -> Double -> Double -> Double -> ActivityTotals [activityTotals_count] :: ActivityTotals -> Integer [activityTotals_distance] :: ActivityTotals -> Double [activityTotals_movingTime] :: ActivityTotals -> Double [activityTotals_elapsedTime] :: ActivityTotals -> Double [activityTotals_elevationGain] :: ActivityTotals -> Double [activityTotals_achievementCount] :: ActivityTotals -> Double -- | http://strava.github.io/api/v3/athlete/#stats data AthleteStats AthleteStats :: Double -> Double -> ActivityTotals -> ActivityTotals -> ActivityTotals -> ActivityTotals -> ActivityTotals -> ActivityTotals -> AthleteStats [athleteStats_biggestRideDistance] :: AthleteStats -> Double [athleteStats_biggestClimbElevationGain] :: AthleteStats -> Double [athleteStats_recentRideTotals] :: AthleteStats -> ActivityTotals [athleteStats_recentRunTotals] :: AthleteStats -> ActivityTotals [athleteStats_ytdRideTotals] :: AthleteStats -> ActivityTotals [athleteStats_ytdRunTotals] :: AthleteStats -> ActivityTotals [athleteStats_allRideTotals] :: AthleteStats -> ActivityTotals [athleteStats_allRunTotals] :: AthleteStats -> ActivityTotals instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Athletes.AthleteStats instance GHC.Show.Show Strive.Types.Athletes.AthleteStats instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Athletes.ActivityTotals instance GHC.Show.Show Strive.Types.Athletes.ActivityTotals instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Athletes.AthleteMeta instance GHC.Show.Show Strive.Types.Athletes.AthleteMeta instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Athletes.AthleteSummary instance GHC.Show.Show Strive.Types.Athletes.AthleteSummary instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Athletes.AthleteDetailed instance GHC.Show.Show Strive.Types.Athletes.AthleteDetailed -- | http://strava.github.io/api/v3/oauth/ module Strive.Types.Authentication -- | http://strava.github.io/api/v3/oauth/#example-response data TokenExchangeResponse TokenExchangeResponse :: Text -> AthleteDetailed -> TokenExchangeResponse [tokenExchangeResponse_accessToken] :: TokenExchangeResponse -> Text [tokenExchangeResponse_athlete] :: TokenExchangeResponse -> AthleteDetailed -- | http://strava.github.io/api/v3/oauth/#example-response-1 data DeauthorizationResponse DeauthorizationResponse :: Text -> DeauthorizationResponse [deauthorizationResponse_accessToken] :: DeauthorizationResponse -> Text instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Authentication.DeauthorizationResponse instance GHC.Show.Show Strive.Types.Authentication.DeauthorizationResponse instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Authentication.TokenExchangeResponse instance GHC.Show.Show Strive.Types.Authentication.TokenExchangeResponse -- | http://strava.github.io/api/v3/comments/ module Strive.Types.Comments -- | -- http://strava.github.io/api/v3/comments/#summary-and-detailed-representation-attributes data CommentSummary CommentSummary :: Integer -> AthleteSummary -> UTCTime -> Integer -> ResourceState -> Text -> CommentSummary [commentSummary_activityId] :: CommentSummary -> Integer [commentSummary_athlete] :: CommentSummary -> AthleteSummary [commentSummary_createdAt] :: CommentSummary -> UTCTime [commentSummary_id] :: CommentSummary -> Integer [commentSummary_resourceState] :: CommentSummary -> ResourceState [commentSummary_text] :: CommentSummary -> Text instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Comments.CommentSummary instance GHC.Show.Show Strive.Types.Comments.CommentSummary -- | http://strava.github.io/api/v3/photos/ module Strive.Types.Photos -- | -- http://strava.github.io/api/v3/photos/#summary-and-detailed-representation-attributes data PhotoSummary PhotoSummary :: Integer -> Text -> UTCTime -> Integer -> Maybe (Double, Double) -> Text -> ResourceState -> PhotoType -> Text -> UTCTime -> PhotoSummary [photoSummary_activityId] :: PhotoSummary -> Integer [photoSummary_caption] :: PhotoSummary -> Text [photoSummary_createdAt] :: PhotoSummary -> UTCTime [photoSummary_id] :: PhotoSummary -> Integer [photoSummary_location] :: PhotoSummary -> Maybe (Double, Double) [photoSummary_ref] :: PhotoSummary -> Text [photoSummary_resourceState] :: PhotoSummary -> ResourceState [photoSummary_type] :: PhotoSummary -> PhotoType [photoSummary_uid] :: PhotoSummary -> Text [photoSummary_uploadedAt] :: PhotoSummary -> UTCTime instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Photos.PhotoSummary instance GHC.Show.Show Strive.Types.Photos.PhotoSummary -- | http://strava.github.io/api/#polylines module Strive.Types.Polylines -- | http://strava.github.io/api/#polylines newtype Polyline Polyline :: [(Double, Double)] -> Polyline [unPolyline] :: Polyline -> [(Double, Double)] -- | http://strava.github.io/api/v3/activities/#detailed data PolylineDetailed PolylineDetailed :: Text -> Polyline -> ResourceState -> Maybe Polyline -> PolylineDetailed [polylineDetailed_id] :: PolylineDetailed -> Text [polylineDetailed_polyline] :: PolylineDetailed -> Polyline [polylineDetailed_resourceState] :: PolylineDetailed -> ResourceState [polylineDetailed_summaryPolyline] :: PolylineDetailed -> Maybe Polyline -- | http://strava.github.io/api/v3/activities/#summary data PolylineSummary PolylineSummary :: Text -> ResourceState -> Maybe Polyline -> PolylineSummary [polylineSummary_id] :: PolylineSummary -> Text [polylineSummary_resourceState] :: PolylineSummary -> ResourceState [polylineSummary_summaryPolyline] :: PolylineSummary -> Maybe Polyline instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Polylines.PolylineSummary instance GHC.Show.Show Strive.Types.Polylines.PolylineSummary instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Polylines.PolylineDetailed instance GHC.Show.Show Strive.Types.Polylines.PolylineDetailed instance GHC.Show.Show Strive.Types.Polylines.Polyline instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Polylines.Polyline -- | http://strava.github.io/api/v3/segments/ module Strive.Types.Segments -- | http://strava.github.io/api/v3/segments/#detailed data SegmentDetailed SegmentDetailed :: ActivityType -> Integer -> Double -> Text -> Integer -> Text -> UTCTime -> Double -> Integer -> Double -> Double -> Double -> (Double, Double) -> Double -> Bool -> Integer -> PolylineDetailed -> Double -> Text -> Bool -> ResourceState -> Integer -> Bool -> Double -> (Double, Double) -> Double -> Text -> Double -> UTCTime -> SegmentDetailed [segmentDetailed_activityType] :: SegmentDetailed -> ActivityType [segmentDetailed_athleteCount] :: SegmentDetailed -> Integer [segmentDetailed_averageGrade] :: SegmentDetailed -> Double [segmentDetailed_city] :: SegmentDetailed -> Text [segmentDetailed_climbCategory] :: SegmentDetailed -> Integer [segmentDetailed_country] :: SegmentDetailed -> Text [segmentDetailed_createdAt] :: SegmentDetailed -> UTCTime [segmentDetailed_distance] :: SegmentDetailed -> Double [segmentDetailed_effortCount] :: SegmentDetailed -> Integer [segmentDetailed_elevationHigh] :: SegmentDetailed -> Double [segmentDetailed_elevationLow] :: SegmentDetailed -> Double [segmentDetailed_endLatitude] :: SegmentDetailed -> Double [segmentDetailed_endLatlng] :: SegmentDetailed -> (Double, Double) [segmentDetailed_endLongitude] :: SegmentDetailed -> Double [segmentDetailed_hazardous] :: SegmentDetailed -> Bool [segmentDetailed_id] :: SegmentDetailed -> Integer [segmentDetailed_map] :: SegmentDetailed -> PolylineDetailed [segmentDetailed_maximumGrade] :: SegmentDetailed -> Double [segmentDetailed_name] :: SegmentDetailed -> Text [segmentDetailed_private] :: SegmentDetailed -> Bool [segmentDetailed_resourceState] :: SegmentDetailed -> ResourceState [segmentDetailed_starCount] :: SegmentDetailed -> Integer [segmentDetailed_starred] :: SegmentDetailed -> Bool [segmentDetailed_startLatitude] :: SegmentDetailed -> Double [segmentDetailed_startLatlng] :: SegmentDetailed -> (Double, Double) [segmentDetailed_startLongitude] :: SegmentDetailed -> Double [segmentDetailed_state] :: SegmentDetailed -> Text [segmentDetailed_totalElevationGain] :: SegmentDetailed -> Double [segmentDetailed_updatedAt] :: SegmentDetailed -> UTCTime -- | http://strava.github.io/api/v3/segments/#summary data SegmentSummary SegmentSummary :: ActivityType -> Double -> Text -> Integer -> Text -> Double -> Double -> Double -> Double -> (Double, Double) -> Double -> Integer -> Double -> Text -> Bool -> ResourceState -> Bool -> Double -> (Double, Double) -> Double -> Text -> SegmentSummary [segmentSummary_activityType] :: SegmentSummary -> ActivityType [segmentSummary_averageGrade] :: SegmentSummary -> Double [segmentSummary_city] :: SegmentSummary -> Text [segmentSummary_climbCategory] :: SegmentSummary -> Integer [segmentSummary_country] :: SegmentSummary -> Text [segmentSummary_distance] :: SegmentSummary -> Double [segmentSummary_elevationHigh] :: SegmentSummary -> Double [segmentSummary_elevationLow] :: SegmentSummary -> Double [segmentSummary_endLatitude] :: SegmentSummary -> Double [segmentSummary_endLatlng] :: SegmentSummary -> (Double, Double) [segmentSummary_endLongitude] :: SegmentSummary -> Double [segmentSummary_id] :: SegmentSummary -> Integer [segmentSummary_maximumGrade] :: SegmentSummary -> Double [segmentSummary_name] :: SegmentSummary -> Text [segmentSummary_private] :: SegmentSummary -> Bool [segmentSummary_resourceState] :: SegmentSummary -> ResourceState [segmentSummary_starred] :: SegmentSummary -> Bool [segmentSummary_startLatitude] :: SegmentSummary -> Double [segmentSummary_startLatlng] :: SegmentSummary -> (Double, Double) [segmentSummary_startLongitude] :: SegmentSummary -> Double [segmentSummary_state] :: SegmentSummary -> Text -- | http://strava.github.io/api/v3/segments/#leaderboard data SegmentLeaderboardResponse SegmentLeaderboardResponse :: Integer -> Integer -> [SegmentLeaderboardEntry] -> SegmentLeaderboardResponse [segmentLeaderboardResponse_effortCount] :: SegmentLeaderboardResponse -> Integer [segmentLeaderboardResponse_entryCount] :: SegmentLeaderboardResponse -> Integer [segmentLeaderboardResponse_entries] :: SegmentLeaderboardResponse -> [SegmentLeaderboardEntry] -- | http://strava.github.io/api/v3/segments/#leaderboard data SegmentLeaderboardEntry SegmentLeaderboardEntry :: Integer -> Maybe Gender -> Integer -> Text -> Text -> Double -> Double -> Double -> Integer -> Integer -> Integer -> Integer -> UTCTime -> UTCTime -> SegmentLeaderboardEntry [segmentLeaderboardEntry_activityId] :: SegmentLeaderboardEntry -> Integer [segmentLeaderboardEntry_athleteGender] :: SegmentLeaderboardEntry -> Maybe Gender [segmentLeaderboardEntry_athleteId] :: SegmentLeaderboardEntry -> Integer [segmentLeaderboardEntry_athleteName] :: SegmentLeaderboardEntry -> Text [segmentLeaderboardEntry_athleteProfile] :: SegmentLeaderboardEntry -> Text [segmentLeaderboardEntry_averageHr] :: SegmentLeaderboardEntry -> Double [segmentLeaderboardEntry_averageWatts] :: SegmentLeaderboardEntry -> Double [segmentLeaderboardEntry_distance] :: SegmentLeaderboardEntry -> Double [segmentLeaderboardEntry_effortId] :: SegmentLeaderboardEntry -> Integer [segmentLeaderboardEntry_elapsedTime] :: SegmentLeaderboardEntry -> Integer [segmentLeaderboardEntry_movingTime] :: SegmentLeaderboardEntry -> Integer [segmentLeaderboardEntry_rank] :: SegmentLeaderboardEntry -> Integer [segmentLeaderboardEntry_startDate] :: SegmentLeaderboardEntry -> UTCTime [segmentLeaderboardEntry_startDateLocal] :: SegmentLeaderboardEntry -> UTCTime -- | http://strava.github.io/api/v3/segments/#explore data SegmentExplorerResponse SegmentExplorerResponse :: [SegmentExplorerEntry] -> SegmentExplorerResponse [segmentExplorerResponse_segments] :: SegmentExplorerResponse -> [SegmentExplorerEntry] -- | http://strava.github.io/api/v3/segments/#explore data SegmentExplorerEntry SegmentExplorerEntry :: Double -> Integer -> String -> Double -> Double -> (Double, Double) -> Integer -> Text -> Polyline -> ResourceState -> Bool -> (Double, Double) -> SegmentExplorerEntry [segmentExplorerEntry_avgGrade] :: SegmentExplorerEntry -> Double [segmentExplorerEntry_climbCategory] :: SegmentExplorerEntry -> Integer [segmentExplorerEntry_climbCategoryDesc] :: SegmentExplorerEntry -> String [segmentExplorerEntry_distance] :: SegmentExplorerEntry -> Double [segmentExplorerEntry_elevDifference] :: SegmentExplorerEntry -> Double [segmentExplorerEntry_endLatlng] :: SegmentExplorerEntry -> (Double, Double) [segmentExplorerEntry_id] :: SegmentExplorerEntry -> Integer [segmentExplorerEntry_name] :: SegmentExplorerEntry -> Text [segmentExplorerEntry_points] :: SegmentExplorerEntry -> Polyline [segmentExplorerEntry_resourceState] :: SegmentExplorerEntry -> ResourceState [segmentExplorerEntry_starred] :: SegmentExplorerEntry -> Bool [segmentExplorerEntry_startLatlng] :: SegmentExplorerEntry -> (Double, Double) instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Segments.SegmentExplorerResponse instance GHC.Show.Show Strive.Types.Segments.SegmentExplorerResponse instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Segments.SegmentExplorerEntry instance GHC.Show.Show Strive.Types.Segments.SegmentExplorerEntry instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Segments.SegmentLeaderboardResponse instance GHC.Show.Show Strive.Types.Segments.SegmentLeaderboardResponse instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Segments.SegmentLeaderboardEntry instance GHC.Show.Show Strive.Types.Segments.SegmentLeaderboardEntry instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Segments.SegmentSummary instance GHC.Show.Show Strive.Types.Segments.SegmentSummary instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Segments.SegmentDetailed instance GHC.Show.Show Strive.Types.Segments.SegmentDetailed -- | http://strava.github.io/api/v3/efforts/ module Strive.Types.Efforts -- | http://strava.github.io/api/v3/efforts/#detailed data EffortDetailed EffortDetailed :: Integer -> Integer -> Maybe Double -> Maybe Double -> Maybe Double -> Double -> Integer -> Integer -> Maybe Bool -> Integer -> Maybe Integer -> Maybe Integer -> Integer -> Text -> Maybe Integer -> ResourceState -> SegmentSummary -> UTCTime -> UTCTime -> Integer -> EffortDetailed [effortDetailed_activityId] :: EffortDetailed -> Integer [effortDetailed_athleteId] :: EffortDetailed -> Integer [effortDetailed_averageCadence] :: EffortDetailed -> Maybe Double [effortDetailed_averageHeartrate] :: EffortDetailed -> Maybe Double [effortDetailed_averageWatts] :: EffortDetailed -> Maybe Double [effortDetailed_distance] :: EffortDetailed -> Double [effortDetailed_elapsedTime] :: EffortDetailed -> Integer [effortDetailed_endIndex] :: EffortDetailed -> Integer [effortDetailed_hidden] :: EffortDetailed -> Maybe Bool [effortDetailed_id] :: EffortDetailed -> Integer [effortDetailed_komRank] :: EffortDetailed -> Maybe Integer [effortDetailed_maxHeartrate] :: EffortDetailed -> Maybe Integer [effortDetailed_movingTime] :: EffortDetailed -> Integer [effortDetailed_name] :: EffortDetailed -> Text [effortDetailed_prRank] :: EffortDetailed -> Maybe Integer [effortDetailed_resourceState] :: EffortDetailed -> ResourceState [effortDetailed_segment] :: EffortDetailed -> SegmentSummary [effortDetailed_startDate] :: EffortDetailed -> UTCTime [effortDetailed_startDateLocal] :: EffortDetailed -> UTCTime [effortDetailed_startIndex] :: EffortDetailed -> Integer instance GHC.Show.Show Strive.Types.Efforts.EffortDetailed instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Efforts.EffortDetailed -- | http://strava.github.io/api/v3/activities/ module Strive.Types.Activities -- | http://strava.github.io/api/v3/activities/#detailed data ActivityDetailed ActivityDetailed :: Integer -> AthleteMeta -> Integer -> Double -> Maybe Double -> Maybe Double -> Double -> Integer -> Bool -> Maybe Text -> Maybe Bool -> Double -> Integer -> Maybe (Double, Double) -> Maybe Text -> Bool -> GearSummary -> Maybe Text -> Bool -> Integer -> Maybe Text -> Maybe Double -> Maybe Text -> Maybe Text -> Maybe Text -> Bool -> PolylineDetailed -> Maybe Double -> Double -> Integer -> Text -> Integer -> Bool -> ResourceState -> [EffortDetailed] -> UTCTime -> UTCTime -> Double -> Maybe (Double, Double) -> Double -> Text -> Double -> Bool -> Integer -> ActivityType -> Maybe Integer -> Maybe Integer -> ActivityDetailed [activityDetailed_achievementCount] :: ActivityDetailed -> Integer [activityDetailed_athlete] :: ActivityDetailed -> AthleteMeta [activityDetailed_athleteCount] :: ActivityDetailed -> Integer [activityDetailed_averageSpeed] :: ActivityDetailed -> Double [activityDetailed_averageWatts] :: ActivityDetailed -> Maybe Double [activityDetailed_averageHeartrate] :: ActivityDetailed -> Maybe Double [activityDetailed_calories] :: ActivityDetailed -> Double [activityDetailed_commentCount] :: ActivityDetailed -> Integer [activityDetailed_commute] :: ActivityDetailed -> Bool [activityDetailed_description] :: ActivityDetailed -> Maybe Text [activityDetailed_deviceWatts] :: ActivityDetailed -> Maybe Bool [activityDetailed_distance] :: ActivityDetailed -> Double [activityDetailed_elapsedTime] :: ActivityDetailed -> Integer [activityDetailed_endLatlng] :: ActivityDetailed -> Maybe (Double, Double) [activityDetailed_externalId] :: ActivityDetailed -> Maybe Text [activityDetailed_flagged] :: ActivityDetailed -> Bool [activityDetailed_gear] :: ActivityDetailed -> GearSummary [activityDetailed_gearId] :: ActivityDetailed -> Maybe Text [activityDetailed_hasKudoed] :: ActivityDetailed -> Bool [activityDetailed_id] :: ActivityDetailed -> Integer [activityDetailed_instagramPrimaryPhoto] :: ActivityDetailed -> Maybe Text [activityDetailed_kilojoules] :: ActivityDetailed -> Maybe Double [activityDetailed_locationCity] :: ActivityDetailed -> Maybe Text [activityDetailed_locationCountry] :: ActivityDetailed -> Maybe Text [activityDetailed_locationState] :: ActivityDetailed -> Maybe Text [activityDetailed_manual] :: ActivityDetailed -> Bool [activityDetailed_map] :: ActivityDetailed -> PolylineDetailed [activityDetailed_maxHeartrate] :: ActivityDetailed -> Maybe Double [activityDetailed_maxSpeed] :: ActivityDetailed -> Double [activityDetailed_movingTime] :: ActivityDetailed -> Integer [activityDetailed_name] :: ActivityDetailed -> Text [activityDetailed_photoCount] :: ActivityDetailed -> Integer [activityDetailed_private] :: ActivityDetailed -> Bool [activityDetailed_resourceState] :: ActivityDetailed -> ResourceState [activityDetailed_segmentEfforts] :: ActivityDetailed -> [EffortDetailed] [activityDetailed_startDate] :: ActivityDetailed -> UTCTime [activityDetailed_startDateLocal] :: ActivityDetailed -> UTCTime [activityDetailed_startLatitude] :: ActivityDetailed -> Double [activityDetailed_startLatlng] :: ActivityDetailed -> Maybe (Double, Double) [activityDetailed_startLongitude] :: ActivityDetailed -> Double [activityDetailed_timezone] :: ActivityDetailed -> Text [activityDetailed_totalElevationGain] :: ActivityDetailed -> Double [activityDetailed_trainer] :: ActivityDetailed -> Bool [activityDetailed_truncated] :: ActivityDetailed -> Integer [activityDetailed_type] :: ActivityDetailed -> ActivityType [activityDetailed_uploadId] :: ActivityDetailed -> Maybe Integer [activityDetailed_weightedAverageWatts] :: ActivityDetailed -> Maybe Integer -- | http://strava.github.io/api/v3/activities/#summary data ActivitySummary ActivitySummary :: Integer -> AthleteMeta -> Integer -> Double -> Maybe Double -> Maybe Double -> Integer -> Bool -> Maybe Bool -> Double -> Integer -> Maybe (Double, Double) -> Maybe Text -> Bool -> Maybe Text -> Bool -> Integer -> Maybe Double -> Integer -> Maybe Text -> Maybe Text -> Maybe Text -> Bool -> PolylineSummary -> Maybe Double -> Double -> Integer -> Text -> Integer -> Bool -> ResourceState -> UTCTime -> UTCTime -> Double -> Maybe (Double, Double) -> Double -> Text -> Double -> Bool -> ActivityType -> Maybe Integer -> Maybe Integer -> ActivitySummary [activitySummary_achievementCount] :: ActivitySummary -> Integer [activitySummary_athlete] :: ActivitySummary -> AthleteMeta [activitySummary_athleteCount] :: ActivitySummary -> Integer [activitySummary_averageSpeed] :: ActivitySummary -> Double [activitySummary_averageWatts] :: ActivitySummary -> Maybe Double [activitySummary_averageHeartrate] :: ActivitySummary -> Maybe Double [activitySummary_commentCount] :: ActivitySummary -> Integer [activitySummary_commute] :: ActivitySummary -> Bool [activitySummary_deviceWatts] :: ActivitySummary -> Maybe Bool [activitySummary_distance] :: ActivitySummary -> Double [activitySummary_elapsedTime] :: ActivitySummary -> Integer [activitySummary_endLatlng] :: ActivitySummary -> Maybe (Double, Double) [activitySummary_externalId] :: ActivitySummary -> Maybe Text [activitySummary_flagged] :: ActivitySummary -> Bool [activitySummary_gearId] :: ActivitySummary -> Maybe Text [activitySummary_hasKudoed] :: ActivitySummary -> Bool [activitySummary_id] :: ActivitySummary -> Integer [activitySummary_kilojoules] :: ActivitySummary -> Maybe Double [activitySummary_kudosCount] :: ActivitySummary -> Integer [activitySummary_locationCity] :: ActivitySummary -> Maybe Text [activitySummary_locationCountry] :: ActivitySummary -> Maybe Text [activitySummary_locationState] :: ActivitySummary -> Maybe Text [activitySummary_manual] :: ActivitySummary -> Bool [activitySummary_map] :: ActivitySummary -> PolylineSummary [activitySummary_maxHeartrate] :: ActivitySummary -> Maybe Double [activitySummary_maxSpeed] :: ActivitySummary -> Double [activitySummary_movingTime] :: ActivitySummary -> Integer [activitySummary_name] :: ActivitySummary -> Text [activitySummary_photoCount] :: ActivitySummary -> Integer [activitySummary_private] :: ActivitySummary -> Bool [activitySummary_resourceState] :: ActivitySummary -> ResourceState [activitySummary_startDate] :: ActivitySummary -> UTCTime [activitySummary_startDateLocal] :: ActivitySummary -> UTCTime [activitySummary_startLatitude] :: ActivitySummary -> Double [activitySummary_startLatlng] :: ActivitySummary -> Maybe (Double, Double) [activitySummary_startLongitude] :: ActivitySummary -> Double [activitySummary_timezone] :: ActivitySummary -> Text [activitySummary_totalElevationGain] :: ActivitySummary -> Double [activitySummary_trainer] :: ActivitySummary -> Bool [activitySummary_type] :: ActivitySummary -> ActivityType [activitySummary_uploadId] :: ActivitySummary -> Maybe Integer [activitySummary_weightedAverageWatts] :: ActivitySummary -> Maybe Integer -- | http://strava.github.io/api/v3/activities/#zones data ActivityZoneDetailed ActivityZoneDetailed :: [ActivityZoneDistributionBucket] -> ResourceState -> Bool -> ActivityZoneType -> ActivityZoneDetailed [activityZoneDetailed_distributionBuckets] :: ActivityZoneDetailed -> [ActivityZoneDistributionBucket] [activityZoneDetailed_resourceState] :: ActivityZoneDetailed -> ResourceState [activityZoneDetailed_sensorBased] :: ActivityZoneDetailed -> Bool [activityZoneDetailed_type] :: ActivityZoneDetailed -> ActivityZoneType -- | http://strava.github.io/api/v3/activities/#zones data ActivityZoneDistributionBucket ActivityZoneDistributionBucket :: Integer -> Integer -> Integer -> ActivityZoneDistributionBucket [activityZoneDistributionBucket_max] :: ActivityZoneDistributionBucket -> Integer [activityZoneDistributionBucket_min] :: ActivityZoneDistributionBucket -> Integer [activityZoneDistributionBucket_time] :: ActivityZoneDistributionBucket -> Integer -- | http://strava.github.io/api/v3/activities/#laps data ActivityLapSummary ActivityLapSummary :: Integer -> Integer -> Double -> Double -> Double -> Integer -> Integer -> Integer -> Integer -> Double -> Double -> Text -> ResourceState -> UTCTime -> UTCTime -> Integer -> Double -> ActivityLapSummary [activityLapSummary_activityId] :: ActivityLapSummary -> Integer [activityLapSummary_athleteId] :: ActivityLapSummary -> Integer [activityLapSummary_averageSpeed] :: ActivityLapSummary -> Double [activityLapSummary_averageWatts] :: ActivityLapSummary -> Double [activityLapSummary_distance] :: ActivityLapSummary -> Double [activityLapSummary_elapsedTime] :: ActivityLapSummary -> Integer [activityLapSummary_endIndex] :: ActivityLapSummary -> Integer [activityLapSummary_id] :: ActivityLapSummary -> Integer [activityLapSummary_lapIndex] :: ActivityLapSummary -> Integer [activityLapSummary_maxSpeed] :: ActivityLapSummary -> Double [activityLapSummary_movingTime] :: ActivityLapSummary -> Double [activityLapSummary_name] :: ActivityLapSummary -> Text [activityLapSummary_resourceState] :: ActivityLapSummary -> ResourceState [activityLapSummary_startDate] :: ActivityLapSummary -> UTCTime [activityLapSummary_startDateLocal] :: ActivityLapSummary -> UTCTime [activityLapSummary_startIndex] :: ActivityLapSummary -> Integer [activityLapSummary_totalElevationGain] :: ActivityLapSummary -> Double instance GHC.Show.Show Strive.Types.Activities.ActivityLapSummary instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Activities.ActivityZoneDetailed instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Activities.ActivityLapSummary instance GHC.Show.Show Strive.Types.Activities.ActivityZoneDetailed instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Activities.ActivityZoneDistributionBucket instance GHC.Show.Show Strive.Types.Activities.ActivityZoneDistributionBucket instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Activities.ActivitySummary instance GHC.Show.Show Strive.Types.Activities.ActivitySummary instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Activities.ActivityDetailed instance GHC.Show.Show Strive.Types.Activities.ActivityDetailed -- | http://strava.github.io/api/v3/streams/ module Strive.Types.Streams -- | http://strava.github.io/api/v3/streams/#detailed data StreamDetailed StreamDetailed :: [Value] -> Integer -> Resolution -> SeriesType -> Text -> StreamDetailed [streamDetailed_data] :: StreamDetailed -> [Value] [streamDetailed_originalSize] :: StreamDetailed -> Integer [streamDetailed_resolution] :: StreamDetailed -> Resolution [streamDetailed_seriesType] :: StreamDetailed -> SeriesType [streamDetailed_type] :: StreamDetailed -> Text instance Data.Aeson.Types.FromJSON.FromJSON Strive.Types.Streams.StreamDetailed instance GHC.Show.Show Strive.Types.Streams.StreamDetailed -- | Data types representing responses from the API. module Strive.Types -- | Utility functions for making common actions easier. module Strive.Utilities -- | Modify an action's default options by listing changes to it. with :: Default a => [a -> a] -> a altitudeStream :: StreamDetailed -> Maybe [Double] cadenceStream :: StreamDetailed -> Maybe [Integer] distanceStream :: StreamDetailed -> Maybe [Double] gradeSmoothStream :: StreamDetailed -> Maybe [Double] heartrateStream :: StreamDetailed -> Maybe [Integer] latlngStream :: StreamDetailed -> Maybe [(Double, Double)] movingStream :: StreamDetailed -> Maybe [Bool] tempStream :: StreamDetailed -> Maybe [Integer] timeStream :: StreamDetailed -> Maybe [Integer] velocitySmoothStream :: StreamDetailed -> Maybe [Double] wattsStream :: StreamDetailed -> Maybe [Integer] -- | Types and functions for dealing with the API client itself. module Strive.Client -- | Strava V3 API client. data Client Client :: String -> (Request -> IO (Response ByteString)) -> Client [client_accessToken] :: Client -> String [client_requester] :: Client -> Request -> IO (Response ByteString) -- | Build a new client using the default HTTP manager to make requests. buildClient :: Maybe Text -> IO Client instance GHC.Show.Show Strive.Client.Client -- | Aliases for common types. module Strive.Aliases type ActivityId = Integer type ApplicationId = Integer type ApplicationSecret = String type AthleteId = Integer type AuthorizationCode = String type ClubId = Integer type EffortId = Integer type ElapsedTime = Integer type Extension = String type GearId = String type Latitude = Double type Longitude = Double type Name = String type RedirectUri = String type Result a = Either (Response ByteString, String) a type SegmentId = Integer type StartTime = UTCTime type StreamId = Integer type UploadId = Integer -- | Helpers for dealing with HTTP requests. module Strive.Internal.HTTP -- | Perform an HTTP DELETE request. delete :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) -- | Perform an HTTP GET request. get :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) -- | Perform an HTTP POST request. post :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) -- | Perform an HTTP PUT request. put :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j) -- | Build a request. buildRequest :: QueryLike q => Method -> Client -> String -> q -> IO Request -- | Actually perform an HTTP request. performRequest :: Client -> Request -> IO (Response ByteString) -- | Handle decoding a potentially failed response. handleResponse :: FromJSON j => Response ByteString -> Result j -- | Decode a response body as JSON. decodeValue :: FromJSON j => Response ByteString -> Either String j -- | http://strava.github.io/api/v3/uploads/ module Strive.Actions.Uploads -- | http://strava.github.io/api/v3/uploads/#post-file uploadActivity :: Client -> ByteString -> Extension -> UploadActivityOptions -> IO (Result UploadStatus) -- | http://strava.github.io/api/v3/uploads/#get-status getUpload :: Client -> UploadId -> IO (Result UploadStatus) -- | http://strava.github.io/api/v3/streams/ module Strive.Actions.Streams -- | http://strava.github.io/api/v3/streams/#activity getActivityStreams :: Client -> StreamId -> [StreamType] -> GetStreamsOptions -> IO (Result [StreamDetailed]) -- | http://strava.github.io/api/v3/streams/#effort getEffortStreams :: Client -> StreamId -> [StreamType] -> GetStreamsOptions -> IO (Result [StreamDetailed]) -- | http://strava.github.io/api/v3/streams/#segment getSegmentStreams :: Client -> StreamId -> [StreamType] -> GetStreamsOptions -> IO (Result [StreamDetailed]) -- | http://strava.github.io/api/v3/segments/ module Strive.Actions.Segments -- | http://strava.github.io/api/v3/segments/#retrieve getSegment :: Client -> SegmentId -> IO (Result SegmentDetailed) -- | http://strava.github.io/api/v3/segments/#starred getStarredSegments :: Client -> GetStarredSegmentsOptions -> IO (Result [SegmentSummary]) -- | http://strava.github.io/api/v3/segments/#efforts getSegmentEfforts :: Client -> SegmentId -> GetSegmentEffortsOptions -> IO (Result [EffortDetailed]) -- | http://strava.github.io/api/v3/segments/#leaderboard getSegmentLeaderboard :: Client -> SegmentId -> GetSegmentLeaderboardOptions -> IO (Result SegmentLeaderboardResponse) -- | http://strava.github.io/api/v3/segments/#explore exploreSegments :: Client -> (Latitude, Longitude, Latitude, Longitude) -> ExploreSegmentsOptions -> IO (Result SegmentExplorerResponse) -- | http://strava.github.io/api/v3/photos/ module Strive.Actions.Photos -- | http://strava.github.io/api/v3/photos/#list getActivityPhotos :: Client -> ActivityId -> IO (Result [PhotoSummary]) -- | http://strava.github.io/api/v3/kudos/ module Strive.Actions.Kudos -- | http://strava.github.io/api/v3/kudos/#list getActivityKudoers :: Client -> ActivityId -> GetActivityKudoersOptions -> IO (Result [AthleteSummary]) -- | http://strava.github.io/api/v3/gear/ module Strive.Actions.Gear -- | http://strava.github.io/api/v3/gear/#show getGear :: Client -> GearId -> IO (Result GearDetailed) -- | http://strava.github.io/api/v3/follow/ module Strive.Actions.Friends -- | http://strava.github.io/api/v3/follow/#friends getCurrentFriends :: Client -> GetCurrentFriendsOptions -> IO (Result [AthleteSummary]) -- | http://strava.github.io/api/v3/follow/#friends getFriends :: Client -> AthleteId -> GetFriendsOptions -> IO (Result [AthleteSummary]) -- | http://strava.github.io/api/v3/follow/#followers getCurrentFollowers :: Client -> GetCurrentFollowersOptions -> IO (Result [AthleteSummary]) -- | http://strava.github.io/api/v3/follow/#followers getFollowers :: Client -> AthleteId -> GetFollowersOptions -> IO (Result [AthleteSummary]) -- | http://strava.github.io/api/v3/follow/#both getCommonFriends :: Client -> AthleteId -> GetCommonFriendsOptions -> IO (Result [AthleteSummary]) -- | http://strava.github.io/api/v3/efforts/ module Strive.Actions.Efforts -- | http://strava.github.io/api/v3/efforts/#retrieve getSegmentEffort :: Client -> EffortId -> IO (Result EffortDetailed) -- | http://strava.github.io/api/v3/comments/ module Strive.Actions.Comments -- | http://strava.github.io/api/v3/comments/#list getActivityComments :: Client -> ActivityId -> GetActivityCommentsOptions -> IO (Result [CommentSummary]) -- | http://strava.github.io/api/v3/clubs/ module Strive.Actions.Clubs -- | http://strava.github.io/api/v3/clubs/#get-details getClub :: Client -> ClubId -> IO (Result ClubDetailed) -- | http://strava.github.io/api/v3/clubs/#get-athletes getCurrentClubs :: Client -> IO (Result [ClubSummary]) -- | http://strava.github.io/api/v3/clubs/#get-members getClubMembers :: Client -> ClubId -> GetClubMembersOptions -> IO (Result [AthleteSummary]) -- | http://strava.github.io/api/v3/clubs/#get-activities getClubActivities :: Client -> ClubId -> GetClubActivitiesOptions -> IO (Result [ActivitySummary]) -- | http://strava.github.io/api/v3/clubs/#join joinClub :: Client -> ClubId -> IO (Result ()) -- | http://strava.github.io/api/v3/clubs/#leave leaveClub :: Client -> ClubId -> IO (Result ()) -- | http://strava.github.io/api/v3/oauth/ module Strive.Actions.Authentication -- | http://strava.github.io/api/v3/oauth/#get-authorize buildAuthorizeUrl :: ApplicationId -> RedirectUri -> BuildAuthorizeUrlOptions -> String -- | http://strava.github.io/api/v3/oauth/#post-token exchangeToken :: ApplicationId -> ApplicationSecret -> AuthorizationCode -> IO (Result TokenExchangeResponse) -- | http://strava.github.io/api/v3/oauth/#deauthorize deauthorize :: Client -> IO (Result DeauthorizationResponse) -- | http://strava.github.io/api/v3/athlete/ module Strive.Actions.Athletes -- | http://strava.github.io/api/v3/athlete/#get-details getCurrentAthlete :: Client -> IO (Result AthleteDetailed) -- | http://strava.github.io/api/v3/athlete/#get-another-details getAthlete :: Client -> AthleteId -> IO (Result AthleteSummary) -- | http://strava.github.io/api/v3/athlete/#update updateCurrentAthlete :: Client -> UpdateCurrentAthleteOptions -> IO (Result AthleteDetailed) -- | http://strava.github.io/api/v3/athlete/#stats getAthleteStats :: Client -> Integer -> IO (Result AthleteStats) -- | http://strava.github.io/api/v3/athlete/#koms getAthleteCrs :: Client -> AthleteId -> GetAthleteCrsOptions -> IO (Result [EffortDetailed]) -- | http://strava.github.io/api/v3/activities/ module Strive.Actions.Activities -- | http://strava.github.io/api/v3/activities/#create createActivity :: Client -> Name -> ActivityType -> StartTime -> ElapsedTime -> CreateActivityOptions -> IO (Result ActivityDetailed) -- | http://strava.github.io/api/v3/activities/#get-details getActivity :: Client -> ActivityId -> GetActivityOptions -> IO (Result ActivitySummary) -- | http://strava.github.io/api/v3/activities/#put-updates updateActivity :: Client -> ActivityId -> UpdateActivityOptions -> IO (Result ActivityDetailed) -- | http://strava.github.io/api/v3/activities/#delete deleteActivity :: Client -> ActivityId -> IO (Result ()) -- | http://strava.github.io/api/v3/activities/#get-activities getCurrentActivities :: Client -> GetCurrentActivitiesOptions -> IO (Result [ActivitySummary]) -- | http://strava.github.io/api/v3/activities/#get-related getRelatedActivities :: Client -> ActivityId -> GetRelatedActivitiesOptions -> IO (Result [ActivitySummary]) -- | http://strava.github.io/api/v3/activities/#get-feed getFeed :: Client -> GetFeedOptions -> IO (Result [ActivitySummary]) -- | http://strava.github.io/api/v3/activities/#zones getActivityZones :: Client -> ActivityId -> IO (Result [ActivityZoneDetailed]) -- | http://strava.github.io/api/v3/activities/#laps getActivityLaps :: Client -> ActivityId -> IO (Result [ActivityLapSummary]) -- | Functions for performing actions against the API. module Strive.Actions -- | A Haskell client for the Strava V3 API. module Strive