module Network.Google.AppsLicensing.Types.Product where
import Network.Google.AppsLicensing.Types.Sum
import Network.Google.Prelude
newtype LicenseAssignmentInsert = LicenseAssignmentInsert'
{ _laiUserId :: Maybe Text
} deriving (Eq,Show,Data,Typeable,Generic)
licenseAssignmentInsert
:: LicenseAssignmentInsert
licenseAssignmentInsert =
LicenseAssignmentInsert'
{ _laiUserId = Nothing
}
laiUserId :: Lens' LicenseAssignmentInsert (Maybe Text)
laiUserId
= lens _laiUserId (\ s a -> s{_laiUserId = a})
instance FromJSON LicenseAssignmentInsert where
parseJSON
= withObject "LicenseAssignmentInsert"
(\ o ->
LicenseAssignmentInsert' <$> (o .:? "userId"))
instance ToJSON LicenseAssignmentInsert where
toJSON LicenseAssignmentInsert'{..}
= object (catMaybes [("userId" .=) <$> _laiUserId])
data LicenseAssignmentList = LicenseAssignmentList'
{ _lalEtag :: !(Maybe Text)
, _lalNextPageToken :: !(Maybe Text)
, _lalKind :: !Text
, _lalItems :: !(Maybe [LicenseAssignment])
} deriving (Eq,Show,Data,Typeable,Generic)
licenseAssignmentList
:: LicenseAssignmentList
licenseAssignmentList =
LicenseAssignmentList'
{ _lalEtag = Nothing
, _lalNextPageToken = Nothing
, _lalKind = "licensing#licenseAssignmentList"
, _lalItems = Nothing
}
lalEtag :: Lens' LicenseAssignmentList (Maybe Text)
lalEtag = lens _lalEtag (\ s a -> s{_lalEtag = a})
lalNextPageToken :: Lens' LicenseAssignmentList (Maybe Text)
lalNextPageToken
= lens _lalNextPageToken
(\ s a -> s{_lalNextPageToken = a})
lalKind :: Lens' LicenseAssignmentList Text
lalKind = lens _lalKind (\ s a -> s{_lalKind = a})
lalItems :: Lens' LicenseAssignmentList [LicenseAssignment]
lalItems
= lens _lalItems (\ s a -> s{_lalItems = a}) .
_Default
. _Coerce
instance FromJSON LicenseAssignmentList where
parseJSON
= withObject "LicenseAssignmentList"
(\ o ->
LicenseAssignmentList' <$>
(o .:? "etag") <*> (o .:? "nextPageToken") <*>
(o .:? "kind" .!= "licensing#licenseAssignmentList")
<*> (o .:? "items" .!= mempty))
instance ToJSON LicenseAssignmentList where
toJSON LicenseAssignmentList'{..}
= object
(catMaybes
[("etag" .=) <$> _lalEtag,
("nextPageToken" .=) <$> _lalNextPageToken,
Just ("kind" .= _lalKind),
("items" .=) <$> _lalItems])
data LicenseAssignment = LicenseAssignment'
{ _laEtags :: !(Maybe Text)
, _laKind :: !Text
, _laSKUId :: !(Maybe Text)
, _laUserId :: !(Maybe Text)
, _laSelfLink :: !(Maybe Text)
, _laProductId :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
licenseAssignment
:: LicenseAssignment
licenseAssignment =
LicenseAssignment'
{ _laEtags = Nothing
, _laKind = "licensing#licenseAssignment"
, _laSKUId = Nothing
, _laUserId = Nothing
, _laSelfLink = Nothing
, _laProductId = Nothing
}
laEtags :: Lens' LicenseAssignment (Maybe Text)
laEtags = lens _laEtags (\ s a -> s{_laEtags = a})
laKind :: Lens' LicenseAssignment Text
laKind = lens _laKind (\ s a -> s{_laKind = a})
laSKUId :: Lens' LicenseAssignment (Maybe Text)
laSKUId = lens _laSKUId (\ s a -> s{_laSKUId = a})
laUserId :: Lens' LicenseAssignment (Maybe Text)
laUserId = lens _laUserId (\ s a -> s{_laUserId = a})
laSelfLink :: Lens' LicenseAssignment (Maybe Text)
laSelfLink
= lens _laSelfLink (\ s a -> s{_laSelfLink = a})
laProductId :: Lens' LicenseAssignment (Maybe Text)
laProductId
= lens _laProductId (\ s a -> s{_laProductId = a})
instance FromJSON LicenseAssignment where
parseJSON
= withObject "LicenseAssignment"
(\ o ->
LicenseAssignment' <$>
(o .:? "etags") <*>
(o .:? "kind" .!= "licensing#licenseAssignment")
<*> (o .:? "skuId")
<*> (o .:? "userId")
<*> (o .:? "selfLink")
<*> (o .:? "productId"))
instance ToJSON LicenseAssignment where
toJSON LicenseAssignment'{..}
= object
(catMaybes
[("etags" .=) <$> _laEtags, Just ("kind" .= _laKind),
("skuId" .=) <$> _laSKUId,
("userId" .=) <$> _laUserId,
("selfLink" .=) <$> _laSelfLink,
("productId" .=) <$> _laProductId])