{-# 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)