-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A Haskell client for the Strava V3 API.
--
-- A Haskell client for the Strava V3 API.
--
-- Check out the readme for complete documentation.
@package strive
@version 0.6.1
-- | 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 FromJSON UploadStatus
instance Show UploadStatus
-- | Kudos
module Strive.Options.Kudos
-- | getActivityKudoers
type GetActivityKudoersOptions = 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
-- | 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 Show GetActivityCommentsOptions
instance QueryLike GetActivityCommentsOptions
instance Default 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 Show BuildAuthorizeUrlOptions
instance QueryLike BuildAuthorizeUrlOptions
instance Default BuildAuthorizeUrlOptions
-- | 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
-- | Lenses for easily getting and setting values.
module Strive.Lenses
-- | A lens for a record.
type Lens a b = 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
-- | Types for choosing an option from a limited set.
module Strive.Enums
-- | An activity's type.
data ActivityType
Alpineski :: ActivityType
Backcountryski :: ActivityType
Hike :: ActivityType
Iceskate :: ActivityType
Inlineskate :: ActivityType
Kitesurf :: ActivityType
Nordicski :: ActivityType
Ride :: ActivityType
Rollerski :: ActivityType
Run :: ActivityType
Snowboard :: ActivityType
Snowshoe :: ActivityType
Swim :: ActivityType
Walk :: ActivityType
Windsurf :: ActivityType
Workout :: 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 Show ActivityType
instance Show ActivityZoneType
instance Show ClubType
instance Show FrameType
instance Show MeasurementPreference
instance Show PhotoType
instance Show ResourceState
instance Show SportType
instance Show WeightClass
instance Show StreamType
instance FromJSON SportType
instance FromJSON SeriesType
instance Show SeriesType
instance Show SegmentActivityType
instance FromJSON ResourceState
instance FromJSON Resolution
instance Show Resolution
instance FromJSON PhotoType
instance FromJSON MeasurementPreference
instance FromJSON Gender
instance Show Gender
instance FromJSON FrameType
instance FromJSON ClubType
instance Show AgeGroup
instance FromJSON ActivityZoneType
instance FromJSON ActivityType
-- | 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
-- | getFeed
type GetFeedOptions = PaginationOptions
instance Show CreateActivityOptions
instance Show GetActivityOptions
instance Show UpdateActivityOptions
instance Show GetCurrentActivitiesOptions
instance QueryLike GetCurrentActivitiesOptions
instance Default GetCurrentActivitiesOptions
instance QueryLike UpdateActivityOptions
instance Default UpdateActivityOptions
instance QueryLike GetActivityOptions
instance Default GetActivityOptions
instance QueryLike CreateActivityOptions
instance Default CreateActivityOptions
-- | 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 Show UpdateCurrentAthleteOptions
instance QueryLike UpdateCurrentAthleteOptions
instance Default UpdateCurrentAthleteOptions
-- | Clubs
module Strive.Options.Clubs
-- | getClubMembers
type GetClubMembersOptions = PaginationOptions
-- | getClubActivities
type GetClubActivitiesOptions = PaginationOptions
-- | 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 -> 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_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 Show GetSegmentEffortsOptions
instance Show GetSegmentLeaderboardOptions
instance Show ExploreSegmentsOptions
instance QueryLike ExploreSegmentsOptions
instance Default ExploreSegmentsOptions
instance QueryLike GetSegmentLeaderboardOptions
instance Default GetSegmentLeaderboardOptions
instance QueryLike GetSegmentEffortsOptions
instance Default GetSegmentEffortsOptions
-- | Streams
module Strive.Options.Streams
-- | getStreams
data GetStreamsOptions
GetStreamsOptions :: Maybe Resolution -> SeriesType -> GetStreamsOptions
getStreamsOptions_resolution :: GetStreamsOptions -> Maybe Resolution
getStreamsOptions_seriesType :: GetStreamsOptions -> SeriesType
instance Show GetStreamsOptions
instance QueryLike GetStreamsOptions
instance Default 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 Show UploadActivityOptions
instance QueryLike UploadActivityOptions
instance Default 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 FromJSON ClubSummary
instance Show ClubSummary
instance FromJSON ClubDetailed
instance Show 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 FromJSON GearSummary
instance Show GearSummary
instance FromJSON GearDetailed
instance Show 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 -> 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
-- | 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
instance FromJSON AthleteMeta
instance Show AthleteMeta
instance FromJSON AthleteSummary
instance Show AthleteSummary
instance FromJSON AthleteDetailed
instance Show 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 FromJSON DeauthorizationResponse
instance Show DeauthorizationResponse
instance FromJSON TokenExchangeResponse
instance Show 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 FromJSON CommentSummary
instance Show 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 FromJSON PhotoSummary
instance Show PhotoSummary
-- | http://strava.github.io/api/#polylines
module Strive.Types.Polylines
-- | http://strava.github.io/api/v3/activities/#detailed
data PolylineDetailed
PolylineDetailed :: Text -> [(Double, Double)] -> ResourceState -> Maybe [(Double, Double)] -> PolylineDetailed
polylineDetailed_id :: PolylineDetailed -> Text
polylineDetailed_polyline :: PolylineDetailed -> [(Double, Double)]
polylineDetailed_resourceState :: PolylineDetailed -> ResourceState
polylineDetailed_summaryPolyline :: PolylineDetailed -> Maybe [(Double, Double)]
-- | http://strava.github.io/api/v3/activities/#summary
data PolylineSummary
PolylineSummary :: Text -> ResourceState -> Maybe [(Double, Double)] -> PolylineSummary
polylineSummary_id :: PolylineSummary -> Text
polylineSummary_resourceState :: PolylineSummary -> ResourceState
polylineSummary_summaryPolyline :: PolylineSummary -> Maybe [(Double, Double)]
instance Show PolylineDetailed
instance Show PolylineSummary
instance FromJSON PolylineSummary
instance FromJSON PolylineDetailed
-- | 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_entries :: SegmentExplorerResponse -> [SegmentExplorerEntry]
-- | http://strava.github.io/api/v3/segments/#explore
data SegmentExplorerEntry
SegmentExplorerEntry :: Double -> Integer -> String -> Double -> Double -> (Double, Double) -> Integer -> Text -> Text -> 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 -> Text
segmentExplorerEntry_resourceState :: SegmentExplorerEntry -> ResourceState
segmentExplorerEntry_starred :: SegmentExplorerEntry -> Bool
segmentExplorerEntry_startLatlng :: SegmentExplorerEntry -> (Double, Double)
instance FromJSON SegmentExplorerResponse
instance Show SegmentExplorerResponse
instance FromJSON SegmentExplorerEntry
instance Show SegmentExplorerEntry
instance FromJSON SegmentLeaderboardResponse
instance Show SegmentLeaderboardResponse
instance FromJSON SegmentLeaderboardEntry
instance Show SegmentLeaderboardEntry
instance FromJSON SegmentSummary
instance Show SegmentSummary
instance FromJSON SegmentDetailed
instance Show 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 Show EffortDetailed
instance FromJSON 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 -> Double -> Integer -> Bool -> Maybe Text -> Double -> Integer -> Maybe (Double, Double) -> Maybe Text -> Bool -> GearSummary -> Maybe Text -> Bool -> Integer -> Maybe Text -> Maybe Double -> Maybe Text -> Text -> Maybe Text -> Bool -> PolylineDetailed -> Double -> Integer -> Text -> Integer -> Bool -> ResourceState -> [EffortDetailed] -> UTCTime -> UTCTime -> Double -> Maybe (Double, Double) -> Double -> Text -> Double -> Bool -> Integer -> ActivityType -> 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_calories :: ActivityDetailed -> Double
activityDetailed_commentCount :: ActivityDetailed -> Integer
activityDetailed_commute :: ActivityDetailed -> Bool
activityDetailed_description :: ActivityDetailed -> Maybe Text
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 -> Text
activityDetailed_locationState :: ActivityDetailed -> Maybe Text
activityDetailed_manual :: ActivityDetailed -> Bool
activityDetailed_map :: ActivityDetailed -> PolylineDetailed
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
-- | http://strava.github.io/api/v3/activities/#summary
data ActivitySummary
ActivitySummary :: Integer -> AthleteMeta -> Integer -> Double -> Maybe Double -> Integer -> Bool -> Double -> Integer -> Maybe (Double, Double) -> Maybe Text -> Bool -> Maybe Text -> Bool -> Integer -> Maybe Double -> Integer -> Maybe Text -> Text -> Maybe Text -> Bool -> PolylineSummary -> Double -> Integer -> Text -> Integer -> Bool -> ResourceState -> UTCTime -> UTCTime -> Double -> Maybe (Double, Double) -> Double -> Text -> Double -> Bool -> ActivityType -> 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_commentCount :: ActivitySummary -> Integer
activitySummary_commute :: ActivitySummary -> 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 -> Text
activitySummary_locationState :: ActivitySummary -> Maybe Text
activitySummary_manual :: ActivitySummary -> Bool
activitySummary_map :: ActivitySummary -> PolylineSummary
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
-- | 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 Show ActivityLapSummary
instance FromJSON ActivityLapSummary
instance FromJSON ActivityZoneDetailed
instance Show ActivityZoneDetailed
instance FromJSON ActivityZoneDistributionBucket
instance Show ActivityZoneDistributionBucket
instance FromJSON ActivitySummary
instance Show ActivitySummary
instance FromJSON ActivityDetailed
instance Show 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 FromJSON StreamDetailed
instance Show StreamDetailed
-- | Data types representing responses from the API.
module Strive.Types
-- | 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 :: String -> IO Client
instance Show Client
-- | http://strava.github.io/api/v3/activities/
module Strive.Actions.Activities
-- | http://strava.github.io/api/v3/activities/#create
createActivity :: Client -> String -> String -> UTCTime -> Integer -> CreateActivityOptions -> IO (Either String ActivityDetailed)
-- | http://strava.github.io/api/v3/activities/#get-details
getActivity :: Client -> Integer -> GetActivityOptions -> IO (Either String ActivitySummary)
-- | http://strava.github.io/api/v3/activities/#put-updates
updateActivity :: Client -> Integer -> UpdateActivityOptions -> IO (Either String ActivityDetailed)
-- | http://strava.github.io/api/v3/activities/#delete
deleteActivity :: Client -> Integer -> IO (Either String ())
-- | http://strava.github.io/api/v3/activities/#get-activities
getCurrentActivities :: Client -> GetCurrentActivitiesOptions -> IO (Either String [ActivitySummary])
-- | http://strava.github.io/api/v3/activities/#get-feed
getFeed :: Client -> GetFeedOptions -> IO (Either String [ActivitySummary])
-- | http://strava.github.io/api/v3/activities/#zones
getActivityZones :: Client -> Integer -> IO (Either String [ActivityZoneDetailed])
-- | http://strava.github.io/api/v3/activities/#laps
getActivityLaps :: Client -> Integer -> IO (Either String [ActivityLapSummary])
-- | http://strava.github.io/api/v3/athlete/
module Strive.Actions.Athletes
-- | http://strava.github.io/api/v3/athlete/#get-details
getCurrentAthlete :: Client -> IO (Either String AthleteDetailed)
-- | http://strava.github.io/api/v3/athlete/#get-another-details
getAthlete :: Client -> Integer -> IO (Either String AthleteSummary)
-- | http://strava.github.io/api/v3/athlete/#update
updateCurrentAthlete :: Client -> UpdateCurrentAthleteOptions -> IO (Either String AthleteDetailed)
-- | http://strava.github.io/api/v3/athlete/#koms
getAthleteCrs :: Client -> Integer -> GetAthleteCrsOptions -> IO (Either String [EffortDetailed])
-- | http://strava.github.io/api/v3/oauth/
module Strive.Actions.Authentication
-- | http://strava.github.io/api/v3/oauth/#get-authorize
buildAuthorizeUrl :: Integer -> String -> BuildAuthorizeUrlOptions -> String
-- | http://strava.github.io/api/v3/oauth/#post-token
exchangeToken :: Integer -> String -> String -> IO (Either String TokenExchangeResponse)
-- | http://strava.github.io/api/v3/oauth/#deauthorize
deauthorize :: Client -> IO (Either String DeauthorizationResponse)
-- | http://strava.github.io/api/v3/clubs/
module Strive.Actions.Clubs
-- | http://strava.github.io/api/v3/clubs/#get-details
getClub :: Client -> Integer -> IO (Either String ClubDetailed)
-- | http://strava.github.io/api/v3/clubs/#get-athletes
getCurrentClubs :: Client -> IO (Either String [ClubSummary])
-- | http://strava.github.io/api/v3/clubs/#get-members
getClubMembers :: Client -> Integer -> GetClubMembersOptions -> IO (Either String [AthleteSummary])
-- | http://strava.github.io/api/v3/clubs/#get-activities
getClubActivities :: Client -> Integer -> GetClubActivitiesOptions -> IO (Either String [ActivitySummary])
-- | http://strava.github.io/api/v3/comments/
module Strive.Actions.Comments
-- | http://strava.github.io/api/v3/comments/#list
getActivityComments :: Client -> Integer -> GetActivityCommentsOptions -> IO (Either String [CommentSummary])
-- | http://strava.github.io/api/v3/efforts/
module Strive.Actions.Efforts
-- | http://strava.github.io/api/v3/efforts/#retrieve
getSegmentEffort :: Client -> Integer -> IO (Either String EffortDetailed)
-- | http://strava.github.io/api/v3/follow/
module Strive.Actions.Friends
-- | http://strava.github.io/api/v3/follow/#friends
getCurrentFriends :: Client -> GetCurrentFriendsOptions -> IO (Either String [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#friends
getFriends :: Client -> Integer -> GetFriendsOptions -> IO (Either String [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#followers
getCurrentFollowers :: Client -> GetCurrentFollowersOptions -> IO (Either String [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#followers
getFollowers :: Client -> Integer -> GetFollowersOptions -> IO (Either String [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#both
getCommonFriends :: Client -> Integer -> GetCommonFriendsOptions -> IO (Either String [AthleteSummary])
-- | http://strava.github.io/api/v3/gear/
module Strive.Actions.Gear
-- | http://strava.github.io/api/v3/gear/#show
getGear :: Client -> String -> IO (Either String GearDetailed)
-- | http://strava.github.io/api/v3/kudos/
module Strive.Actions.Kudos
-- | http://strava.github.io/api/v3/kudos/#list
getActivityKudoers :: Client -> Integer -> GetActivityKudoersOptions -> IO (Either String [AthleteSummary])
-- | http://strava.github.io/api/v3/photos/
module Strive.Actions.Photos
-- | http://strava.github.io/api/v3/photos/#list
getActivityPhotos :: Client -> Integer -> IO (Either String [PhotoSummary])
-- | http://strava.github.io/api/v3/segments/
module Strive.Actions.Segments
-- | http://strava.github.io/api/v3/segments/#retrieve
getSegment :: Client -> Integer -> IO (Either String SegmentDetailed)
-- | http://strava.github.io/api/v3/segments/#starred
getStarredSegments :: Client -> GetStarredSegmentsOptions -> IO (Either String [SegmentSummary])
-- | http://strava.github.io/api/v3/segments/#efforts
getSegmentEfforts :: Client -> Integer -> GetSegmentEffortsOptions -> IO (Either String [EffortDetailed])
-- | http://strava.github.io/api/v3/segments/#leaderboard
getSegmentLeaderboard :: Client -> Integer -> GetSegmentLeaderboardOptions -> IO (Either String SegmentLeaderboardResponse)
-- | http://strava.github.io/api/v3/segments/#explore
exploreSegments :: Client -> (Double, Double, Double, Double) -> ExploreSegmentsOptions -> IO (Either String SegmentExplorerResponse)
-- | http://strava.github.io/api/v3/streams/
module Strive.Actions.Streams
-- | http://strava.github.io/api/v3/streams/#activity
getActivityStreams :: Client -> Integer -> [StreamType] -> GetStreamsOptions -> IO (Either String [StreamDetailed])
-- | http://strava.github.io/api/v3/streams/#effort
getEffortStreams :: Client -> Integer -> [StreamType] -> GetStreamsOptions -> IO (Either String [StreamDetailed])
-- | http://strava.github.io/api/v3/streams/#segment
getSegmentStreams :: Client -> Integer -> [StreamType] -> GetStreamsOptions -> IO (Either String [StreamDetailed])
-- | http://strava.github.io/api/v3/uploads/
module Strive.Actions.Uploads
-- | http://strava.github.io/api/v3/uploads/#post-file
uploadActivity :: Client -> ByteString -> String -> UploadActivityOptions -> IO (Either String UploadStatus)
-- | http://strava.github.io/api/v3/uploads/#get-status
getUpload :: Client -> Integer -> IO (Either String UploadStatus)
-- | Functions for performing actions against the API.
module Strive.Actions
-- | A Haskell client for the Strava V3 API.
module Strive
class AccessTokenLens a_aLCV b_aLCW | a_aLCV -> b_aLCW
accessToken :: AccessTokenLens a_aLCV b_aLCW => Lens a_aLCV b_aLCW
class RequesterLens a_aLCX b_aLCY | a_aLCX -> b_aLCY
requester :: RequesterLens a_aLCX b_aLCY => Lens a_aLCX b_aLCY
class ApprovalPromptLens a_aLDH b_aLDI | a_aLDH -> b_aLDI
approvalPrompt :: ApprovalPromptLens a_aLDH b_aLDI => Lens a_aLDH b_aLDI
class PrivateScopeLens a_aLDJ b_aLDK | a_aLDJ -> b_aLDK
privateScope :: PrivateScopeLens a_aLDJ b_aLDK => Lens a_aLDJ b_aLDK
class WriteScopeLens a_aLDL b_aLDM | a_aLDL -> b_aLDM
writeScope :: WriteScopeLens a_aLDL b_aLDM => Lens a_aLDL b_aLDM
class StateLens a_aLDN b_aLDO | a_aLDN -> b_aLDO
state :: StateLens a_aLDN b_aLDO => Lens a_aLDN b_aLDO
class DescriptionLens a_aLF7 b_aLF8 | a_aLF7 -> b_aLF8
description :: DescriptionLens a_aLF7 b_aLF8 => Lens a_aLF7 b_aLF8
class DistanceLens a_aLF9 b_aLFa | a_aLF9 -> b_aLFa
distance :: DistanceLens a_aLF9 b_aLFa => Lens a_aLF9 b_aLFa
class ActivityTypeLens a_aLFR b_aLFS | a_aLFR -> b_aLFS
activityType :: ActivityTypeLens a_aLFR b_aLFS => Lens a_aLFR b_aLFS
class MinCatLens a_aLFT b_aLFU | a_aLFT -> b_aLFU
minCat :: MinCatLens a_aLFT b_aLFU => Lens a_aLFT b_aLFU
class MaxCatLens a_aLFV b_aLFW | a_aLFV -> b_aLFW
maxCat :: MaxCatLens a_aLFV b_aLFW => Lens a_aLFV b_aLFW
class MarkdownLens a_aLGW b_aLGX | a_aLGW -> b_aLGX
markdown :: MarkdownLens a_aLGW b_aLGX => Lens a_aLGW b_aLGX
class PageLens a_aLGY b_aLGZ | a_aLGY -> b_aLGZ
page :: PageLens a_aLGY b_aLGZ => Lens a_aLGY b_aLGZ
class PerPageLens a_aLH0 b_aLH1 | a_aLH0 -> b_aLH1
perPage :: PerPageLens a_aLH0 b_aLH1 => Lens a_aLH0 b_aLH1
class AllEffortsLens a_aLI1 b_aLI2 | a_aLI1 -> b_aLI2
allEfforts :: AllEffortsLens a_aLI1 b_aLI2 => Lens a_aLI1 b_aLI2
class BeforeLens a_aLIq b_aLIr | a_aLIq -> b_aLIr
before :: BeforeLens a_aLIq b_aLIr => Lens a_aLIq b_aLIr
class AfterLens a_aLIs b_aLIt | a_aLIs -> b_aLIt
after :: AfterLens a_aLIs b_aLIt => Lens a_aLIs b_aLIt
class AthleteIdLens a_aLJy b_aLJz | a_aLJy -> b_aLJz
athleteId :: AthleteIdLens a_aLJy b_aLJz => Lens a_aLJy b_aLJz
class RangeLens a_aLJA b_aLJB | a_aLJA -> b_aLJB
range :: RangeLens a_aLJA b_aLJB => Lens a_aLJA b_aLJB
class GenderLens a_aLKG b_aLKH | a_aLKG -> b_aLKH
gender :: GenderLens a_aLKG b_aLKH => Lens a_aLKG b_aLKH
class AgeGroupLens a_aLKI b_aLKJ | a_aLKI -> b_aLKJ
ageGroup :: AgeGroupLens a_aLKI b_aLKJ => Lens a_aLKI b_aLKJ
class WeightClassLens a_aLKK b_aLKL | a_aLKK -> b_aLKL
weightClass :: WeightClassLens a_aLKK b_aLKL => Lens a_aLKK b_aLKL
class FollowingLens a_aLKM b_aLKN | a_aLKM -> b_aLKN
following :: FollowingLens a_aLKM b_aLKN => Lens a_aLKM b_aLKN
class ClubIdLens a_aLKO b_aLKP | a_aLKO -> b_aLKP
clubId :: ClubIdLens a_aLKO b_aLKP => Lens a_aLKO b_aLKP
class DateRangeLens a_aLKQ b_aLKR | a_aLKQ -> b_aLKR
dateRange :: DateRangeLens a_aLKQ b_aLKR => Lens a_aLKQ b_aLKR
class ResolutionLens a_aLNa b_aLNb | a_aLNa -> b_aLNb
resolution :: ResolutionLens a_aLNa b_aLNb => Lens a_aLNa b_aLNb
class SeriesTypeLens a_aLNc b_aLNd | a_aLNc -> b_aLNd
seriesType :: SeriesTypeLens a_aLNc b_aLNd => Lens a_aLNc b_aLNd
class NameLens a_aLOm b_aLOn | a_aLOm -> b_aLOn
name :: NameLens a_aLOm b_aLOn => Lens a_aLOm b_aLOn
class TypeLens a_aLOo b_aLOp | a_aLOo -> b_aLOp
type :: TypeLens a_aLOo b_aLOp => Lens a_aLOo b_aLOp
class PrivateLens a_aLOq b_aLOr | a_aLOq -> b_aLOr
private :: PrivateLens a_aLOq b_aLOr => Lens a_aLOq b_aLOr
class CommuteLens a_aLOs b_aLOt | a_aLOs -> b_aLOt
commute :: CommuteLens a_aLOs b_aLOt => Lens a_aLOs b_aLOt
class TrainerLens a_aLOu b_aLOv | a_aLOu -> b_aLOv
trainer :: TrainerLens a_aLOu b_aLOv => Lens a_aLOu b_aLOv
class GearIdLens a_aLOw b_aLOx | a_aLOw -> b_aLOx
gearId :: GearIdLens a_aLOw b_aLOx => Lens a_aLOw b_aLOx
class CityLens a_aLQE b_aLQF | a_aLQE -> b_aLQF
city :: CityLens a_aLQE b_aLQF => Lens a_aLQE b_aLQF
class CountryLens a_aLQG b_aLQH | a_aLQG -> b_aLQH
country :: CountryLens a_aLQG b_aLQH => Lens a_aLQG b_aLQH
class SexLens a_aLQI b_aLQJ | a_aLQI -> b_aLQJ
sex :: SexLens a_aLQI b_aLQJ => Lens a_aLQI b_aLQJ
class WeightLens a_aLQK b_aLQL | a_aLQK -> b_aLQL
weight :: WeightLens a_aLQK b_aLQL => Lens a_aLQK b_aLQL
class ExternalIdLens a_aLSg b_aLSh | a_aLSg -> b_aLSh
externalId :: ExternalIdLens a_aLSg b_aLSh => Lens a_aLSg b_aLSh
class AchievementCountLens a_aLTD b_aLTE | a_aLTD -> b_aLTE
achievementCount :: AchievementCountLens a_aLTD b_aLTE => Lens a_aLTD b_aLTE
class AthleteLens a_aLTF b_aLTG | a_aLTF -> b_aLTG
athlete :: AthleteLens a_aLTF b_aLTG => Lens a_aLTF b_aLTG
class AthleteCountLens a_aLTH b_aLTI | a_aLTH -> b_aLTI
athleteCount :: AthleteCountLens a_aLTH b_aLTI => Lens a_aLTH b_aLTI
class AverageSpeedLens a_aLTJ b_aLTK | a_aLTJ -> b_aLTK
averageSpeed :: AverageSpeedLens a_aLTJ b_aLTK => Lens a_aLTJ b_aLTK
class AverageWattsLens a_aLTL b_aLTM | a_aLTL -> b_aLTM
averageWatts :: AverageWattsLens a_aLTL b_aLTM => Lens a_aLTL b_aLTM
class CaloriesLens a_aLTN b_aLTO | a_aLTN -> b_aLTO
calories :: CaloriesLens a_aLTN b_aLTO => Lens a_aLTN b_aLTO
class CommentCountLens a_aLTP b_aLTQ | a_aLTP -> b_aLTQ
commentCount :: CommentCountLens a_aLTP b_aLTQ => Lens a_aLTP b_aLTQ
class ElapsedTimeLens a_aLTR b_aLTS | a_aLTR -> b_aLTS
elapsedTime :: ElapsedTimeLens a_aLTR b_aLTS => Lens a_aLTR b_aLTS
class EndLatlngLens a_aLTT b_aLTU | a_aLTT -> b_aLTU
endLatlng :: EndLatlngLens a_aLTT b_aLTU => Lens a_aLTT b_aLTU
class FlaggedLens a_aLTV b_aLTW | a_aLTV -> b_aLTW
flagged :: FlaggedLens a_aLTV b_aLTW => Lens a_aLTV b_aLTW
class GearLens a_aLTX b_aLTY | a_aLTX -> b_aLTY
gear :: GearLens a_aLTX b_aLTY => Lens a_aLTX b_aLTY
class HasKudoedLens a_aLTZ b_aLU0 | a_aLTZ -> b_aLU0
hasKudoed :: HasKudoedLens a_aLTZ b_aLU0 => Lens a_aLTZ b_aLU0
class IdLens a_aLU1 b_aLU2 | a_aLU1 -> b_aLU2
id :: IdLens a_aLU1 b_aLU2 => Lens a_aLU1 b_aLU2
class InstagramPrimaryPhotoLens a_aLU3 b_aLU4 | a_aLU3 -> b_aLU4
instagramPrimaryPhoto :: InstagramPrimaryPhotoLens a_aLU3 b_aLU4 => Lens a_aLU3 b_aLU4
class KilojoulesLens a_aLU5 b_aLU6 | a_aLU5 -> b_aLU6
kilojoules :: KilojoulesLens a_aLU5 b_aLU6 => Lens a_aLU5 b_aLU6
class LocationCityLens a_aLU7 b_aLU8 | a_aLU7 -> b_aLU8
locationCity :: LocationCityLens a_aLU7 b_aLU8 => Lens a_aLU7 b_aLU8
class LocationCountryLens a_aLU9 b_aLUa | a_aLU9 -> b_aLUa
locationCountry :: LocationCountryLens a_aLU9 b_aLUa => Lens a_aLU9 b_aLUa
class LocationStateLens a_aLUb b_aLUc | a_aLUb -> b_aLUc
locationState :: LocationStateLens a_aLUb b_aLUc => Lens a_aLUb b_aLUc
class ManualLens a_aLUd b_aLUe | a_aLUd -> b_aLUe
manual :: ManualLens a_aLUd b_aLUe => Lens a_aLUd b_aLUe
class MapLens a_aLUf b_aLUg | a_aLUf -> b_aLUg
map :: MapLens a_aLUf b_aLUg => Lens a_aLUf b_aLUg
class MaxSpeedLens a_aLUh b_aLUi | a_aLUh -> b_aLUi
maxSpeed :: MaxSpeedLens a_aLUh b_aLUi => Lens a_aLUh b_aLUi
class MovingTimeLens a_aLUj b_aLUk | a_aLUj -> b_aLUk
movingTime :: MovingTimeLens a_aLUj b_aLUk => Lens a_aLUj b_aLUk
class PhotoCountLens a_aLUl b_aLUm | a_aLUl -> b_aLUm
photoCount :: PhotoCountLens a_aLUl b_aLUm => Lens a_aLUl b_aLUm
class ResourceStateLens a_aLUn b_aLUo | a_aLUn -> b_aLUo
resourceState :: ResourceStateLens a_aLUn b_aLUo => Lens a_aLUn b_aLUo
class SegmentEffortsLens a_aLUp b_aLUq | a_aLUp -> b_aLUq
segmentEfforts :: SegmentEffortsLens a_aLUp b_aLUq => Lens a_aLUp b_aLUq
class StartDateLens a_aLUr b_aLUs | a_aLUr -> b_aLUs
startDate :: StartDateLens a_aLUr b_aLUs => Lens a_aLUr b_aLUs
class StartDateLocalLens a_aLUt b_aLUu | a_aLUt -> b_aLUu
startDateLocal :: StartDateLocalLens a_aLUt b_aLUu => Lens a_aLUt b_aLUu
class StartLatitudeLens a_aLUv b_aLUw | a_aLUv -> b_aLUw
startLatitude :: StartLatitudeLens a_aLUv b_aLUw => Lens a_aLUv b_aLUw
class StartLatlngLens a_aLUx b_aLUy | a_aLUx -> b_aLUy
startLatlng :: StartLatlngLens a_aLUx b_aLUy => Lens a_aLUx b_aLUy
class StartLongitudeLens a_aLUz b_aLUA | a_aLUz -> b_aLUA
startLongitude :: StartLongitudeLens a_aLUz b_aLUA => Lens a_aLUz b_aLUA
class TimezoneLens a_aLUB b_aLUC | a_aLUB -> b_aLUC
timezone :: TimezoneLens a_aLUB b_aLUC => Lens a_aLUB b_aLUC
class TotalElevationGainLens a_aLUD b_aLUE | a_aLUD -> b_aLUE
totalElevationGain :: TotalElevationGainLens a_aLUD b_aLUE => Lens a_aLUD b_aLUE
class TruncatedLens a_aLUF b_aLUG | a_aLUF -> b_aLUG
truncated :: TruncatedLens a_aLUF b_aLUG => Lens a_aLUF b_aLUG
class UploadIdLens a_aLUH b_aLUI | a_aLUH -> b_aLUI
uploadId :: UploadIdLens a_aLUH b_aLUI => Lens a_aLUH b_aLUI
class ActivityIdLens a_aM6X b_aM6Y | a_aM6X -> b_aM6Y
activityId :: ActivityIdLens a_aM6X b_aM6Y => Lens a_aM6X b_aM6Y
class EndIndexLens a_aM6Z b_aM70 | a_aM6Z -> b_aM70
endIndex :: EndIndexLens a_aM6Z b_aM70 => Lens a_aM6Z b_aM70
class LapIndexLens a_aM71 b_aM72 | a_aM71 -> b_aM72
lapIndex :: LapIndexLens a_aM71 b_aM72 => Lens a_aM71 b_aM72
class StartIndexLens a_aM73 b_aM74 | a_aM73 -> b_aM74
startIndex :: StartIndexLens a_aM73 b_aM74 => Lens a_aM73 b_aM74
class KudosCountLens a_aMaT b_aMaU | a_aMaT -> b_aMaU
kudosCount :: KudosCountLens a_aMaT b_aMaU => Lens a_aMaT b_aMaU
class DistributionBucketsLens a_aMis b_aMit | a_aMis -> b_aMit
distributionBuckets :: DistributionBucketsLens a_aMis b_aMit => Lens a_aMis b_aMit
class SensorBasedLens a_aMiu b_aMiv | a_aMiu -> b_aMiv
sensorBased :: SensorBasedLens a_aMiu b_aMiv => Lens a_aMiu b_aMiv
class MaxLens a_aMjA b_aMjB | a_aMjA -> b_aMjB
max :: MaxLens a_aMjA b_aMjB => Lens a_aMjA b_aMjB
class MinLens a_aMjC b_aMjD | a_aMjC -> b_aMjD
min :: MinLens a_aMjC b_aMjD => Lens a_aMjC b_aMjD
class TimeLens a_aMjE b_aMjF | a_aMjE -> b_aMjF
time :: TimeLens a_aMjE b_aMjF => Lens a_aMjE b_aMjF
class BikesLens a_aMkF b_aMkG | a_aMkF -> b_aMkG
bikes :: BikesLens a_aMkF b_aMkG => Lens a_aMkF b_aMkG
class ClubsLens a_aMkH b_aMkI | a_aMkH -> b_aMkI
clubs :: ClubsLens a_aMkH b_aMkI => Lens a_aMkH b_aMkI
class CreatedAtLens a_aMkJ b_aMkK | a_aMkJ -> b_aMkK
createdAt :: CreatedAtLens a_aMkJ b_aMkK => Lens a_aMkJ b_aMkK
class DatePreferenceLens a_aMkL b_aMkM | a_aMkL -> b_aMkM
datePreference :: DatePreferenceLens a_aMkL b_aMkM => Lens a_aMkL b_aMkM
class EmailLens a_aMkN b_aMkO | a_aMkN -> b_aMkO
email :: EmailLens a_aMkN b_aMkO => Lens a_aMkN b_aMkO
class FirstnameLens a_aMkP b_aMkQ | a_aMkP -> b_aMkQ
firstname :: FirstnameLens a_aMkP b_aMkQ => Lens a_aMkP b_aMkQ
class FollowerLens a_aMkR b_aMkS | a_aMkR -> b_aMkS
follower :: FollowerLens a_aMkR b_aMkS => Lens a_aMkR b_aMkS
class FollowerCountLens a_aMkT b_aMkU | a_aMkT -> b_aMkU
followerCount :: FollowerCountLens a_aMkT b_aMkU => Lens a_aMkT b_aMkU
class FriendLens a_aMkV b_aMkW | a_aMkV -> b_aMkW
friend :: FriendLens a_aMkV b_aMkW => Lens a_aMkV b_aMkW
class FriendCountLens a_aMkX b_aMkY | a_aMkX -> b_aMkY
friendCount :: FriendCountLens a_aMkX b_aMkY => Lens a_aMkX b_aMkY
class FtpLens a_aMkZ b_aMl0 | a_aMkZ -> b_aMl0
ftp :: FtpLens a_aMkZ b_aMl0 => Lens a_aMkZ b_aMl0
class LastnameLens a_aMl1 b_aMl2 | a_aMl1 -> b_aMl2
lastname :: LastnameLens a_aMl1 b_aMl2 => Lens a_aMl1 b_aMl2
class MeasurementPreferenceLens a_aMl3 b_aMl4 | a_aMl3 -> b_aMl4
measurementPreference :: MeasurementPreferenceLens a_aMl3 b_aMl4 => Lens a_aMl3 b_aMl4
class MutualFriendCountLens a_aMl5 b_aMl6 | a_aMl5 -> b_aMl6
mutualFriendCount :: MutualFriendCountLens a_aMl5 b_aMl6 => Lens a_aMl5 b_aMl6
class PremiumLens a_aMl7 b_aMl8 | a_aMl7 -> b_aMl8
premium :: PremiumLens a_aMl7 b_aMl8 => Lens a_aMl7 b_aMl8
class ProfileLens a_aMl9 b_aMla | a_aMl9 -> b_aMla
profile :: ProfileLens a_aMl9 b_aMla => Lens a_aMl9 b_aMla
class ProfileMediumLens a_aMlb b_aMlc | a_aMlb -> b_aMlc
profileMedium :: ProfileMediumLens a_aMlb b_aMlc => Lens a_aMlb b_aMlc
class ShoesLens a_aMld b_aMle | a_aMld -> b_aMle
shoes :: ShoesLens a_aMld b_aMle => Lens a_aMld b_aMle
class UpdatedAtLens a_aMlf b_aMlg | a_aMlf -> b_aMlg
updatedAt :: UpdatedAtLens a_aMlf b_aMlg => Lens a_aMlf b_aMlg
class ClubTypeLens a_aMvK b_aMvL | a_aMvK -> b_aMvL
clubType :: ClubTypeLens a_aMvK b_aMvL => Lens a_aMvK b_aMvL
class MemberCountLens a_aMvM b_aMvN | a_aMvM -> b_aMvN
memberCount :: MemberCountLens a_aMvM b_aMvN => Lens a_aMvM b_aMvN
class SportTypeLens a_aMvO b_aMvP | a_aMvO -> b_aMvP
sportType :: SportTypeLens a_aMvO b_aMvP => Lens a_aMvO b_aMvP
class TextLens a_aMzN b_aMzO | a_aMzN -> b_aMzO
text :: TextLens a_aMzN b_aMzO => Lens a_aMzN b_aMzO
class AverageCadenceLens a_aMBq b_aMBr | a_aMBq -> b_aMBr
averageCadence :: AverageCadenceLens a_aMBq b_aMBr => Lens a_aMBq b_aMBr
class AverageHeartrateLens a_aMBs b_aMBt | a_aMBs -> b_aMBt
averageHeartrate :: AverageHeartrateLens a_aMBs b_aMBt => Lens a_aMBs b_aMBt
class HiddenLens a_aMBu b_aMBv | a_aMBu -> b_aMBv
hidden :: HiddenLens a_aMBu b_aMBv => Lens a_aMBu b_aMBv
class KomRankLens a_aMBw b_aMBx | a_aMBw -> b_aMBx
komRank :: KomRankLens a_aMBw b_aMBx => Lens a_aMBw b_aMBx
class MaxHeartrateLens a_aMBy b_aMBz | a_aMBy -> b_aMBz
maxHeartrate :: MaxHeartrateLens a_aMBy b_aMBz => Lens a_aMBy b_aMBz
class PrRankLens a_aMBA b_aMBB | a_aMBA -> b_aMBB
prRank :: PrRankLens a_aMBA b_aMBB => Lens a_aMBA b_aMBB
class SegmentLens a_aMBC b_aMBD | a_aMBC -> b_aMBD
segment :: SegmentLens a_aMBC b_aMBD => Lens a_aMBC b_aMBD
class BrandNameLens a_aMGn b_aMGo | a_aMGn -> b_aMGo
brandName :: BrandNameLens a_aMGn b_aMGo => Lens a_aMGn b_aMGo
class FrameTypeLens a_aMGp b_aMGq | a_aMGp -> b_aMGq
frameType :: FrameTypeLens a_aMGp b_aMGq => Lens a_aMGp b_aMGq
class ModelNameLens a_aMGr b_aMGs | a_aMGr -> b_aMGs
modelName :: ModelNameLens a_aMGr b_aMGs => Lens a_aMGr b_aMGs
class PrimaryLens a_aMGt b_aMGu | a_aMGt -> b_aMGu
primary :: PrimaryLens a_aMGt b_aMGu => Lens a_aMGt b_aMGu
class CaptionLens a_aMJN b_aMJO | a_aMJN -> b_aMJO
caption :: CaptionLens a_aMJN b_aMJO => Lens a_aMJN b_aMJO
class LocationLens a_aMJP b_aMJQ | a_aMJP -> b_aMJQ
location :: LocationLens a_aMJP b_aMJQ => Lens a_aMJP b_aMJQ
class RefLens a_aMJR b_aMJS | a_aMJR -> b_aMJS
ref :: RefLens a_aMJR b_aMJS => Lens a_aMJR b_aMJS
class UidLens a_aMJT b_aMJU | a_aMJT -> b_aMJU
uid :: UidLens a_aMJT b_aMJU => Lens a_aMJT b_aMJU
class UploadedAtLens a_aMJV b_aMJW | a_aMJV -> b_aMJW
uploadedAt :: UploadedAtLens a_aMJV b_aMJW => Lens a_aMJV b_aMJW
class PolylineLens a_aMMw b_aMMx | a_aMMw -> b_aMMx
polyline :: PolylineLens a_aMMw b_aMMx => Lens a_aMMw b_aMMx
class SummaryPolylineLens a_aMMy b_aMMz | a_aMMy -> b_aMMz
summaryPolyline :: SummaryPolylineLens a_aMMy b_aMMz => Lens a_aMMy b_aMMz
class AverageGradeLens a_aMOi b_aMOj | a_aMOi -> b_aMOj
averageGrade :: AverageGradeLens a_aMOi b_aMOj => Lens a_aMOi b_aMOj
class ClimbCategoryLens a_aMOk b_aMOl | a_aMOk -> b_aMOl
climbCategory :: ClimbCategoryLens a_aMOk b_aMOl => Lens a_aMOk b_aMOl
class EffortCountLens a_aMOm b_aMOn | a_aMOm -> b_aMOn
effortCount :: EffortCountLens a_aMOm b_aMOn => Lens a_aMOm b_aMOn
class ElevationHighLens a_aMOo b_aMOp | a_aMOo -> b_aMOp
elevationHigh :: ElevationHighLens a_aMOo b_aMOp => Lens a_aMOo b_aMOp
class ElevationLowLens a_aMOq b_aMOr | a_aMOq -> b_aMOr
elevationLow :: ElevationLowLens a_aMOq b_aMOr => Lens a_aMOq b_aMOr
class EndLatitudeLens a_aMOs b_aMOt | a_aMOs -> b_aMOt
endLatitude :: EndLatitudeLens a_aMOs b_aMOt => Lens a_aMOs b_aMOt
class EndLongitudeLens a_aMOu b_aMOv | a_aMOu -> b_aMOv
endLongitude :: EndLongitudeLens a_aMOu b_aMOv => Lens a_aMOu b_aMOv
class HazardousLens a_aMOw b_aMOx | a_aMOw -> b_aMOx
hazardous :: HazardousLens a_aMOw b_aMOx => Lens a_aMOw b_aMOx
class MaximumGradeLens a_aMOy b_aMOz | a_aMOy -> b_aMOz
maximumGrade :: MaximumGradeLens a_aMOy b_aMOz => Lens a_aMOy b_aMOz
class StarCountLens a_aMOA b_aMOB | a_aMOA -> b_aMOB
starCount :: StarCountLens a_aMOA b_aMOB => Lens a_aMOA b_aMOB
class StarredLens a_aMOC b_aMOD | a_aMOC -> b_aMOD
starred :: StarredLens a_aMOC b_aMOD => Lens a_aMOC b_aMOD
class AvgGradeLens a_aMVz b_aMVA | a_aMVz -> b_aMVA
avgGrade :: AvgGradeLens a_aMVz b_aMVA => Lens a_aMVz b_aMVA
class ClimbCategoryDescLens a_aMVB b_aMVC | a_aMVB -> b_aMVC
climbCategoryDesc :: ClimbCategoryDescLens a_aMVB b_aMVC => Lens a_aMVB b_aMVC
class ElevDifferenceLens a_aMVD b_aMVE | a_aMVD -> b_aMVE
elevDifference :: ElevDifferenceLens a_aMVD b_aMVE => Lens a_aMVD b_aMVE
class PointsLens a_aMVF b_aMVG | a_aMVF -> b_aMVG
points :: PointsLens a_aMVF b_aMVG => Lens a_aMVF b_aMVG
class EntriesLens a_aMYx b_aMYy | a_aMYx -> b_aMYy
entries :: EntriesLens a_aMYx b_aMYy => Lens a_aMYx b_aMYy
class AthleteGenderLens a_aMYW b_aMYX | a_aMYW -> b_aMYX
athleteGender :: AthleteGenderLens a_aMYW b_aMYX => Lens a_aMYW b_aMYX
class AthleteNameLens a_aMYY b_aMYZ | a_aMYY -> b_aMYZ
athleteName :: AthleteNameLens a_aMYY b_aMYZ => Lens a_aMYY b_aMYZ
class AthleteProfileLens a_aMZ0 b_aMZ1 | a_aMZ0 -> b_aMZ1
athleteProfile :: AthleteProfileLens a_aMZ0 b_aMZ1 => Lens a_aMZ0 b_aMZ1
class AverageHrLens a_aMZ2 b_aMZ3 | a_aMZ2 -> b_aMZ3
averageHr :: AverageHrLens a_aMZ2 b_aMZ3 => Lens a_aMZ2 b_aMZ3
class EffortIdLens a_aMZ4 b_aMZ5 | a_aMZ4 -> b_aMZ5
effortId :: EffortIdLens a_aMZ4 b_aMZ5 => Lens a_aMZ4 b_aMZ5
class RankLens a_aMZ6 b_aMZ7 | a_aMZ6 -> b_aMZ7
rank :: RankLens a_aMZ6 b_aMZ7 => Lens a_aMZ6 b_aMZ7
class EntryCountLens a_aN2A b_aN2B | a_aN2A -> b_aN2B
entryCount :: EntryCountLens a_aN2A b_aN2B => Lens a_aN2A b_aN2B
class DataLens a_aN7v b_aN7w | a_aN7v -> b_aN7w
data :: DataLens a_aN7v b_aN7w => Lens a_aN7v b_aN7w
class OriginalSizeLens a_aN7x b_aN7y | a_aN7x -> b_aN7y
originalSize :: OriginalSizeLens a_aN7x b_aN7y => Lens a_aN7x b_aN7y
class ErrorLens a_aN9h b_aN9i | a_aN9h -> b_aN9i
error :: ErrorLens a_aN9h b_aN9i => Lens a_aN9h b_aN9i
class StatusLens a_aN9j b_aN9k | a_aN9j -> b_aN9k
status :: StatusLens a_aN9j b_aN9k => Lens a_aN9j b_aN9k