{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.PlayCustomApp.Types.Product where
import Network.Google.PlayCustomApp.Types.Sum
import Network.Google.Prelude
data CustomApp = CustomApp'
{ _caLanguageCode :: !(Maybe Text)
, _caTitle :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
customApp
:: CustomApp
customApp =
CustomApp'
{ _caLanguageCode = Nothing
, _caTitle = Nothing
}
caLanguageCode :: Lens' CustomApp (Maybe Text)
caLanguageCode
= lens _caLanguageCode
(\ s a -> s{_caLanguageCode = a})
caTitle :: Lens' CustomApp (Maybe Text)
caTitle = lens _caTitle (\ s a -> s{_caTitle = a})
instance FromJSON CustomApp where
parseJSON
= withObject "CustomApp"
(\ o ->
CustomApp' <$>
(o .:? "languageCode") <*> (o .:? "title"))
instance ToJSON CustomApp where
toJSON CustomApp'{..}
= object
(catMaybes
[("languageCode" .=) <$> _caLanguageCode,
("title" .=) <$> _caTitle])