{-# LANGUAGE TemplateHaskell #-}
-- |
module Strive.Types.Gear
( GearDetailed (..),
GearSummary (..),
)
where
import Data.Aeson.TH (deriveFromJSON)
import Data.Text (Text)
import Strive.Enums (FrameType, ResourceState)
import Strive.Internal.TH (options)
-- |
data GearDetailed = GearDetailed
{ gearDetailed_brandName :: Text,
gearDetailed_description :: Text,
gearDetailed_distance :: Double,
gearDetailed_frameType :: Maybe FrameType,
gearDetailed_id :: Text,
gearDetailed_modelName :: Text,
gearDetailed_name :: Text,
gearDetailed_primary :: Bool,
gearDetailed_resourceState :: ResourceState
}
deriving (Show)
$(deriveFromJSON options ''GearDetailed)
-- |
data GearSummary = GearSummary
{ gearSummary_distance :: Double,
gearSummary_id :: Text,
gearSummary_name :: Text,
gearSummary_primary :: Bool,
gearSummary_resourceState :: ResourceState
}
deriving (Show)
$(deriveFromJSON options ''GearSummary)