{-# 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 -> Text
gearDetailed_brandName :: Text
, GearDetailed -> Text
gearDetailed_description :: Text
, GearDetailed -> Double
gearDetailed_distance :: Double
, GearDetailed -> Maybe FrameType
gearDetailed_frameType :: Maybe FrameType
, GearDetailed -> Text
gearDetailed_id :: Text
, GearDetailed -> Text
gearDetailed_modelName :: Text
, GearDetailed -> Text
gearDetailed_name :: Text
, GearDetailed -> Bool
gearDetailed_primary :: Bool
, GearDetailed -> ResourceState
gearDetailed_resourceState :: ResourceState
}
deriving Int -> GearDetailed -> ShowS
[GearDetailed] -> ShowS
GearDetailed -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GearDetailed] -> ShowS
$cshowList :: [GearDetailed] -> ShowS
show :: GearDetailed -> String
$cshow :: GearDetailed -> String
showsPrec :: Int -> GearDetailed -> ShowS
$cshowsPrec :: Int -> GearDetailed -> ShowS
Show
$(deriveFromJSON options ''GearDetailed)
data GearSummary = GearSummary
{ GearSummary -> Double
gearSummary_distance :: Double
, GearSummary -> Text
gearSummary_id :: Text
, GearSummary -> Text
gearSummary_name :: Text
, GearSummary -> Bool
gearSummary_primary :: Bool
, GearSummary -> ResourceState
gearSummary_resourceState :: ResourceState
}
deriving Int -> GearSummary -> ShowS
[GearSummary] -> ShowS
GearSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GearSummary] -> ShowS
$cshowList :: [GearSummary] -> ShowS
show :: GearSummary -> String
$cshow :: GearSummary -> String
showsPrec :: Int -> GearSummary -> ShowS
$cshowsPrec :: Int -> GearSummary -> ShowS
Show
$(deriveFromJSON options ''GearSummary)