{-# LANGUAGE TemplateHaskell #-}

-- | <http://strava.github.io/api/v3/streams/>
module Strive.Types.Streams
  ( StreamDetailed (..),
  )
where

import Data.Aeson (Value)
import Data.Aeson.TH (deriveFromJSON)
import Data.Text (Text)
import Strive.Enums (Resolution, SeriesType)
import Strive.Internal.TH (options)

-- | <http://strava.github.io/api/v3/streams/#detailed>
data StreamDetailed = StreamDetailed
  { StreamDetailed -> [Value]
streamDetailed_data :: [Value],
    StreamDetailed -> Integer
streamDetailed_originalSize :: Integer,
    StreamDetailed -> Resolution
streamDetailed_resolution :: Resolution,
    StreamDetailed -> SeriesType
streamDetailed_seriesType :: SeriesType,
    StreamDetailed -> Text
streamDetailed_type :: Text
  }
  deriving (Int -> StreamDetailed -> ShowS
[StreamDetailed] -> ShowS
StreamDetailed -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StreamDetailed] -> ShowS
$cshowList :: [StreamDetailed] -> ShowS
show :: StreamDetailed -> String
$cshow :: StreamDetailed -> String
showsPrec :: Int -> StreamDetailed -> ShowS
$cshowsPrec :: Int -> StreamDetailed -> ShowS
Show)

$(deriveFromJSON options ''StreamDetailed)