-- | <http://strava.github.io/api/v3/kudos/>
module Strive.Actions.Kudos
  ( getActivityKudoers
  ) where

import Network.HTTP.Types (toQuery)
import Strive.Aliases (ActivityId, Result)
import Strive.Client (Client)
import Strive.Internal.HTTP (get)
import Strive.Options (GetActivityKudoersOptions)
import Strive.Types (AthleteSummary)

-- | <http://strava.github.io/api/v3/kudos/#list>
getActivityKudoers :: Client -> ActivityId -> GetActivityKudoersOptions -> IO (Result [AthleteSummary])
getActivityKudoers :: Client
-> ActivityId
-> GetActivityKudoersOptions
-> IO (Result [AthleteSummary])
getActivityKudoers Client
client ActivityId
activityId GetActivityKudoersOptions
options = Client -> String -> Query -> IO (Result [AthleteSummary])
forall q j.
(QueryLike q, FromJSON j) =>
Client -> String -> q -> IO (Result j)
get Client
client String
resource Query
query
 where
  resource :: String
resource = String
"api/v3/activities/" String -> String -> String
forall a. [a] -> [a] -> [a]
++ ActivityId -> String
forall a. Show a => a -> String
show ActivityId
activityId String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"/kudos"
  query :: Query
query = GetActivityKudoersOptions -> Query
forall a. QueryLike a => a -> Query
toQuery GetActivityKudoersOptions
options