-- | <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 = 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/" forall a. Semigroup a => a -> a -> a
<> forall a. Show a => a -> String
show ActivityId
activityId forall a. Semigroup a => a -> a -> a
<> String
"/kudos"
    query :: Query
query = forall a. QueryLike a => a -> Query
toQuery GetActivityKudoersOptions
options