module Network.GoDaddy.AftermarketTypes ( AftermarketListingExpiryCreate(AftermarketListingExpiryCreate)
, AftermarketListingAction(AftermarketListingAction)) where
import Data.Aeson
data AftermarketListingExpiryCreate = AftermarketListingExpiryCreate { domain :: String
, expiresAt :: String
, losingRegistrarId :: Integer
, pageViewsMonthly :: Maybe Integer
, revenueMonthly :: Maybe Integer } deriving (Show)
instance ToJSON AftermarketListingExpiryCreate where
toJSON (AftermarketListingExpiryCreate d e l p r) =
object [ "domain" .= d
, "expiresAt" .= e
, "losingRegistrarId" .= l
, "pageViewsMonthly" .= p
, "revenueMonthly" .= r ]
instance FromJSON AftermarketListingExpiryCreate where
parseJSON (Object v) =
AftermarketListingExpiryCreate <$> v .: "domain"
<*> v .: "expiresAt"
<*> v .: "losingRegistrarId"
<*> v .:? "pageViewsMonthly"
<*> v .:? "revenueMonthly"
parseJSON _ = fail "AftermarketListingExpiryCreate object not found"
data AftermarketListingAction = AftermarketListingAction { listingActionId :: Integer } deriving (Show)
instance ToJSON AftermarketListingAction where
toJSON (AftermarketListingAction id) =
object [ "listingActionId" .= id ]
instance FromJSON AftermarketListingAction where
parseJSON (Object v) =
AftermarketListingAction <$> v .: "listingActionId"
parseJSON _ = fail "AftermarketListingAction object not found"