{-# 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.GroupsSettings.Types.Product where
import Network.Google.GroupsSettings.Types.Sum
import Network.Google.Prelude
data Groups = Groups'
{ _gEmail :: !(Maybe Text)
, _gSendMessageDenyNotification :: !(Maybe Text)
, _gWhoCanEnterFreeFormTags :: !(Maybe Text)
, _gWhoCanAssignTopics :: !(Maybe Text)
, _gWhoCanPostMessage :: !(Maybe Text)
, _gAllowExternalMembers :: !(Maybe Text)
, _gShowInGroupDirectory :: !(Maybe Text)
, _gWhoCanUnmarkFavoriteReplyOnAnyTopic :: !(Maybe Text)
, _gWhoCanTakeTopics :: !(Maybe Text)
, _gSpamModerationLevel :: !(Maybe Text)
, _gKind :: !Text
, _gWhoCanViewMembership :: !(Maybe Text)
, _gMembersCanPostAsTheGroup :: !(Maybe Text)
, _gWhoCanViewGroup :: !(Maybe Text)
, _gWhoCanJoin :: !(Maybe Text)
, _gArchiveOnly :: !(Maybe Text)
, _gMaxMessageBytes :: !(Maybe (Textual Int32))
, _gReplyTo :: !(Maybe Text)
, _gMessageModerationLevel :: !(Maybe Text)
, _gWhoCanMarkFavoriteReplyOnAnyTopic :: !(Maybe Text)
, _gIncludeInGlobalAddressList :: !(Maybe Text)
, _gIsArchived :: !(Maybe Text)
, _gName :: !(Maybe Text)
, _gWhoCanUnassignTopic :: !(Maybe Text)
, _gMessageDisplayFont :: !(Maybe Text)
, _gIncludeCustomFooter :: !(Maybe Text)
, _gFavoriteRepliesOnTop :: !(Maybe Text)
, _gCustomReplyTo :: !(Maybe Text)
, _gWhoCanAddReferences :: !(Maybe Text)
, _gWhoCanContactOwner :: !(Maybe Text)
, _gWhoCanAdd :: !(Maybe Text)
, _gWhoCanInvite :: !(Maybe Text)
, _gWhoCanLeaveGroup :: !(Maybe Text)
, _gWhoCanModifyTagsAndCategories :: !(Maybe Text)
, _gAllowGoogleCommunication :: !(Maybe Text)
, _gWhoCanMarkNoResponseNeeded :: !(Maybe Text)
, _gCustomFooterText :: !(Maybe Text)
, _gWhoCanMarkDuplicate :: !(Maybe Text)
, _gPrimaryLanguage :: !(Maybe Text)
, _gDescription :: !(Maybe Text)
, _gDefaultMessageDenyNotificationText :: !(Maybe Text)
, _gWhoCanMarkFavoriteReplyOnOwnTopic :: !(Maybe Text)
, _gAllowWebPosting :: !(Maybe Text)
} deriving (Eq,Show,Data,Typeable,Generic)
groups
:: Groups
groups =
Groups'
{ _gEmail = Nothing
, _gSendMessageDenyNotification = Nothing
, _gWhoCanEnterFreeFormTags = Nothing
, _gWhoCanAssignTopics = Nothing
, _gWhoCanPostMessage = Nothing
, _gAllowExternalMembers = Nothing
, _gShowInGroupDirectory = Nothing
, _gWhoCanUnmarkFavoriteReplyOnAnyTopic = Nothing
, _gWhoCanTakeTopics = Nothing
, _gSpamModerationLevel = Nothing
, _gKind = "groupsSettings#groups"
, _gWhoCanViewMembership = Nothing
, _gMembersCanPostAsTheGroup = Nothing
, _gWhoCanViewGroup = Nothing
, _gWhoCanJoin = Nothing
, _gArchiveOnly = Nothing
, _gMaxMessageBytes = Nothing
, _gReplyTo = Nothing
, _gMessageModerationLevel = Nothing
, _gWhoCanMarkFavoriteReplyOnAnyTopic = Nothing
, _gIncludeInGlobalAddressList = Nothing
, _gIsArchived = Nothing
, _gName = Nothing
, _gWhoCanUnassignTopic = Nothing
, _gMessageDisplayFont = Nothing
, _gIncludeCustomFooter = Nothing
, _gFavoriteRepliesOnTop = Nothing
, _gCustomReplyTo = Nothing
, _gWhoCanAddReferences = Nothing
, _gWhoCanContactOwner = Nothing
, _gWhoCanAdd = Nothing
, _gWhoCanInvite = Nothing
, _gWhoCanLeaveGroup = Nothing
, _gWhoCanModifyTagsAndCategories = Nothing
, _gAllowGoogleCommunication = Nothing
, _gWhoCanMarkNoResponseNeeded = Nothing
, _gCustomFooterText = Nothing
, _gWhoCanMarkDuplicate = Nothing
, _gPrimaryLanguage = Nothing
, _gDescription = Nothing
, _gDefaultMessageDenyNotificationText = Nothing
, _gWhoCanMarkFavoriteReplyOnOwnTopic = Nothing
, _gAllowWebPosting = Nothing
}
gEmail :: Lens' Groups (Maybe Text)
gEmail = lens _gEmail (\ s a -> s{_gEmail = a})
gSendMessageDenyNotification :: Lens' Groups (Maybe Text)
gSendMessageDenyNotification
= lens _gSendMessageDenyNotification
(\ s a -> s{_gSendMessageDenyNotification = a})
gWhoCanEnterFreeFormTags :: Lens' Groups (Maybe Text)
gWhoCanEnterFreeFormTags
= lens _gWhoCanEnterFreeFormTags
(\ s a -> s{_gWhoCanEnterFreeFormTags = a})
gWhoCanAssignTopics :: Lens' Groups (Maybe Text)
gWhoCanAssignTopics
= lens _gWhoCanAssignTopics
(\ s a -> s{_gWhoCanAssignTopics = a})
gWhoCanPostMessage :: Lens' Groups (Maybe Text)
gWhoCanPostMessage
= lens _gWhoCanPostMessage
(\ s a -> s{_gWhoCanPostMessage = a})
gAllowExternalMembers :: Lens' Groups (Maybe Text)
gAllowExternalMembers
= lens _gAllowExternalMembers
(\ s a -> s{_gAllowExternalMembers = a})
gShowInGroupDirectory :: Lens' Groups (Maybe Text)
gShowInGroupDirectory
= lens _gShowInGroupDirectory
(\ s a -> s{_gShowInGroupDirectory = a})
gWhoCanUnmarkFavoriteReplyOnAnyTopic :: Lens' Groups (Maybe Text)
gWhoCanUnmarkFavoriteReplyOnAnyTopic
= lens _gWhoCanUnmarkFavoriteReplyOnAnyTopic
(\ s a ->
s{_gWhoCanUnmarkFavoriteReplyOnAnyTopic = a})
gWhoCanTakeTopics :: Lens' Groups (Maybe Text)
gWhoCanTakeTopics
= lens _gWhoCanTakeTopics
(\ s a -> s{_gWhoCanTakeTopics = a})
gSpamModerationLevel :: Lens' Groups (Maybe Text)
gSpamModerationLevel
= lens _gSpamModerationLevel
(\ s a -> s{_gSpamModerationLevel = a})
gKind :: Lens' Groups Text
gKind = lens _gKind (\ s a -> s{_gKind = a})
gWhoCanViewMembership :: Lens' Groups (Maybe Text)
gWhoCanViewMembership
= lens _gWhoCanViewMembership
(\ s a -> s{_gWhoCanViewMembership = a})
gMembersCanPostAsTheGroup :: Lens' Groups (Maybe Text)
gMembersCanPostAsTheGroup
= lens _gMembersCanPostAsTheGroup
(\ s a -> s{_gMembersCanPostAsTheGroup = a})
gWhoCanViewGroup :: Lens' Groups (Maybe Text)
gWhoCanViewGroup
= lens _gWhoCanViewGroup
(\ s a -> s{_gWhoCanViewGroup = a})
gWhoCanJoin :: Lens' Groups (Maybe Text)
gWhoCanJoin
= lens _gWhoCanJoin (\ s a -> s{_gWhoCanJoin = a})
gArchiveOnly :: Lens' Groups (Maybe Text)
gArchiveOnly
= lens _gArchiveOnly (\ s a -> s{_gArchiveOnly = a})
gMaxMessageBytes :: Lens' Groups (Maybe Int32)
gMaxMessageBytes
= lens _gMaxMessageBytes
(\ s a -> s{_gMaxMessageBytes = a})
. mapping _Coerce
gReplyTo :: Lens' Groups (Maybe Text)
gReplyTo = lens _gReplyTo (\ s a -> s{_gReplyTo = a})
gMessageModerationLevel :: Lens' Groups (Maybe Text)
gMessageModerationLevel
= lens _gMessageModerationLevel
(\ s a -> s{_gMessageModerationLevel = a})
gWhoCanMarkFavoriteReplyOnAnyTopic :: Lens' Groups (Maybe Text)
gWhoCanMarkFavoriteReplyOnAnyTopic
= lens _gWhoCanMarkFavoriteReplyOnAnyTopic
(\ s a -> s{_gWhoCanMarkFavoriteReplyOnAnyTopic = a})
gIncludeInGlobalAddressList :: Lens' Groups (Maybe Text)
gIncludeInGlobalAddressList
= lens _gIncludeInGlobalAddressList
(\ s a -> s{_gIncludeInGlobalAddressList = a})
gIsArchived :: Lens' Groups (Maybe Text)
gIsArchived
= lens _gIsArchived (\ s a -> s{_gIsArchived = a})
gName :: Lens' Groups (Maybe Text)
gName = lens _gName (\ s a -> s{_gName = a})
gWhoCanUnassignTopic :: Lens' Groups (Maybe Text)
gWhoCanUnassignTopic
= lens _gWhoCanUnassignTopic
(\ s a -> s{_gWhoCanUnassignTopic = a})
gMessageDisplayFont :: Lens' Groups (Maybe Text)
gMessageDisplayFont
= lens _gMessageDisplayFont
(\ s a -> s{_gMessageDisplayFont = a})
gIncludeCustomFooter :: Lens' Groups (Maybe Text)
gIncludeCustomFooter
= lens _gIncludeCustomFooter
(\ s a -> s{_gIncludeCustomFooter = a})
gFavoriteRepliesOnTop :: Lens' Groups (Maybe Text)
gFavoriteRepliesOnTop
= lens _gFavoriteRepliesOnTop
(\ s a -> s{_gFavoriteRepliesOnTop = a})
gCustomReplyTo :: Lens' Groups (Maybe Text)
gCustomReplyTo
= lens _gCustomReplyTo
(\ s a -> s{_gCustomReplyTo = a})
gWhoCanAddReferences :: Lens' Groups (Maybe Text)
gWhoCanAddReferences
= lens _gWhoCanAddReferences
(\ s a -> s{_gWhoCanAddReferences = a})
gWhoCanContactOwner :: Lens' Groups (Maybe Text)
gWhoCanContactOwner
= lens _gWhoCanContactOwner
(\ s a -> s{_gWhoCanContactOwner = a})
gWhoCanAdd :: Lens' Groups (Maybe Text)
gWhoCanAdd
= lens _gWhoCanAdd (\ s a -> s{_gWhoCanAdd = a})
gWhoCanInvite :: Lens' Groups (Maybe Text)
gWhoCanInvite
= lens _gWhoCanInvite
(\ s a -> s{_gWhoCanInvite = a})
gWhoCanLeaveGroup :: Lens' Groups (Maybe Text)
gWhoCanLeaveGroup
= lens _gWhoCanLeaveGroup
(\ s a -> s{_gWhoCanLeaveGroup = a})
gWhoCanModifyTagsAndCategories :: Lens' Groups (Maybe Text)
gWhoCanModifyTagsAndCategories
= lens _gWhoCanModifyTagsAndCategories
(\ s a -> s{_gWhoCanModifyTagsAndCategories = a})
gAllowGoogleCommunication :: Lens' Groups (Maybe Text)
gAllowGoogleCommunication
= lens _gAllowGoogleCommunication
(\ s a -> s{_gAllowGoogleCommunication = a})
gWhoCanMarkNoResponseNeeded :: Lens' Groups (Maybe Text)
gWhoCanMarkNoResponseNeeded
= lens _gWhoCanMarkNoResponseNeeded
(\ s a -> s{_gWhoCanMarkNoResponseNeeded = a})
gCustomFooterText :: Lens' Groups (Maybe Text)
gCustomFooterText
= lens _gCustomFooterText
(\ s a -> s{_gCustomFooterText = a})
gWhoCanMarkDuplicate :: Lens' Groups (Maybe Text)
gWhoCanMarkDuplicate
= lens _gWhoCanMarkDuplicate
(\ s a -> s{_gWhoCanMarkDuplicate = a})
gPrimaryLanguage :: Lens' Groups (Maybe Text)
gPrimaryLanguage
= lens _gPrimaryLanguage
(\ s a -> s{_gPrimaryLanguage = a})
gDescription :: Lens' Groups (Maybe Text)
gDescription
= lens _gDescription (\ s a -> s{_gDescription = a})
gDefaultMessageDenyNotificationText :: Lens' Groups (Maybe Text)
gDefaultMessageDenyNotificationText
= lens _gDefaultMessageDenyNotificationText
(\ s a ->
s{_gDefaultMessageDenyNotificationText = a})
gWhoCanMarkFavoriteReplyOnOwnTopic :: Lens' Groups (Maybe Text)
gWhoCanMarkFavoriteReplyOnOwnTopic
= lens _gWhoCanMarkFavoriteReplyOnOwnTopic
(\ s a -> s{_gWhoCanMarkFavoriteReplyOnOwnTopic = a})
gAllowWebPosting :: Lens' Groups (Maybe Text)
gAllowWebPosting
= lens _gAllowWebPosting
(\ s a -> s{_gAllowWebPosting = a})
instance FromJSON Groups where
parseJSON
= withObject "Groups"
(\ o ->
Groups' <$>
(o .:? "email") <*>
(o .:? "sendMessageDenyNotification")
<*> (o .:? "whoCanEnterFreeFormTags")
<*> (o .:? "whoCanAssignTopics")
<*> (o .:? "whoCanPostMessage")
<*> (o .:? "allowExternalMembers")
<*> (o .:? "showInGroupDirectory")
<*> (o .:? "whoCanUnmarkFavoriteReplyOnAnyTopic")
<*> (o .:? "whoCanTakeTopics")
<*> (o .:? "spamModerationLevel")
<*> (o .:? "kind" .!= "groupsSettings#groups")
<*> (o .:? "whoCanViewMembership")
<*> (o .:? "membersCanPostAsTheGroup")
<*> (o .:? "whoCanViewGroup")
<*> (o .:? "whoCanJoin")
<*> (o .:? "archiveOnly")
<*> (o .:? "maxMessageBytes")
<*> (o .:? "replyTo")
<*> (o .:? "messageModerationLevel")
<*> (o .:? "whoCanMarkFavoriteReplyOnAnyTopic")
<*> (o .:? "includeInGlobalAddressList")
<*> (o .:? "isArchived")
<*> (o .:? "name")
<*> (o .:? "whoCanUnassignTopic")
<*> (o .:? "messageDisplayFont")
<*> (o .:? "includeCustomFooter")
<*> (o .:? "favoriteRepliesOnTop")
<*> (o .:? "customReplyTo")
<*> (o .:? "whoCanAddReferences")
<*> (o .:? "whoCanContactOwner")
<*> (o .:? "whoCanAdd")
<*> (o .:? "whoCanInvite")
<*> (o .:? "whoCanLeaveGroup")
<*> (o .:? "whoCanModifyTagsAndCategories")
<*> (o .:? "allowGoogleCommunication")
<*> (o .:? "whoCanMarkNoResponseNeeded")
<*> (o .:? "customFooterText")
<*> (o .:? "whoCanMarkDuplicate")
<*> (o .:? "primaryLanguage")
<*> (o .:? "description")
<*> (o .:? "defaultMessageDenyNotificationText")
<*> (o .:? "whoCanMarkFavoriteReplyOnOwnTopic")
<*> (o .:? "allowWebPosting"))
instance ToJSON Groups where
toJSON Groups'{..}
= object
(catMaybes
[("email" .=) <$> _gEmail,
("sendMessageDenyNotification" .=) <$>
_gSendMessageDenyNotification,
("whoCanEnterFreeFormTags" .=) <$>
_gWhoCanEnterFreeFormTags,
("whoCanAssignTopics" .=) <$> _gWhoCanAssignTopics,
("whoCanPostMessage" .=) <$> _gWhoCanPostMessage,
("allowExternalMembers" .=) <$>
_gAllowExternalMembers,
("showInGroupDirectory" .=) <$>
_gShowInGroupDirectory,
("whoCanUnmarkFavoriteReplyOnAnyTopic" .=) <$>
_gWhoCanUnmarkFavoriteReplyOnAnyTopic,
("whoCanTakeTopics" .=) <$> _gWhoCanTakeTopics,
("spamModerationLevel" .=) <$> _gSpamModerationLevel,
Just ("kind" .= _gKind),
("whoCanViewMembership" .=) <$>
_gWhoCanViewMembership,
("membersCanPostAsTheGroup" .=) <$>
_gMembersCanPostAsTheGroup,
("whoCanViewGroup" .=) <$> _gWhoCanViewGroup,
("whoCanJoin" .=) <$> _gWhoCanJoin,
("archiveOnly" .=) <$> _gArchiveOnly,
("maxMessageBytes" .=) <$> _gMaxMessageBytes,
("replyTo" .=) <$> _gReplyTo,
("messageModerationLevel" .=) <$>
_gMessageModerationLevel,
("whoCanMarkFavoriteReplyOnAnyTopic" .=) <$>
_gWhoCanMarkFavoriteReplyOnAnyTopic,
("includeInGlobalAddressList" .=) <$>
_gIncludeInGlobalAddressList,
("isArchived" .=) <$> _gIsArchived,
("name" .=) <$> _gName,
("whoCanUnassignTopic" .=) <$> _gWhoCanUnassignTopic,
("messageDisplayFont" .=) <$> _gMessageDisplayFont,
("includeCustomFooter" .=) <$> _gIncludeCustomFooter,
("favoriteRepliesOnTop" .=) <$>
_gFavoriteRepliesOnTop,
("customReplyTo" .=) <$> _gCustomReplyTo,
("whoCanAddReferences" .=) <$> _gWhoCanAddReferences,
("whoCanContactOwner" .=) <$> _gWhoCanContactOwner,
("whoCanAdd" .=) <$> _gWhoCanAdd,
("whoCanInvite" .=) <$> _gWhoCanInvite,
("whoCanLeaveGroup" .=) <$> _gWhoCanLeaveGroup,
("whoCanModifyTagsAndCategories" .=) <$>
_gWhoCanModifyTagsAndCategories,
("allowGoogleCommunication" .=) <$>
_gAllowGoogleCommunication,
("whoCanMarkNoResponseNeeded" .=) <$>
_gWhoCanMarkNoResponseNeeded,
("customFooterText" .=) <$> _gCustomFooterText,
("whoCanMarkDuplicate" .=) <$> _gWhoCanMarkDuplicate,
("primaryLanguage" .=) <$> _gPrimaryLanguage,
("description" .=) <$> _gDescription,
("defaultMessageDenyNotificationText" .=) <$>
_gDefaultMessageDenyNotificationText,
("whoCanMarkFavoriteReplyOnOwnTopic" .=) <$>
_gWhoCanMarkFavoriteReplyOnOwnTopic,
("allowWebPosting" .=) <$> _gAllowWebPosting])