{-# LANGUAGE TemplateHaskell #-}

-- | <http://strava.github.io/api/v3/uploads/>
module Strive.Types.Uploads
  ( UploadStatus (..),
  )
where

import Data.Aeson.TH (deriveFromJSON)
import Data.Text (Text)
import Strive.Internal.TH (options)

-- | <http://strava.github.io/api/v3/uploads/#attributes>
data UploadStatus = UploadStatus
  { UploadStatus -> Maybe Integer
uploadStatus_activityId :: Maybe Integer,
    UploadStatus -> Maybe Text
uploadStatus_error :: Maybe Text,
    UploadStatus -> Maybe Text
uploadStatus_externalId :: Maybe Text,
    UploadStatus -> Integer
uploadStatus_id :: Integer,
    UploadStatus -> Text
uploadStatus_status :: Text
  }
  deriving (Int -> UploadStatus -> ShowS
[UploadStatus] -> ShowS
UploadStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UploadStatus] -> ShowS
$cshowList :: [UploadStatus] -> ShowS
show :: UploadStatus -> String
$cshow :: UploadStatus -> String
showsPrec :: Int -> UploadStatus -> ShowS
$cshowsPrec :: Int -> UploadStatus -> ShowS
Show)

$(deriveFromJSON options ''UploadStatus)