{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.Google.Gmail.Types.Sum where
import Network.Google.Prelude hiding (Bytes)
data FilterCriteriaSizeComparison
= Larger
| Smaller
| Unspecified
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable FilterCriteriaSizeComparison
instance FromHttpApiData FilterCriteriaSizeComparison where
parseQueryParam = \case
"larger" -> Right Larger
"smaller" -> Right Smaller
"unspecified" -> Right Unspecified
x -> Left ("Unable to parse FilterCriteriaSizeComparison from: " <> x)
instance ToHttpApiData FilterCriteriaSizeComparison where
toQueryParam = \case
Larger -> "larger"
Smaller -> "smaller"
Unspecified -> "unspecified"
instance FromJSON FilterCriteriaSizeComparison where
parseJSON = parseJSONText "FilterCriteriaSizeComparison"
instance ToJSON FilterCriteriaSizeComparison where
toJSON = toJSONText
data UsersMessagesGetFormat
= Full
| Metadata
| Minimal
| Raw
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable UsersMessagesGetFormat
instance FromHttpApiData UsersMessagesGetFormat where
parseQueryParam = \case
"full" -> Right Full
"metadata" -> Right Metadata
"minimal" -> Right Minimal
"raw" -> Right Raw
x -> Left ("Unable to parse UsersMessagesGetFormat from: " <> x)
instance ToHttpApiData UsersMessagesGetFormat where
toQueryParam = \case
Full -> "full"
Metadata -> "metadata"
Minimal -> "minimal"
Raw -> "raw"
instance FromJSON UsersMessagesGetFormat where
parseJSON = parseJSONText "UsersMessagesGetFormat"
instance ToJSON UsersMessagesGetFormat where
toJSON = toJSONText
data PopSettingsAccessWindow
= AccessWindowUnspecified
| AllMail
| Disabled
| FromNowOn
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable PopSettingsAccessWindow
instance FromHttpApiData PopSettingsAccessWindow where
parseQueryParam = \case
"accessWindowUnspecified" -> Right AccessWindowUnspecified
"allMail" -> Right AllMail
"disabled" -> Right Disabled
"fromNowOn" -> Right FromNowOn
x -> Left ("Unable to parse PopSettingsAccessWindow from: " <> x)
instance ToHttpApiData PopSettingsAccessWindow where
toQueryParam = \case
AccessWindowUnspecified -> "accessWindowUnspecified"
AllMail -> "allMail"
Disabled -> "disabled"
FromNowOn -> "fromNowOn"
instance FromJSON PopSettingsAccessWindow where
parseJSON = parseJSONText "PopSettingsAccessWindow"
instance ToJSON PopSettingsAccessWindow where
toJSON = toJSONText
data ForwardingAddressVerificationStatus
= Accepted
| Pending
| VerificationStatusUnspecified
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable ForwardingAddressVerificationStatus
instance FromHttpApiData ForwardingAddressVerificationStatus where
parseQueryParam = \case
"accepted" -> Right Accepted
"pending" -> Right Pending
"verificationStatusUnspecified" -> Right VerificationStatusUnspecified
x -> Left ("Unable to parse ForwardingAddressVerificationStatus from: " <> x)
instance ToHttpApiData ForwardingAddressVerificationStatus where
toQueryParam = \case
Accepted -> "accepted"
Pending -> "pending"
VerificationStatusUnspecified -> "verificationStatusUnspecified"
instance FromJSON ForwardingAddressVerificationStatus where
parseJSON = parseJSONText "ForwardingAddressVerificationStatus"
instance ToJSON ForwardingAddressVerificationStatus where
toJSON = toJSONText
data AutoForwardingDisPosition
= Archive
| DisPositionUnspecified
| LeaveInInbox
| MarkRead
| Trash
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable AutoForwardingDisPosition
instance FromHttpApiData AutoForwardingDisPosition where
parseQueryParam = \case
"archive" -> Right Archive
"dispositionUnspecified" -> Right DisPositionUnspecified
"leaveInInbox" -> Right LeaveInInbox
"markRead" -> Right MarkRead
"trash" -> Right Trash
x -> Left ("Unable to parse AutoForwardingDisPosition from: " <> x)
instance ToHttpApiData AutoForwardingDisPosition where
toQueryParam = \case
Archive -> "archive"
DisPositionUnspecified -> "dispositionUnspecified"
LeaveInInbox -> "leaveInInbox"
MarkRead -> "markRead"
Trash -> "trash"
instance FromJSON AutoForwardingDisPosition where
parseJSON = parseJSONText "AutoForwardingDisPosition"
instance ToJSON AutoForwardingDisPosition where
toJSON = toJSONText
data UsersHistoryListHistoryTypes
= LabelAdded
| LabelRemoved
| MessageAdded
| MessageDeleted
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable UsersHistoryListHistoryTypes
instance FromHttpApiData UsersHistoryListHistoryTypes where
parseQueryParam = \case
"labelAdded" -> Right LabelAdded
"labelRemoved" -> Right LabelRemoved
"messageAdded" -> Right MessageAdded
"messageDeleted" -> Right MessageDeleted
x -> Left ("Unable to parse UsersHistoryListHistoryTypes from: " <> x)
instance ToHttpApiData UsersHistoryListHistoryTypes where
toQueryParam = \case
LabelAdded -> "labelAdded"
LabelRemoved -> "labelRemoved"
MessageAdded -> "messageAdded"
MessageDeleted -> "messageDeleted"
instance FromJSON UsersHistoryListHistoryTypes where
parseJSON = parseJSONText "UsersHistoryListHistoryTypes"
instance ToJSON UsersHistoryListHistoryTypes where
toJSON = toJSONText
data SendAsVerificationStatus
= SAVSAccepted
| SAVSPending
| SAVSVerificationStatusUnspecified
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable SendAsVerificationStatus
instance FromHttpApiData SendAsVerificationStatus where
parseQueryParam = \case
"accepted" -> Right SAVSAccepted
"pending" -> Right SAVSPending
"verificationStatusUnspecified" -> Right SAVSVerificationStatusUnspecified
x -> Left ("Unable to parse SendAsVerificationStatus from: " <> x)
instance ToHttpApiData SendAsVerificationStatus where
toQueryParam = \case
SAVSAccepted -> "accepted"
SAVSPending -> "pending"
SAVSVerificationStatusUnspecified -> "verificationStatusUnspecified"
instance FromJSON SendAsVerificationStatus where
parseJSON = parseJSONText "SendAsVerificationStatus"
instance ToJSON SendAsVerificationStatus where
toJSON = toJSONText
data LabelType
= System
| User
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable LabelType
instance FromHttpApiData LabelType where
parseQueryParam = \case
"system" -> Right System
"user" -> Right User
x -> Left ("Unable to parse LabelType from: " <> x)
instance ToHttpApiData LabelType where
toQueryParam = \case
System -> "system"
User -> "user"
instance FromJSON LabelType where
parseJSON = parseJSONText "LabelType"
instance ToJSON LabelType where
toJSON = toJSONText
data UsersDraftsGetFormat
= UDGFFull
| UDGFMetadata
| UDGFMinimal
| UDGFRaw
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable UsersDraftsGetFormat
instance FromHttpApiData UsersDraftsGetFormat where
parseQueryParam = \case
"full" -> Right UDGFFull
"metadata" -> Right UDGFMetadata
"minimal" -> Right UDGFMinimal
"raw" -> Right UDGFRaw
x -> Left ("Unable to parse UsersDraftsGetFormat from: " <> x)
instance ToHttpApiData UsersDraftsGetFormat where
toQueryParam = \case
UDGFFull -> "full"
UDGFMetadata -> "metadata"
UDGFMinimal -> "minimal"
UDGFRaw -> "raw"
instance FromJSON UsersDraftsGetFormat where
parseJSON = parseJSONText "UsersDraftsGetFormat"
instance ToJSON UsersDraftsGetFormat where
toJSON = toJSONText
data UsersMessagesImportInternalDateSource
= DateHeader
| ReceivedTime
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable UsersMessagesImportInternalDateSource
instance FromHttpApiData UsersMessagesImportInternalDateSource where
parseQueryParam = \case
"dateHeader" -> Right DateHeader
"receivedTime" -> Right ReceivedTime
x -> Left ("Unable to parse UsersMessagesImportInternalDateSource from: " <> x)
instance ToHttpApiData UsersMessagesImportInternalDateSource where
toQueryParam = \case
DateHeader -> "dateHeader"
ReceivedTime -> "receivedTime"
instance FromJSON UsersMessagesImportInternalDateSource where
parseJSON = parseJSONText "UsersMessagesImportInternalDateSource"
instance ToJSON UsersMessagesImportInternalDateSource where
toJSON = toJSONText
data LabelMessageListVisibility
= Hide
| Show
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable LabelMessageListVisibility
instance FromHttpApiData LabelMessageListVisibility where
parseQueryParam = \case
"hide" -> Right Hide
"show" -> Right Show
x -> Left ("Unable to parse LabelMessageListVisibility from: " <> x)
instance ToHttpApiData LabelMessageListVisibility where
toQueryParam = \case
Hide -> "hide"
Show -> "show"
instance FromJSON LabelMessageListVisibility where
parseJSON = parseJSONText "LabelMessageListVisibility"
instance ToJSON LabelMessageListVisibility where
toJSON = toJSONText
data LabelLabelListVisibility
= LabelHide
| LabelShow
| LabelShowIfUnread
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable LabelLabelListVisibility
instance FromHttpApiData LabelLabelListVisibility where
parseQueryParam = \case
"labelHide" -> Right LabelHide
"labelShow" -> Right LabelShow
"labelShowIfUnread" -> Right LabelShowIfUnread
x -> Left ("Unable to parse LabelLabelListVisibility from: " <> x)
instance ToHttpApiData LabelLabelListVisibility where
toQueryParam = \case
LabelHide -> "labelHide"
LabelShow -> "labelShow"
LabelShowIfUnread -> "labelShowIfUnread"
instance FromJSON LabelLabelListVisibility where
parseJSON = parseJSONText "LabelLabelListVisibility"
instance ToJSON LabelLabelListVisibility where
toJSON = toJSONText
data DelegateVerificationStatus
= DVSAccepted
| DVSExpired
| DVSPending
| DVSRejected
| DVSVerificationStatusUnspecified
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable DelegateVerificationStatus
instance FromHttpApiData DelegateVerificationStatus where
parseQueryParam = \case
"accepted" -> Right DVSAccepted
"expired" -> Right DVSExpired
"pending" -> Right DVSPending
"rejected" -> Right DVSRejected
"verificationStatusUnspecified" -> Right DVSVerificationStatusUnspecified
x -> Left ("Unable to parse DelegateVerificationStatus from: " <> x)
instance ToHttpApiData DelegateVerificationStatus where
toQueryParam = \case
DVSAccepted -> "accepted"
DVSExpired -> "expired"
DVSPending -> "pending"
DVSRejected -> "rejected"
DVSVerificationStatusUnspecified -> "verificationStatusUnspecified"
instance FromJSON DelegateVerificationStatus where
parseJSON = parseJSONText "DelegateVerificationStatus"
instance ToJSON DelegateVerificationStatus where
toJSON = toJSONText
data UsersThreadsGetFormat
= UTGFFull
| UTGFMetadata
| UTGFMinimal
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable UsersThreadsGetFormat
instance FromHttpApiData UsersThreadsGetFormat where
parseQueryParam = \case
"full" -> Right UTGFFull
"metadata" -> Right UTGFMetadata
"minimal" -> Right UTGFMinimal
x -> Left ("Unable to parse UsersThreadsGetFormat from: " <> x)
instance ToHttpApiData UsersThreadsGetFormat where
toQueryParam = \case
UTGFFull -> "full"
UTGFMetadata -> "metadata"
UTGFMinimal -> "minimal"
instance FromJSON UsersThreadsGetFormat where
parseJSON = parseJSONText "UsersThreadsGetFormat"
instance ToJSON UsersThreadsGetFormat where
toJSON = toJSONText
data PopSettingsDisPosition
= PSDPArchive
| PSDPDisPositionUnspecified
| PSDPLeaveInInbox
| PSDPMarkRead
| PSDPTrash
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable PopSettingsDisPosition
instance FromHttpApiData PopSettingsDisPosition where
parseQueryParam = \case
"archive" -> Right PSDPArchive
"dispositionUnspecified" -> Right PSDPDisPositionUnspecified
"leaveInInbox" -> Right PSDPLeaveInInbox
"markRead" -> Right PSDPMarkRead
"trash" -> Right PSDPTrash
x -> Left ("Unable to parse PopSettingsDisPosition from: " <> x)
instance ToHttpApiData PopSettingsDisPosition where
toQueryParam = \case
PSDPArchive -> "archive"
PSDPDisPositionUnspecified -> "dispositionUnspecified"
PSDPLeaveInInbox -> "leaveInInbox"
PSDPMarkRead -> "markRead"
PSDPTrash -> "trash"
instance FromJSON PopSettingsDisPosition where
parseJSON = parseJSONText "PopSettingsDisPosition"
instance ToJSON PopSettingsDisPosition where
toJSON = toJSONText
data WatchRequestLabelFilterAction
= Exclude
| Include
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable WatchRequestLabelFilterAction
instance FromHttpApiData WatchRequestLabelFilterAction where
parseQueryParam = \case
"exclude" -> Right Exclude
"include" -> Right Include
x -> Left ("Unable to parse WatchRequestLabelFilterAction from: " <> x)
instance ToHttpApiData WatchRequestLabelFilterAction where
toQueryParam = \case
Exclude -> "exclude"
Include -> "include"
instance FromJSON WatchRequestLabelFilterAction where
parseJSON = parseJSONText "WatchRequestLabelFilterAction"
instance ToJSON WatchRequestLabelFilterAction where
toJSON = toJSONText
data ImapSettingsExpungeBehavior
= ISEBArchive
| ISEBDeleteForever
| ISEBExpungeBehaviorUnspecified
| ISEBTrash
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable ImapSettingsExpungeBehavior
instance FromHttpApiData ImapSettingsExpungeBehavior where
parseQueryParam = \case
"archive" -> Right ISEBArchive
"deleteForever" -> Right ISEBDeleteForever
"expungeBehaviorUnspecified" -> Right ISEBExpungeBehaviorUnspecified
"trash" -> Right ISEBTrash
x -> Left ("Unable to parse ImapSettingsExpungeBehavior from: " <> x)
instance ToHttpApiData ImapSettingsExpungeBehavior where
toQueryParam = \case
ISEBArchive -> "archive"
ISEBDeleteForever -> "deleteForever"
ISEBExpungeBehaviorUnspecified -> "expungeBehaviorUnspecified"
ISEBTrash -> "trash"
instance FromJSON ImapSettingsExpungeBehavior where
parseJSON = parseJSONText "ImapSettingsExpungeBehavior"
instance ToJSON ImapSettingsExpungeBehavior where
toJSON = toJSONText
data SmtpMsaSecurityMode
= None
| SecurityModeUnspecified
| SSL
| Starttls
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable SmtpMsaSecurityMode
instance FromHttpApiData SmtpMsaSecurityMode where
parseQueryParam = \case
"none" -> Right None
"securityModeUnspecified" -> Right SecurityModeUnspecified
"ssl" -> Right SSL
"starttls" -> Right Starttls
x -> Left ("Unable to parse SmtpMsaSecurityMode from: " <> x)
instance ToHttpApiData SmtpMsaSecurityMode where
toQueryParam = \case
None -> "none"
SecurityModeUnspecified -> "securityModeUnspecified"
SSL -> "ssl"
Starttls -> "starttls"
instance FromJSON SmtpMsaSecurityMode where
parseJSON = parseJSONText "SmtpMsaSecurityMode"
instance ToJSON SmtpMsaSecurityMode where
toJSON = toJSONText
data UsersMessagesInsertInternalDateSource
= UMIIDSDateHeader
| UMIIDSReceivedTime
deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)
instance Hashable UsersMessagesInsertInternalDateSource
instance FromHttpApiData UsersMessagesInsertInternalDateSource where
parseQueryParam = \case
"dateHeader" -> Right UMIIDSDateHeader
"receivedTime" -> Right UMIIDSReceivedTime
x -> Left ("Unable to parse UsersMessagesInsertInternalDateSource from: " <> x)
instance ToHttpApiData UsersMessagesInsertInternalDateSource where
toQueryParam = \case
UMIIDSDateHeader -> "dateHeader"
UMIIDSReceivedTime -> "receivedTime"
instance FromJSON UsersMessagesInsertInternalDateSource where
parseJSON = parseJSONText "UsersMessagesInsertInternalDateSource"
instance ToJSON UsersMessagesInsertInternalDateSource where
toJSON = toJSONText