coinbase-pro-0.9.1.0: src/lib/CoinbasePro/Authenticated/Profile.hs
{-# LANGUAGE TemplateHaskell #-}
module CoinbasePro.Authenticated.Profile
( Profile (..)
, ProfileTransfer (..)
) where
import Data.Aeson.Casing (snakeCase)
import Data.Aeson.TH (defaultOptions, deriveJSON,
fieldLabelModifier)
import Data.Text (Text)
import CoinbasePro.Types (CreatedAt, CurrencyType, ProfileId, UserId)
data Profile = Profile
{ pId :: ProfileId
, pUserId :: UserId
, pName :: Text
, pActive :: Bool
, pIsDefault :: Bool
, pCreatedAt :: CreatedAt
} deriving Show
deriveJSON defaultOptions { fieldLabelModifier = snakeCase . drop 1 } ''Profile
data ProfileTransfer = ProfileTransfer
{ from :: ProfileId
, to :: ProfileId
, currency :: CurrencyType
, amount :: String
} deriving Show
deriveJSON defaultOptions { fieldLabelModifier = snakeCase } ''ProfileTransfer