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