-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A Haskell client for the Strava V3 API.
--
@package strive
@version 2.0.0
-- | 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
-- | Common options that apply to many endpoints.
module Strive.Internal.Options
-- | Options for paginating.
data PaginationOptions
PaginationOptions :: Integer -> Integer -> PaginationOptions
paginationOptions_page :: PaginationOptions -> Integer
paginationOptions_perPage :: PaginationOptions -> Integer
instance Show PaginationOptions
instance QueryLike PaginationOptions
instance Default PaginationOptions
-- | Clubs
module Strive.Options.Clubs
-- | getClubMembers
type GetClubMembersOptions = PaginationOptions
-- | getClubActivities
type GetClubActivitiesOptions = PaginationOptions
-- | Friends
module Strive.Options.Friends
-- | getCurrentFriends
type GetCurrentFriendsOptions = PaginationOptions
-- | getFriends
type GetFriendsOptions = PaginationOptions
-- | getCurrentFollowers
type GetCurrentFollowersOptions = PaginationOptions
-- | getFollowers
type GetFollowersOptions = PaginationOptions
-- | getCommonFriends
type GetCommonFriendsOptions = PaginationOptions
-- | Kudos
module Strive.Options.Kudos
-- | getActivityKudoers
type GetActivityKudoersOptions = PaginationOptions
-- | Helper functions for template Haskell, to avoid stage restrictions.
module Strive.Internal.TH
-- | Default FromJSON options.
options :: Options
-- | Generate lens classes and instances for a type.
makeLenses :: String -> Q [Dec]
-- | http://strava.github.io/api/v3/uploads/
module Strive.Types.Uploads
-- | http://strava.github.io/api/v3/uploads/#attributes
data UploadStatus
UploadStatus :: Maybe Integer -> Maybe Text -> Maybe Text -> Integer -> Text -> UploadStatus
uploadStatus_activityId :: UploadStatus -> Maybe Integer
uploadStatus_error :: UploadStatus -> Maybe Text
uploadStatus_externalId :: UploadStatus -> Maybe Text
uploadStatus_id :: UploadStatus -> Integer
uploadStatus_status :: UploadStatus -> Text
instance FromJSON UploadStatus
instance Show UploadStatus
-- | 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
Canoeing :: ActivityType
CrossCountrySkiing :: ActivityType
Crossfit :: ActivityType
Elliptical :: ActivityType
Hike :: ActivityType
IceSkate :: ActivityType
InlineSkate :: ActivityType
Kayaking :: ActivityType
KiteSurf :: ActivityType
NordicSki :: ActivityType
Ride :: ActivityType
RockClimbing :: ActivityType
RollerSki :: ActivityType
Rowing :: ActivityType
Run :: ActivityType
Snowboard :: ActivityType
Snowshoe :: ActivityType
StairStepper :: ActivityType
StandUpPaddling :: ActivityType
Surfing :: ActivityType
Swim :: ActivityType
Walk :: ActivityType
WeightTraining :: ActivityType
Windsurf :: ActivityType
Workout :: ActivityType
Yoga :: ActivityType
-- | An activity zone's type.
data ActivityZoneType
HeartrateZone :: ActivityZoneType
PowerZone :: ActivityZoneType
-- | An athlete's age group.
data AgeGroup
Ages0To24 :: AgeGroup
Ages25To34 :: AgeGroup
Ages35To44 :: AgeGroup
Ages45To54 :: AgeGroup
Ages55To64 :: AgeGroup
Ages65Plus :: AgeGroup
-- | A club's type.
data ClubType
CasualClub :: ClubType
Company :: ClubType
Other :: ClubType
RacingTeam :: ClubType
Shop :: ClubType
-- | A bike's frame type.
data FrameType
CrossFrame :: FrameType
MountainFrame :: FrameType
RoadFrame :: FrameType
TimeTrialFrame :: FrameType
-- | An athlete's gender.
data Gender
Female :: Gender
Male :: Gender
-- | An athlete's measurement preference.
data MeasurementPreference
Feet :: MeasurementPreference
Meters :: MeasurementPreference
-- | A photo's type.
data PhotoType
InstagramPhoto :: PhotoType
-- | A stream's resolution.
data Resolution
Low :: Resolution
Medium :: Resolution
High :: Resolution
-- | A resource's state.
data ResourceState
Meta :: ResourceState
Summary :: ResourceState
Detailed :: ResourceState
-- | A segment's activity type.
data SegmentActivityType
Riding :: SegmentActivityType
Running :: SegmentActivityType
-- | A series' type in a stream.
data SeriesType
Distance :: SeriesType
Time :: SeriesType
-- | A club's sport type.
data SportType
SportCycling :: SportType
SportOther :: SportType
SportRunning :: SportType
SportTriathalon :: SportType
-- | A stream's type.
data StreamType
AltitudeStream :: StreamType
CadenceStream :: StreamType
DistanceStream :: StreamType
GradeSmoothStream :: StreamType
HeartrateStream :: StreamType
LatlngStream :: StreamType
MovingStream :: StreamType
TempStream :: StreamType
TimeStream :: StreamType
VelocitySmoothStream :: StreamType
WattsStream :: StreamType
-- | An athlete's weight class.
data WeightClass
Kilograms0To54 :: WeightClass
Kilograms55To64 :: WeightClass
Kilograms65To74 :: WeightClass
Kilograms75To84 :: WeightClass
Kilograms85To94 :: WeightClass
Kilograms95Plus :: WeightClass
Pounds0To124 :: WeightClass
Pounds125To149 :: WeightClass
Pounds150To164 :: WeightClass
Pounds165To179 :: WeightClass
Pounds180To199 :: WeightClass
Pounds200Plus :: WeightClass
instance 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
-- | getRelatedActivities
type GetRelatedActivitiesOptions = PaginationOptions
-- | 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
-- | Segments
module Strive.Options.Segments
-- | getStarredSegments
type GetStarredSegmentsOptions = PaginationOptions
-- | getSegmentEfforts
data GetSegmentEffortsOptions
GetSegmentEffortsOptions :: Maybe Integer -> Maybe (UTCTime, UTCTime) -> Integer -> Integer -> GetSegmentEffortsOptions
getSegmentEffortsOptions_athleteId :: GetSegmentEffortsOptions -> Maybe Integer
getSegmentEffortsOptions_range :: GetSegmentEffortsOptions -> Maybe (UTCTime, UTCTime)
getSegmentEffortsOptions_page :: GetSegmentEffortsOptions -> Integer
getSegmentEffortsOptions_perPage :: GetSegmentEffortsOptions -> Integer
-- | getSegmentLeaderboard
data GetSegmentLeaderboardOptions
GetSegmentLeaderboardOptions :: Maybe Gender -> Maybe AgeGroup -> Maybe WeightClass -> Maybe Bool -> Maybe Integer -> Maybe String -> Maybe Integer -> Integer -> Integer -> GetSegmentLeaderboardOptions
getSegmentLeaderboardOptions_gender :: GetSegmentLeaderboardOptions -> Maybe Gender
getSegmentLeaderboardOptions_ageGroup :: GetSegmentLeaderboardOptions -> Maybe AgeGroup
getSegmentLeaderboardOptions_weightClass :: GetSegmentLeaderboardOptions -> Maybe WeightClass
getSegmentLeaderboardOptions_following :: GetSegmentLeaderboardOptions -> Maybe Bool
getSegmentLeaderboardOptions_clubId :: GetSegmentLeaderboardOptions -> Maybe Integer
getSegmentLeaderboardOptions_dateRange :: GetSegmentLeaderboardOptions -> Maybe String
getSegmentLeaderboardOptions_contextEntries :: GetSegmentLeaderboardOptions -> Maybe Integer
getSegmentLeaderboardOptions_page :: GetSegmentLeaderboardOptions -> Integer
getSegmentLeaderboardOptions_perPage :: GetSegmentLeaderboardOptions -> Integer
-- | exploreSegments
data ExploreSegmentsOptions
ExploreSegmentsOptions :: SegmentActivityType -> Integer -> Integer -> ExploreSegmentsOptions
exploreSegmentsOptions_activityType :: ExploreSegmentsOptions -> SegmentActivityType
exploreSegmentsOptions_minCat :: ExploreSegmentsOptions -> Integer
exploreSegmentsOptions_maxCat :: ExploreSegmentsOptions -> Integer
instance 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 -> Maybe Double -> AthleteDetailed
athleteDetailed_bikes :: AthleteDetailed -> [GearSummary]
athleteDetailed_city :: AthleteDetailed -> Text
athleteDetailed_clubs :: AthleteDetailed -> [ClubSummary]
athleteDetailed_country :: AthleteDetailed -> Text
athleteDetailed_createdAt :: AthleteDetailed -> UTCTime
athleteDetailed_datePreference :: AthleteDetailed -> Text
athleteDetailed_email :: AthleteDetailed -> Text
athleteDetailed_firstname :: AthleteDetailed -> Text
athleteDetailed_follower :: AthleteDetailed -> Maybe Text
athleteDetailed_followerCount :: AthleteDetailed -> Integer
athleteDetailed_friend :: AthleteDetailed -> Maybe Text
athleteDetailed_friendCount :: AthleteDetailed -> Integer
athleteDetailed_ftp :: AthleteDetailed -> Maybe Integer
athleteDetailed_id :: AthleteDetailed -> Integer
athleteDetailed_lastname :: AthleteDetailed -> Text
athleteDetailed_measurementPreference :: AthleteDetailed -> MeasurementPreference
athleteDetailed_mutualFriendCount :: AthleteDetailed -> Integer
athleteDetailed_premium :: AthleteDetailed -> Bool
athleteDetailed_profile :: AthleteDetailed -> Text
athleteDetailed_profileMedium :: AthleteDetailed -> Text
athleteDetailed_resourceState :: AthleteDetailed -> ResourceState
athleteDetailed_sex :: AthleteDetailed -> Maybe Gender
athleteDetailed_shoes :: AthleteDetailed -> [GearSummary]
athleteDetailed_state :: AthleteDetailed -> Text
athleteDetailed_updatedAt :: AthleteDetailed -> UTCTime
athleteDetailed_weight :: AthleteDetailed -> Maybe Double
-- | http://strava.github.io/api/v3/athlete/#summary
data AthleteSummary
AthleteSummary :: Maybe Text -> Maybe Text -> UTCTime -> Text -> Maybe Text -> Maybe Text -> Integer -> Text -> Bool -> Text -> Text -> ResourceState -> Maybe Gender -> Text -> UTCTime -> AthleteSummary
athleteSummary_city :: AthleteSummary -> Maybe Text
athleteSummary_country :: AthleteSummary -> Maybe Text
athleteSummary_createdAt :: AthleteSummary -> UTCTime
athleteSummary_firstname :: AthleteSummary -> Text
athleteSummary_follower :: AthleteSummary -> Maybe Text
athleteSummary_friend :: AthleteSummary -> Maybe Text
athleteSummary_id :: AthleteSummary -> Integer
athleteSummary_lastname :: AthleteSummary -> Text
athleteSummary_premium :: AthleteSummary -> Bool
athleteSummary_profile :: AthleteSummary -> Text
athleteSummary_profileMedium :: AthleteSummary -> Text
athleteSummary_resourceState :: AthleteSummary -> ResourceState
athleteSummary_sex :: AthleteSummary -> Maybe Gender
athleteSummary_state :: AthleteSummary -> Text
athleteSummary_updatedAt :: AthleteSummary -> UTCTime
-- | http://strava.github.io/api/v3/athlete/#meta
data AthleteMeta
AthleteMeta :: Integer -> ResourceState -> AthleteMeta
athleteMeta_id :: AthleteMeta -> Integer
athleteMeta_resourceState :: AthleteMeta -> ResourceState
-- | http://strava.github.io/api/v3/athlete/#stats
data ActivityTotals
ActivityTotals :: Integer -> Double -> Double -> Double -> Double -> Double -> ActivityTotals
activityTotals_count :: ActivityTotals -> Integer
activityTotals_distance :: ActivityTotals -> Double
activityTotals_movingTime :: ActivityTotals -> Double
activityTotals_elapsedTime :: ActivityTotals -> Double
activityTotals_elevationGain :: ActivityTotals -> Double
activityTotals_achievementCount :: ActivityTotals -> Double
-- | http://strava.github.io/api/v3/athlete/#stats
data AthleteStats
AthleteStats :: Double -> Double -> ActivityTotals -> ActivityTotals -> ActivityTotals -> ActivityTotals -> ActivityTotals -> ActivityTotals -> AthleteStats
athleteStats_biggestRideDistance :: AthleteStats -> Double
athleteStats_biggestClimbElevationGain :: AthleteStats -> Double
athleteStats_recentRideTotals :: AthleteStats -> ActivityTotals
athleteStats_recentRunTotals :: AthleteStats -> ActivityTotals
athleteStats_ytdRideTotals :: AthleteStats -> ActivityTotals
athleteStats_ytdRunTotals :: AthleteStats -> ActivityTotals
athleteStats_allRideTotals :: AthleteStats -> ActivityTotals
athleteStats_allRunTotals :: AthleteStats -> ActivityTotals
instance FromJSON AthleteStats
instance Show AthleteStats
instance FromJSON ActivityTotals
instance Show ActivityTotals
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/#polylines
newtype Polyline
Polyline :: [(Double, Double)] -> Polyline
unPolyline :: Polyline -> [(Double, Double)]
-- | http://strava.github.io/api/v3/activities/#detailed
data PolylineDetailed
PolylineDetailed :: Text -> Polyline -> ResourceState -> Maybe Polyline -> PolylineDetailed
polylineDetailed_id :: PolylineDetailed -> Text
polylineDetailed_polyline :: PolylineDetailed -> Polyline
polylineDetailed_resourceState :: PolylineDetailed -> ResourceState
polylineDetailed_summaryPolyline :: PolylineDetailed -> Maybe Polyline
-- | http://strava.github.io/api/v3/activities/#summary
data PolylineSummary
PolylineSummary :: Text -> ResourceState -> Maybe Polyline -> PolylineSummary
polylineSummary_id :: PolylineSummary -> Text
polylineSummary_resourceState :: PolylineSummary -> ResourceState
polylineSummary_summaryPolyline :: PolylineSummary -> Maybe Polyline
instance FromJSON PolylineSummary
instance Show PolylineSummary
instance FromJSON PolylineDetailed
instance Show Polyline
instance Show PolylineDetailed
instance FromJSON Polyline
-- | http://strava.github.io/api/v3/segments/
module Strive.Types.Segments
-- | http://strava.github.io/api/v3/segments/#detailed
data SegmentDetailed
SegmentDetailed :: ActivityType -> Integer -> Double -> Text -> Integer -> Text -> UTCTime -> Double -> Integer -> Double -> Double -> Double -> (Double, Double) -> Double -> Bool -> Integer -> PolylineDetailed -> Double -> Text -> Bool -> ResourceState -> Integer -> Bool -> Double -> (Double, Double) -> Double -> Text -> Double -> UTCTime -> SegmentDetailed
segmentDetailed_activityType :: SegmentDetailed -> ActivityType
segmentDetailed_athleteCount :: SegmentDetailed -> Integer
segmentDetailed_averageGrade :: SegmentDetailed -> Double
segmentDetailed_city :: SegmentDetailed -> Text
segmentDetailed_climbCategory :: SegmentDetailed -> Integer
segmentDetailed_country :: SegmentDetailed -> Text
segmentDetailed_createdAt :: SegmentDetailed -> UTCTime
segmentDetailed_distance :: SegmentDetailed -> Double
segmentDetailed_effortCount :: SegmentDetailed -> Integer
segmentDetailed_elevationHigh :: SegmentDetailed -> Double
segmentDetailed_elevationLow :: SegmentDetailed -> Double
segmentDetailed_endLatitude :: SegmentDetailed -> Double
segmentDetailed_endLatlng :: SegmentDetailed -> (Double, Double)
segmentDetailed_endLongitude :: SegmentDetailed -> Double
segmentDetailed_hazardous :: SegmentDetailed -> Bool
segmentDetailed_id :: SegmentDetailed -> Integer
segmentDetailed_map :: SegmentDetailed -> PolylineDetailed
segmentDetailed_maximumGrade :: SegmentDetailed -> Double
segmentDetailed_name :: SegmentDetailed -> Text
segmentDetailed_private :: SegmentDetailed -> Bool
segmentDetailed_resourceState :: SegmentDetailed -> ResourceState
segmentDetailed_starCount :: SegmentDetailed -> Integer
segmentDetailed_starred :: SegmentDetailed -> Bool
segmentDetailed_startLatitude :: SegmentDetailed -> Double
segmentDetailed_startLatlng :: SegmentDetailed -> (Double, Double)
segmentDetailed_startLongitude :: SegmentDetailed -> Double
segmentDetailed_state :: SegmentDetailed -> Text
segmentDetailed_totalElevationGain :: SegmentDetailed -> Double
segmentDetailed_updatedAt :: SegmentDetailed -> UTCTime
-- | http://strava.github.io/api/v3/segments/#summary
data SegmentSummary
SegmentSummary :: ActivityType -> Double -> Text -> Integer -> Text -> Double -> Double -> Double -> Double -> (Double, Double) -> Double -> Integer -> Double -> Text -> Bool -> ResourceState -> Bool -> Double -> (Double, Double) -> Double -> Text -> SegmentSummary
segmentSummary_activityType :: SegmentSummary -> ActivityType
segmentSummary_averageGrade :: SegmentSummary -> Double
segmentSummary_city :: SegmentSummary -> Text
segmentSummary_climbCategory :: SegmentSummary -> Integer
segmentSummary_country :: SegmentSummary -> Text
segmentSummary_distance :: SegmentSummary -> Double
segmentSummary_elevationHigh :: SegmentSummary -> Double
segmentSummary_elevationLow :: SegmentSummary -> Double
segmentSummary_endLatitude :: SegmentSummary -> Double
segmentSummary_endLatlng :: SegmentSummary -> (Double, Double)
segmentSummary_endLongitude :: SegmentSummary -> Double
segmentSummary_id :: SegmentSummary -> Integer
segmentSummary_maximumGrade :: SegmentSummary -> Double
segmentSummary_name :: SegmentSummary -> Text
segmentSummary_private :: SegmentSummary -> Bool
segmentSummary_resourceState :: SegmentSummary -> ResourceState
segmentSummary_starred :: SegmentSummary -> Bool
segmentSummary_startLatitude :: SegmentSummary -> Double
segmentSummary_startLatlng :: SegmentSummary -> (Double, Double)
segmentSummary_startLongitude :: SegmentSummary -> Double
segmentSummary_state :: SegmentSummary -> Text
-- | http://strava.github.io/api/v3/segments/#leaderboard
data SegmentLeaderboardResponse
SegmentLeaderboardResponse :: Integer -> Integer -> [SegmentLeaderboardEntry] -> SegmentLeaderboardResponse
segmentLeaderboardResponse_effortCount :: SegmentLeaderboardResponse -> Integer
segmentLeaderboardResponse_entryCount :: SegmentLeaderboardResponse -> Integer
segmentLeaderboardResponse_entries :: SegmentLeaderboardResponse -> [SegmentLeaderboardEntry]
-- | http://strava.github.io/api/v3/segments/#leaderboard
data SegmentLeaderboardEntry
SegmentLeaderboardEntry :: Integer -> Maybe Gender -> Integer -> Text -> Text -> Double -> Double -> Double -> Integer -> Integer -> Integer -> Integer -> UTCTime -> UTCTime -> SegmentLeaderboardEntry
segmentLeaderboardEntry_activityId :: SegmentLeaderboardEntry -> Integer
segmentLeaderboardEntry_athleteGender :: SegmentLeaderboardEntry -> Maybe Gender
segmentLeaderboardEntry_athleteId :: SegmentLeaderboardEntry -> Integer
segmentLeaderboardEntry_athleteName :: SegmentLeaderboardEntry -> Text
segmentLeaderboardEntry_athleteProfile :: SegmentLeaderboardEntry -> Text
segmentLeaderboardEntry_averageHr :: SegmentLeaderboardEntry -> Double
segmentLeaderboardEntry_averageWatts :: SegmentLeaderboardEntry -> Double
segmentLeaderboardEntry_distance :: SegmentLeaderboardEntry -> Double
segmentLeaderboardEntry_effortId :: SegmentLeaderboardEntry -> Integer
segmentLeaderboardEntry_elapsedTime :: SegmentLeaderboardEntry -> Integer
segmentLeaderboardEntry_movingTime :: SegmentLeaderboardEntry -> Integer
segmentLeaderboardEntry_rank :: SegmentLeaderboardEntry -> Integer
segmentLeaderboardEntry_startDate :: SegmentLeaderboardEntry -> UTCTime
segmentLeaderboardEntry_startDateLocal :: SegmentLeaderboardEntry -> UTCTime
-- | http://strava.github.io/api/v3/segments/#explore
data SegmentExplorerResponse
SegmentExplorerResponse :: [SegmentExplorerEntry] -> SegmentExplorerResponse
segmentExplorerResponse_segments :: SegmentExplorerResponse -> [SegmentExplorerEntry]
-- | http://strava.github.io/api/v3/segments/#explore
data SegmentExplorerEntry
SegmentExplorerEntry :: Double -> Integer -> String -> Double -> Double -> (Double, Double) -> Integer -> Text -> Polyline -> ResourceState -> Bool -> (Double, Double) -> SegmentExplorerEntry
segmentExplorerEntry_avgGrade :: SegmentExplorerEntry -> Double
segmentExplorerEntry_climbCategory :: SegmentExplorerEntry -> Integer
segmentExplorerEntry_climbCategoryDesc :: SegmentExplorerEntry -> String
segmentExplorerEntry_distance :: SegmentExplorerEntry -> Double
segmentExplorerEntry_elevDifference :: SegmentExplorerEntry -> Double
segmentExplorerEntry_endLatlng :: SegmentExplorerEntry -> (Double, Double)
segmentExplorerEntry_id :: SegmentExplorerEntry -> Integer
segmentExplorerEntry_name :: SegmentExplorerEntry -> Text
segmentExplorerEntry_points :: SegmentExplorerEntry -> Polyline
segmentExplorerEntry_resourceState :: SegmentExplorerEntry -> ResourceState
segmentExplorerEntry_starred :: SegmentExplorerEntry -> Bool
segmentExplorerEntry_startLatlng :: SegmentExplorerEntry -> (Double, Double)
instance 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 -> Maybe Bool -> 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 -> 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_deviceWatts :: ActivityDetailed -> Maybe Bool
activityDetailed_distance :: ActivityDetailed -> Double
activityDetailed_elapsedTime :: ActivityDetailed -> Integer
activityDetailed_endLatlng :: ActivityDetailed -> Maybe (Double, Double)
activityDetailed_externalId :: ActivityDetailed -> Maybe Text
activityDetailed_flagged :: ActivityDetailed -> Bool
activityDetailed_gear :: ActivityDetailed -> GearSummary
activityDetailed_gearId :: ActivityDetailed -> Maybe Text
activityDetailed_hasKudoed :: ActivityDetailed -> Bool
activityDetailed_id :: ActivityDetailed -> Integer
activityDetailed_instagramPrimaryPhoto :: ActivityDetailed -> Maybe Text
activityDetailed_kilojoules :: ActivityDetailed -> Maybe Double
activityDetailed_locationCity :: ActivityDetailed -> Maybe Text
activityDetailed_locationCountry :: ActivityDetailed -> 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
activityDetailed_weightedAverageWatts :: ActivityDetailed -> Maybe Integer
-- | http://strava.github.io/api/v3/activities/#summary
data ActivitySummary
ActivitySummary :: Integer -> AthleteMeta -> Integer -> Double -> Maybe Double -> Integer -> Bool -> Maybe 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 -> 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_deviceWatts :: ActivitySummary -> Maybe Bool
activitySummary_distance :: ActivitySummary -> Double
activitySummary_elapsedTime :: ActivitySummary -> Integer
activitySummary_endLatlng :: ActivitySummary -> Maybe (Double, Double)
activitySummary_externalId :: ActivitySummary -> Maybe Text
activitySummary_flagged :: ActivitySummary -> Bool
activitySummary_gearId :: ActivitySummary -> Maybe Text
activitySummary_hasKudoed :: ActivitySummary -> Bool
activitySummary_id :: ActivitySummary -> Integer
activitySummary_kilojoules :: ActivitySummary -> Maybe Double
activitySummary_kudosCount :: ActivitySummary -> Integer
activitySummary_locationCity :: ActivitySummary -> Maybe Text
activitySummary_locationCountry :: ActivitySummary -> 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
activitySummary_weightedAverageWatts :: ActivitySummary -> Maybe Integer
-- | http://strava.github.io/api/v3/activities/#zones
data ActivityZoneDetailed
ActivityZoneDetailed :: [ActivityZoneDistributionBucket] -> ResourceState -> Bool -> ActivityZoneType -> ActivityZoneDetailed
activityZoneDetailed_distributionBuckets :: ActivityZoneDetailed -> [ActivityZoneDistributionBucket]
activityZoneDetailed_resourceState :: ActivityZoneDetailed -> ResourceState
activityZoneDetailed_sensorBased :: ActivityZoneDetailed -> Bool
activityZoneDetailed_type :: ActivityZoneDetailed -> ActivityZoneType
-- | http://strava.github.io/api/v3/activities/#zones
data ActivityZoneDistributionBucket
ActivityZoneDistributionBucket :: Integer -> Integer -> Integer -> ActivityZoneDistributionBucket
activityZoneDistributionBucket_max :: ActivityZoneDistributionBucket -> Integer
activityZoneDistributionBucket_min :: ActivityZoneDistributionBucket -> Integer
activityZoneDistributionBucket_time :: ActivityZoneDistributionBucket -> Integer
-- | http://strava.github.io/api/v3/activities/#laps
data ActivityLapSummary
ActivityLapSummary :: Integer -> Integer -> Double -> Double -> Double -> Integer -> Integer -> Integer -> Integer -> Double -> Double -> Text -> ResourceState -> UTCTime -> UTCTime -> Integer -> Double -> ActivityLapSummary
activityLapSummary_activityId :: ActivityLapSummary -> Integer
activityLapSummary_athleteId :: ActivityLapSummary -> Integer
activityLapSummary_averageSpeed :: ActivityLapSummary -> Double
activityLapSummary_averageWatts :: ActivityLapSummary -> Double
activityLapSummary_distance :: ActivityLapSummary -> Double
activityLapSummary_elapsedTime :: ActivityLapSummary -> Integer
activityLapSummary_endIndex :: ActivityLapSummary -> Integer
activityLapSummary_id :: ActivityLapSummary -> Integer
activityLapSummary_lapIndex :: ActivityLapSummary -> Integer
activityLapSummary_maxSpeed :: ActivityLapSummary -> Double
activityLapSummary_movingTime :: ActivityLapSummary -> Double
activityLapSummary_name :: ActivityLapSummary -> Text
activityLapSummary_resourceState :: ActivityLapSummary -> ResourceState
activityLapSummary_startDate :: ActivityLapSummary -> UTCTime
activityLapSummary_startDateLocal :: ActivityLapSummary -> UTCTime
activityLapSummary_startIndex :: ActivityLapSummary -> Integer
activityLapSummary_totalElevationGain :: ActivityLapSummary -> Double
instance 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 :: Maybe Text -> IO Client
instance Show Client
-- | Aliases for common types.
module Strive.Aliases
type ActivityId = Integer
type ApplicationId = Integer
type ApplicationSecret = String
type AthleteId = Integer
type AuthorizationCode = String
type ClubId = Integer
type EffortId = Integer
type ElapsedTime = Integer
type Extension = String
type GearId = String
type Latitude = Double
type Longitude = Double
type Name = String
type RedirectUri = String
type Result a = Either (Response ByteString, String) a
type SegmentId = Integer
type StartTime = UTCTime
type StreamId = Integer
type UploadId = Integer
-- | Helpers for dealing with HTTP requests.
module Strive.Internal.HTTP
-- | Perform an HTTP DELETE request.
delete :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j)
-- | Perform an HTTP GET request.
get :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j)
-- | Perform an HTTP POST request.
post :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j)
-- | Perform an HTTP PUT request.
put :: (QueryLike q, FromJSON j) => Client -> String -> q -> IO (Result j)
-- | Build a request.
buildRequest :: QueryLike q => Method -> Client -> String -> q -> IO Request
-- | Actually perform an HTTP request.
performRequest :: Client -> Request -> IO (Response ByteString)
-- | Handle decoding a potentially failed response.
handleResponse :: FromJSON j => Response ByteString -> Result j
-- | Decode a response body as JSON.
decodeValue :: FromJSON j => Response ByteString -> Either String j
-- | http://strava.github.io/api/v3/activities/
module Strive.Actions.Activities
-- | http://strava.github.io/api/v3/activities/#create
createActivity :: Client -> Name -> ActivityType -> StartTime -> ElapsedTime -> CreateActivityOptions -> IO (Result ActivityDetailed)
-- | http://strava.github.io/api/v3/activities/#get-details
getActivity :: Client -> ActivityId -> GetActivityOptions -> IO (Result ActivitySummary)
-- | http://strava.github.io/api/v3/activities/#put-updates
updateActivity :: Client -> ActivityId -> UpdateActivityOptions -> IO (Result ActivityDetailed)
-- | http://strava.github.io/api/v3/activities/#delete
deleteActivity :: Client -> ActivityId -> IO (Result ())
-- | http://strava.github.io/api/v3/activities/#get-activities
getCurrentActivities :: Client -> GetCurrentActivitiesOptions -> IO (Result [ActivitySummary])
-- | http://strava.github.io/api/v3/activities/#get-related
getRelatedActivities :: Client -> ActivityId -> GetRelatedActivitiesOptions -> IO (Result [ActivitySummary])
-- | http://strava.github.io/api/v3/activities/#get-feed
getFeed :: Client -> GetFeedOptions -> IO (Result [ActivitySummary])
-- | http://strava.github.io/api/v3/activities/#zones
getActivityZones :: Client -> ActivityId -> IO (Result [ActivityZoneDetailed])
-- | http://strava.github.io/api/v3/activities/#laps
getActivityLaps :: Client -> ActivityId -> IO (Result [ActivityLapSummary])
-- | http://strava.github.io/api/v3/athlete/
module Strive.Actions.Athletes
-- | http://strava.github.io/api/v3/athlete/#get-details
getCurrentAthlete :: Client -> IO (Result AthleteDetailed)
-- | http://strava.github.io/api/v3/athlete/#get-another-details
getAthlete :: Client -> AthleteId -> IO (Result AthleteSummary)
-- | http://strava.github.io/api/v3/athlete/#update
updateCurrentAthlete :: Client -> UpdateCurrentAthleteOptions -> IO (Result AthleteDetailed)
-- | http://strava.github.io/api/v3/athlete/#stats
getAthleteStats :: Client -> Integer -> IO (Result AthleteStats)
-- | http://strava.github.io/api/v3/athlete/#koms
getAthleteCrs :: Client -> AthleteId -> GetAthleteCrsOptions -> IO (Result [EffortDetailed])
-- | http://strava.github.io/api/v3/oauth/
module Strive.Actions.Authentication
-- | http://strava.github.io/api/v3/oauth/#get-authorize
buildAuthorizeUrl :: ApplicationId -> RedirectUri -> BuildAuthorizeUrlOptions -> String
-- | http://strava.github.io/api/v3/oauth/#post-token
exchangeToken :: ApplicationId -> ApplicationSecret -> AuthorizationCode -> IO (Result TokenExchangeResponse)
-- | http://strava.github.io/api/v3/oauth/#deauthorize
deauthorize :: Client -> IO (Result DeauthorizationResponse)
-- | http://strava.github.io/api/v3/clubs/
module Strive.Actions.Clubs
-- | http://strava.github.io/api/v3/clubs/#get-details
getClub :: Client -> ClubId -> IO (Result ClubDetailed)
-- | http://strava.github.io/api/v3/clubs/#get-athletes
getCurrentClubs :: Client -> IO (Result [ClubSummary])
-- | http://strava.github.io/api/v3/clubs/#get-members
getClubMembers :: Client -> ClubId -> GetClubMembersOptions -> IO (Result [AthleteSummary])
-- | http://strava.github.io/api/v3/clubs/#get-activities
getClubActivities :: Client -> ClubId -> GetClubActivitiesOptions -> IO (Result [ActivitySummary])
-- | http://strava.github.io/api/v3/clubs/#join
joinClub :: Client -> ClubId -> IO (Result ())
-- | http://strava.github.io/api/v3/clubs/#leave
leaveClub :: Client -> ClubId -> IO (Result ())
-- | http://strava.github.io/api/v3/comments/
module Strive.Actions.Comments
-- | http://strava.github.io/api/v3/comments/#list
getActivityComments :: Client -> ActivityId -> GetActivityCommentsOptions -> IO (Result [CommentSummary])
-- | http://strava.github.io/api/v3/efforts/
module Strive.Actions.Efforts
-- | http://strava.github.io/api/v3/efforts/#retrieve
getSegmentEffort :: Client -> EffortId -> IO (Result EffortDetailed)
-- | http://strava.github.io/api/v3/follow/
module Strive.Actions.Friends
-- | http://strava.github.io/api/v3/follow/#friends
getCurrentFriends :: Client -> GetCurrentFriendsOptions -> IO (Result [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#friends
getFriends :: Client -> AthleteId -> GetFriendsOptions -> IO (Result [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#followers
getCurrentFollowers :: Client -> GetCurrentFollowersOptions -> IO (Result [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#followers
getFollowers :: Client -> AthleteId -> GetFollowersOptions -> IO (Result [AthleteSummary])
-- | http://strava.github.io/api/v3/follow/#both
getCommonFriends :: Client -> AthleteId -> GetCommonFriendsOptions -> IO (Result [AthleteSummary])
-- | http://strava.github.io/api/v3/gear/
module Strive.Actions.Gear
-- | http://strava.github.io/api/v3/gear/#show
getGear :: Client -> GearId -> IO (Result GearDetailed)
-- | http://strava.github.io/api/v3/kudos/
module Strive.Actions.Kudos
-- | http://strava.github.io/api/v3/kudos/#list
getActivityKudoers :: Client -> ActivityId -> GetActivityKudoersOptions -> IO (Result [AthleteSummary])
-- | http://strava.github.io/api/v3/photos/
module Strive.Actions.Photos
-- | http://strava.github.io/api/v3/photos/#list
getActivityPhotos :: Client -> ActivityId -> IO (Result [PhotoSummary])
-- | http://strava.github.io/api/v3/segments/
module Strive.Actions.Segments
-- | http://strava.github.io/api/v3/segments/#retrieve
getSegment :: Client -> SegmentId -> IO (Result SegmentDetailed)
-- | http://strava.github.io/api/v3/segments/#starred
getStarredSegments :: Client -> GetStarredSegmentsOptions -> IO (Result [SegmentSummary])
-- | http://strava.github.io/api/v3/segments/#efforts
getSegmentEfforts :: Client -> SegmentId -> GetSegmentEffortsOptions -> IO (Result [EffortDetailed])
-- | http://strava.github.io/api/v3/segments/#leaderboard
getSegmentLeaderboard :: Client -> SegmentId -> GetSegmentLeaderboardOptions -> IO (Result SegmentLeaderboardResponse)
-- | http://strava.github.io/api/v3/segments/#explore
exploreSegments :: Client -> (Latitude, Longitude, Latitude, Longitude) -> ExploreSegmentsOptions -> IO (Result SegmentExplorerResponse)
-- | http://strava.github.io/api/v3/streams/
module Strive.Actions.Streams
-- | http://strava.github.io/api/v3/streams/#activity
getActivityStreams :: Client -> StreamId -> [StreamType] -> GetStreamsOptions -> IO (Result [StreamDetailed])
-- | http://strava.github.io/api/v3/streams/#effort
getEffortStreams :: Client -> StreamId -> [StreamType] -> GetStreamsOptions -> IO (Result [StreamDetailed])
-- | http://strava.github.io/api/v3/streams/#segment
getSegmentStreams :: Client -> StreamId -> [StreamType] -> GetStreamsOptions -> IO (Result [StreamDetailed])
-- | http://strava.github.io/api/v3/uploads/
module Strive.Actions.Uploads
-- | http://strava.github.io/api/v3/uploads/#post-file
uploadActivity :: Client -> ByteString -> Extension -> UploadActivityOptions -> IO (Result UploadStatus)
-- | http://strava.github.io/api/v3/uploads/#get-status
getUpload :: Client -> UploadId -> IO (Result UploadStatus)
-- | Functions for performing actions against the API.
module Strive.Actions
-- | A Haskell client for the Strava V3 API.
module Strive