{-# 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.AppState.Types.Product where
import Network.Google.AppState.Types.Sum
import Network.Google.Prelude
data WriteResult = WriteResult'
{ _wrCurrentStateVersion :: !(Maybe Text)
, _wrKind :: !Text
, _wrStateKey :: !(Maybe (Textual Int32))
} deriving (Eq,Show,Data,Typeable,Generic)
writeResult
:: WriteResult
writeResult =
WriteResult'
{ _wrCurrentStateVersion = Nothing
, _wrKind = "appstate#writeResult"
, _wrStateKey = Nothing
}
wrCurrentStateVersion :: Lens' WriteResult (Maybe Text)
wrCurrentStateVersion
= lens _wrCurrentStateVersion
(\ s a -> s{_wrCurrentStateVersion = a})
wrKind :: Lens' WriteResult Text
wrKind = lens _wrKind (\ s a -> s{_wrKind = a})
wrStateKey :: Lens' WriteResult (Maybe Int32)
wrStateKey
= lens _wrStateKey (\ s a -> s{_wrStateKey = a}) .
mapping _Coerce
instance FromJSON WriteResult where
parseJSON
= withObject "WriteResult"
(\ o ->
WriteResult' <$>
(o .:? "currentStateVersion") <*>
(o .:? "kind" .!= "appstate#writeResult")
<*> (o .:? "stateKey"))
instance ToJSON WriteResult where
toJSON WriteResult'{..}
= object
(catMaybes
[("currentStateVersion" .=) <$>
_wrCurrentStateVersion,
Just ("kind" .= _wrKind),
("stateKey" .=) <$> _wrStateKey])
data ListResponse = ListResponse'
{ _lrMaximumKeyCount :: !(Maybe (Textual Int32))
, _lrKind :: !Text
, _lrItems :: !(Maybe [GetResponse])
} deriving (Eq,Show,Data,Typeable,Generic)
listResponse
:: ListResponse
listResponse =
ListResponse'
{ _lrMaximumKeyCount = Nothing
, _lrKind = "appstate#listResponse"
, _lrItems = Nothing
}
lrMaximumKeyCount :: Lens' ListResponse (Maybe Int32)
lrMaximumKeyCount
= lens _lrMaximumKeyCount
(\ s a -> s{_lrMaximumKeyCount = a})
. mapping _Coerce
lrKind :: Lens' ListResponse Text
lrKind = lens _lrKind (\ s a -> s{_lrKind = a})
lrItems :: Lens' ListResponse [GetResponse]
lrItems
= lens _lrItems (\ s a -> s{_lrItems = a}) . _Default
. _Coerce
instance FromJSON ListResponse where
parseJSON
= withObject "ListResponse"
(\ o ->
ListResponse' <$>
(o .:? "maximumKeyCount") <*>
(o .:? "kind" .!= "appstate#listResponse")
<*> (o .:? "items" .!= mempty))
instance ToJSON ListResponse where
toJSON ListResponse'{..}
= object
(catMaybes
[("maximumKeyCount" .=) <$> _lrMaximumKeyCount,
Just ("kind" .= _lrKind), ("items" .=) <$> _lrItems])
data GetResponse = GetResponse'
{ _grCurrentStateVersion :: !(Maybe Text)
, _grKind :: !Text
, _grData :: !(Maybe Text)
, _grStateKey :: !(Maybe (Textual Int32))
} deriving (Eq,Show,Data,Typeable,Generic)
getResponse
:: GetResponse
getResponse =
GetResponse'
{ _grCurrentStateVersion = Nothing
, _grKind = "appstate#getResponse"
, _grData = Nothing
, _grStateKey = Nothing
}
grCurrentStateVersion :: Lens' GetResponse (Maybe Text)
grCurrentStateVersion
= lens _grCurrentStateVersion
(\ s a -> s{_grCurrentStateVersion = a})
grKind :: Lens' GetResponse Text
grKind = lens _grKind (\ s a -> s{_grKind = a})
grData :: Lens' GetResponse (Maybe Text)
grData = lens _grData (\ s a -> s{_grData = a})
grStateKey :: Lens' GetResponse (Maybe Int32)
grStateKey
= lens _grStateKey (\ s a -> s{_grStateKey = a}) .
mapping _Coerce
instance FromJSON GetResponse where
parseJSON
= withObject "GetResponse"
(\ o ->
GetResponse' <$>
(o .:? "currentStateVersion") <*>
(o .:? "kind" .!= "appstate#getResponse")
<*> (o .:? "data")
<*> (o .:? "stateKey"))
instance ToJSON GetResponse where
toJSON GetResponse'{..}
= object
(catMaybes
[("currentStateVersion" .=) <$>
_grCurrentStateVersion,
Just ("kind" .= _grKind), ("data" .=) <$> _grData,
("stateKey" .=) <$> _grStateKey])
data UpdateRequest = UpdateRequest'
{ _urKind :: !Text
, _urData :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
updateRequest
:: UpdateRequest
updateRequest =
UpdateRequest'
{ _urKind = "appstate#updateRequest"
, _urData = Nothing
}
urKind :: Lens' UpdateRequest Text
urKind = lens _urKind (\ s a -> s{_urKind = a})
urData :: Lens' UpdateRequest (Maybe Text)
urData = lens _urData (\ s a -> s{_urData = a})
instance FromJSON UpdateRequest where
parseJSON
= withObject "UpdateRequest"
(\ o ->
UpdateRequest' <$>
(o .:? "kind" .!= "appstate#updateRequest") <*>
(o .:? "data"))
instance ToJSON UpdateRequest where
toJSON UpdateRequest'{..}
= object
(catMaybes
[Just ("kind" .= _urKind), ("data" .=) <$> _urData])