module TD.Data.PushMessageContent
(PushMessageContent(..)) where
import qualified Data.Aeson as A
import qualified Data.Aeson.Types as AT
import qualified TD.Lib.Internal as I
import qualified TD.Data.Animation as Animation
import qualified Data.Text as T
import qualified TD.Data.Audio as Audio
import qualified TD.Data.Document as Document
import qualified TD.Data.Photo as Photo
import qualified TD.Data.GiveawayPrize as GiveawayPrize
import qualified TD.Data.Sticker as Sticker
import qualified TD.Data.Video as Video
import qualified TD.Data.VideoNote as VideoNote
import qualified TD.Data.VoiceNote as VoiceNote
data PushMessageContent
= PushMessageContentHidden
{ PushMessageContent -> Maybe Bool
is_pinned :: Maybe Bool
}
| PushMessageContentAnimation
{ PushMessageContent -> Maybe Animation
animation :: Maybe Animation.Animation
, PushMessageContent -> Maybe Text
caption :: Maybe T.Text
, is_pinned :: Maybe Bool
}
| PushMessageContentAudio
{ PushMessageContent -> Maybe Audio
audio :: Maybe Audio.Audio
, is_pinned :: Maybe Bool
}
| PushMessageContentContact
{ PushMessageContent -> Maybe Text
name :: Maybe T.Text
, is_pinned :: Maybe Bool
}
| PushMessageContentContactRegistered
| PushMessageContentDocument
{ PushMessageContent -> Maybe Document
document :: Maybe Document.Document
, is_pinned :: Maybe Bool
}
| PushMessageContentGame
{ PushMessageContent -> Maybe Text
title :: Maybe T.Text
, is_pinned :: Maybe Bool
}
| PushMessageContentGameScore
{ title :: Maybe T.Text
, PushMessageContent -> Maybe Int
score :: Maybe Int
, is_pinned :: Maybe Bool
}
| PushMessageContentInvoice
{ PushMessageContent -> Maybe Text
price :: Maybe T.Text
, is_pinned :: Maybe Bool
}
| PushMessageContentLocation
{ PushMessageContent -> Maybe Bool
is_live :: Maybe Bool
, is_pinned :: Maybe Bool
}
| PushMessageContentPaidMedia
{ PushMessageContent -> Maybe Int
star_count :: Maybe Int
, is_pinned :: Maybe Bool
}
| PushMessageContentPhoto
{ PushMessageContent -> Maybe Photo
photo :: Maybe Photo.Photo
, caption :: Maybe T.Text
, PushMessageContent -> Maybe Bool
is_secret :: Maybe Bool
, is_pinned :: Maybe Bool
}
| PushMessageContentPoll
{ PushMessageContent -> Maybe Text
question :: Maybe T.Text
, PushMessageContent -> Maybe Bool
is_regular :: Maybe Bool
, is_pinned :: Maybe Bool
}
| PushMessageContentPremiumGiftCode
{ PushMessageContent -> Maybe Int
month_count :: Maybe Int
}
| PushMessageContentGiveaway
{ PushMessageContent -> Maybe Int
winner_count :: Maybe Int
, PushMessageContent -> Maybe GiveawayPrize
prize :: Maybe GiveawayPrize.GiveawayPrize
, is_pinned :: Maybe Bool
}
| PushMessageContentGift
{ star_count :: Maybe Int
}
| PushMessageContentScreenshotTaken
| PushMessageContentSticker
{ PushMessageContent -> Maybe Sticker
sticker :: Maybe Sticker.Sticker
, PushMessageContent -> Maybe Text
emoji :: Maybe T.Text
, is_pinned :: Maybe Bool
}
| PushMessageContentStory
{ is_pinned :: Maybe Bool
}
| PushMessageContentText
{ PushMessageContent -> Maybe Text
text :: Maybe T.Text
, is_pinned :: Maybe Bool
}
| PushMessageContentVideo
{ PushMessageContent -> Maybe Video
video :: Maybe Video.Video
, caption :: Maybe T.Text
, is_secret :: Maybe Bool
, is_pinned :: Maybe Bool
}
| PushMessageContentVideoNote
{ PushMessageContent -> Maybe VideoNote
video_note :: Maybe VideoNote.VideoNote
, is_pinned :: Maybe Bool
}
| PushMessageContentVoiceNote
{ PushMessageContent -> Maybe VoiceNote
voice_note :: Maybe VoiceNote.VoiceNote
, is_pinned :: Maybe Bool
}
| PushMessageContentBasicGroupChatCreate
| PushMessageContentChatAddMembers
{ PushMessageContent -> Maybe Text
member_name :: Maybe T.Text
, PushMessageContent -> Maybe Bool
is_current_user :: Maybe Bool
, PushMessageContent -> Maybe Bool
is_returned :: Maybe Bool
}
| PushMessageContentChatChangePhoto
| PushMessageContentChatChangeTitle
{ title :: Maybe T.Text
}
| PushMessageContentChatSetBackground
{ PushMessageContent -> Maybe Bool
is_same :: Maybe Bool
}
| PushMessageContentChatSetTheme
{ PushMessageContent -> Maybe Text
theme_name :: Maybe T.Text
}
| PushMessageContentChatDeleteMember
{ member_name :: Maybe T.Text
, is_current_user :: Maybe Bool
, PushMessageContent -> Maybe Bool
is_left :: Maybe Bool
}
| PushMessageContentChatJoinByLink
| PushMessageContentChatJoinByRequest
| PushMessageContentRecurringPayment
{ PushMessageContent -> Maybe Text
amount :: Maybe T.Text
}
| PushMessageContentSuggestProfilePhoto
| PushMessageContentMessageForwards
{ PushMessageContent -> Maybe Int
total_count :: Maybe Int
}
| PushMessageContentMediaAlbum
{ total_count :: Maybe Int
, PushMessageContent -> Maybe Bool
has_photos :: Maybe Bool
, PushMessageContent -> Maybe Bool
has_videos :: Maybe Bool
, PushMessageContent -> Maybe Bool
has_audios :: Maybe Bool
, PushMessageContent -> Maybe Bool
has_documents :: Maybe Bool
}
deriving (PushMessageContent -> PushMessageContent -> Bool
(PushMessageContent -> PushMessageContent -> Bool)
-> (PushMessageContent -> PushMessageContent -> Bool)
-> Eq PushMessageContent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PushMessageContent -> PushMessageContent -> Bool
== :: PushMessageContent -> PushMessageContent -> Bool
$c/= :: PushMessageContent -> PushMessageContent -> Bool
/= :: PushMessageContent -> PushMessageContent -> Bool
Eq, Int -> PushMessageContent -> ShowS
[PushMessageContent] -> ShowS
PushMessageContent -> String
(Int -> PushMessageContent -> ShowS)
-> (PushMessageContent -> String)
-> ([PushMessageContent] -> ShowS)
-> Show PushMessageContent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PushMessageContent -> ShowS
showsPrec :: Int -> PushMessageContent -> ShowS
$cshow :: PushMessageContent -> String
show :: PushMessageContent -> String
$cshowList :: [PushMessageContent] -> ShowS
showList :: [PushMessageContent] -> ShowS
Show)
instance I.ShortShow PushMessageContent where
shortShow :: PushMessageContent -> String
shortShow PushMessageContentHidden
{ is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentHidden"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentAnimation
{ animation :: PushMessageContent -> Maybe Animation
animation = Maybe Animation
animation_
, caption :: PushMessageContent -> Maybe Text
caption = Maybe Text
caption_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentAnimation"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"animation" String -> Maybe Animation -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Animation
animation_
, String
"caption" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
caption_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentAudio
{ audio :: PushMessageContent -> Maybe Audio
audio = Maybe Audio
audio_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentAudio"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"audio" String -> Maybe Audio -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Audio
audio_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentContact
{ name :: PushMessageContent -> Maybe Text
name = Maybe Text
name_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentContact"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"name" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
name_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContent
PushMessageContentContactRegistered
= String
"PushMessageContentContactRegistered"
shortShow PushMessageContentDocument
{ document :: PushMessageContent -> Maybe Document
document = Maybe Document
document_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentDocument"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"document" String -> Maybe Document -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Document
document_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentGame
{ title :: PushMessageContent -> Maybe Text
title = Maybe Text
title_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentGame"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"title" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
title_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentGameScore
{ title :: PushMessageContent -> Maybe Text
title = Maybe Text
title_
, score :: PushMessageContent -> Maybe Int
score = Maybe Int
score_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentGameScore"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"title" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
title_
, String
"score" String -> Maybe Int -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Int
score_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentInvoice
{ price :: PushMessageContent -> Maybe Text
price = Maybe Text
price_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentInvoice"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"price" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
price_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentLocation
{ is_live :: PushMessageContent -> Maybe Bool
is_live = Maybe Bool
is_live_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentLocation"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"is_live" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_live_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentPaidMedia
{ star_count :: PushMessageContent -> Maybe Int
star_count = Maybe Int
star_count_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentPaidMedia"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"star_count" String -> Maybe Int -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Int
star_count_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentPhoto
{ photo :: PushMessageContent -> Maybe Photo
photo = Maybe Photo
photo_
, caption :: PushMessageContent -> Maybe Text
caption = Maybe Text
caption_
, is_secret :: PushMessageContent -> Maybe Bool
is_secret = Maybe Bool
is_secret_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentPhoto"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"photo" String -> Maybe Photo -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Photo
photo_
, String
"caption" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
caption_
, String
"is_secret" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_secret_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentPoll
{ question :: PushMessageContent -> Maybe Text
question = Maybe Text
question_
, is_regular :: PushMessageContent -> Maybe Bool
is_regular = Maybe Bool
is_regular_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentPoll"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"question" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
question_
, String
"is_regular" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_regular_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentPremiumGiftCode
{ month_count :: PushMessageContent -> Maybe Int
month_count = Maybe Int
month_count_
}
= String
"PushMessageContentPremiumGiftCode"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"month_count" String -> Maybe Int -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Int
month_count_
]
shortShow PushMessageContentGiveaway
{ winner_count :: PushMessageContent -> Maybe Int
winner_count = Maybe Int
winner_count_
, prize :: PushMessageContent -> Maybe GiveawayPrize
prize = Maybe GiveawayPrize
prize_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentGiveaway"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"winner_count" String -> Maybe Int -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Int
winner_count_
, String
"prize" String -> Maybe GiveawayPrize -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe GiveawayPrize
prize_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentGift
{ star_count :: PushMessageContent -> Maybe Int
star_count = Maybe Int
star_count_
}
= String
"PushMessageContentGift"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"star_count" String -> Maybe Int -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Int
star_count_
]
shortShow PushMessageContent
PushMessageContentScreenshotTaken
= String
"PushMessageContentScreenshotTaken"
shortShow PushMessageContentSticker
{ sticker :: PushMessageContent -> Maybe Sticker
sticker = Maybe Sticker
sticker_
, emoji :: PushMessageContent -> Maybe Text
emoji = Maybe Text
emoji_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentSticker"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"sticker" String -> Maybe Sticker -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Sticker
sticker_
, String
"emoji" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
emoji_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentStory
{ is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentStory"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentText
{ text :: PushMessageContent -> Maybe Text
text = Maybe Text
text_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentText"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"text" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
text_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentVideo
{ video :: PushMessageContent -> Maybe Video
video = Maybe Video
video_
, caption :: PushMessageContent -> Maybe Text
caption = Maybe Text
caption_
, is_secret :: PushMessageContent -> Maybe Bool
is_secret = Maybe Bool
is_secret_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentVideo"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"video" String -> Maybe Video -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Video
video_
, String
"caption" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
caption_
, String
"is_secret" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_secret_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentVideoNote
{ video_note :: PushMessageContent -> Maybe VideoNote
video_note = Maybe VideoNote
video_note_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentVideoNote"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"video_note" String -> Maybe VideoNote -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe VideoNote
video_note_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContentVoiceNote
{ voice_note :: PushMessageContent -> Maybe VoiceNote
voice_note = Maybe VoiceNote
voice_note_
, is_pinned :: PushMessageContent -> Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
= String
"PushMessageContentVoiceNote"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"voice_note" String -> Maybe VoiceNote -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe VoiceNote
voice_note_
, String
"is_pinned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_pinned_
]
shortShow PushMessageContent
PushMessageContentBasicGroupChatCreate
= String
"PushMessageContentBasicGroupChatCreate"
shortShow PushMessageContentChatAddMembers
{ member_name :: PushMessageContent -> Maybe Text
member_name = Maybe Text
member_name_
, is_current_user :: PushMessageContent -> Maybe Bool
is_current_user = Maybe Bool
is_current_user_
, is_returned :: PushMessageContent -> Maybe Bool
is_returned = Maybe Bool
is_returned_
}
= String
"PushMessageContentChatAddMembers"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"member_name" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
member_name_
, String
"is_current_user" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_current_user_
, String
"is_returned" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_returned_
]
shortShow PushMessageContent
PushMessageContentChatChangePhoto
= String
"PushMessageContentChatChangePhoto"
shortShow PushMessageContentChatChangeTitle
{ title :: PushMessageContent -> Maybe Text
title = Maybe Text
title_
}
= String
"PushMessageContentChatChangeTitle"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"title" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
title_
]
shortShow PushMessageContentChatSetBackground
{ is_same :: PushMessageContent -> Maybe Bool
is_same = Maybe Bool
is_same_
}
= String
"PushMessageContentChatSetBackground"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"is_same" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_same_
]
shortShow PushMessageContentChatSetTheme
{ theme_name :: PushMessageContent -> Maybe Text
theme_name = Maybe Text
theme_name_
}
= String
"PushMessageContentChatSetTheme"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"theme_name" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
theme_name_
]
shortShow PushMessageContentChatDeleteMember
{ member_name :: PushMessageContent -> Maybe Text
member_name = Maybe Text
member_name_
, is_current_user :: PushMessageContent -> Maybe Bool
is_current_user = Maybe Bool
is_current_user_
, is_left :: PushMessageContent -> Maybe Bool
is_left = Maybe Bool
is_left_
}
= String
"PushMessageContentChatDeleteMember"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"member_name" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
member_name_
, String
"is_current_user" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_current_user_
, String
"is_left" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
is_left_
]
shortShow PushMessageContent
PushMessageContentChatJoinByLink
= String
"PushMessageContentChatJoinByLink"
shortShow PushMessageContent
PushMessageContentChatJoinByRequest
= String
"PushMessageContentChatJoinByRequest"
shortShow PushMessageContentRecurringPayment
{ amount :: PushMessageContent -> Maybe Text
amount = Maybe Text
amount_
}
= String
"PushMessageContentRecurringPayment"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"amount" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
amount_
]
shortShow PushMessageContent
PushMessageContentSuggestProfilePhoto
= String
"PushMessageContentSuggestProfilePhoto"
shortShow PushMessageContentMessageForwards
{ total_count :: PushMessageContent -> Maybe Int
total_count = Maybe Int
total_count_
}
= String
"PushMessageContentMessageForwards"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"total_count" String -> Maybe Int -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Int
total_count_
]
shortShow PushMessageContentMediaAlbum
{ total_count :: PushMessageContent -> Maybe Int
total_count = Maybe Int
total_count_
, has_photos :: PushMessageContent -> Maybe Bool
has_photos = Maybe Bool
has_photos_
, has_videos :: PushMessageContent -> Maybe Bool
has_videos = Maybe Bool
has_videos_
, has_audios :: PushMessageContent -> Maybe Bool
has_audios = Maybe Bool
has_audios_
, has_documents :: PushMessageContent -> Maybe Bool
has_documents = Maybe Bool
has_documents_
}
= String
"PushMessageContentMediaAlbum"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"total_count" String -> Maybe Int -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Int
total_count_
, String
"has_photos" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
has_photos_
, String
"has_videos" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
has_videos_
, String
"has_audios" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
has_audios_
, String
"has_documents" String -> Maybe Bool -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Bool
has_documents_
]
instance AT.FromJSON PushMessageContent where
parseJSON :: Value -> Parser PushMessageContent
parseJSON v :: Value
v@(AT.Object Object
obj) = do
String
t <- Object
obj Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
A..: Key
"@type" :: AT.Parser String
case String
t of
String
"pushMessageContentHidden" -> Value -> Parser PushMessageContent
parsePushMessageContentHidden Value
v
String
"pushMessageContentAnimation" -> Value -> Parser PushMessageContent
parsePushMessageContentAnimation Value
v
String
"pushMessageContentAudio" -> Value -> Parser PushMessageContent
parsePushMessageContentAudio Value
v
String
"pushMessageContentContact" -> Value -> Parser PushMessageContent
parsePushMessageContentContact Value
v
String
"pushMessageContentContactRegistered" -> PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure PushMessageContent
PushMessageContentContactRegistered
String
"pushMessageContentDocument" -> Value -> Parser PushMessageContent
parsePushMessageContentDocument Value
v
String
"pushMessageContentGame" -> Value -> Parser PushMessageContent
parsePushMessageContentGame Value
v
String
"pushMessageContentGameScore" -> Value -> Parser PushMessageContent
parsePushMessageContentGameScore Value
v
String
"pushMessageContentInvoice" -> Value -> Parser PushMessageContent
parsePushMessageContentInvoice Value
v
String
"pushMessageContentLocation" -> Value -> Parser PushMessageContent
parsePushMessageContentLocation Value
v
String
"pushMessageContentPaidMedia" -> Value -> Parser PushMessageContent
parsePushMessageContentPaidMedia Value
v
String
"pushMessageContentPhoto" -> Value -> Parser PushMessageContent
parsePushMessageContentPhoto Value
v
String
"pushMessageContentPoll" -> Value -> Parser PushMessageContent
parsePushMessageContentPoll Value
v
String
"pushMessageContentPremiumGiftCode" -> Value -> Parser PushMessageContent
parsePushMessageContentPremiumGiftCode Value
v
String
"pushMessageContentGiveaway" -> Value -> Parser PushMessageContent
parsePushMessageContentGiveaway Value
v
String
"pushMessageContentGift" -> Value -> Parser PushMessageContent
parsePushMessageContentGift Value
v
String
"pushMessageContentScreenshotTaken" -> PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure PushMessageContent
PushMessageContentScreenshotTaken
String
"pushMessageContentSticker" -> Value -> Parser PushMessageContent
parsePushMessageContentSticker Value
v
String
"pushMessageContentStory" -> Value -> Parser PushMessageContent
parsePushMessageContentStory Value
v
String
"pushMessageContentText" -> Value -> Parser PushMessageContent
parsePushMessageContentText Value
v
String
"pushMessageContentVideo" -> Value -> Parser PushMessageContent
parsePushMessageContentVideo Value
v
String
"pushMessageContentVideoNote" -> Value -> Parser PushMessageContent
parsePushMessageContentVideoNote Value
v
String
"pushMessageContentVoiceNote" -> Value -> Parser PushMessageContent
parsePushMessageContentVoiceNote Value
v
String
"pushMessageContentBasicGroupChatCreate" -> PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure PushMessageContent
PushMessageContentBasicGroupChatCreate
String
"pushMessageContentChatAddMembers" -> Value -> Parser PushMessageContent
parsePushMessageContentChatAddMembers Value
v
String
"pushMessageContentChatChangePhoto" -> PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure PushMessageContent
PushMessageContentChatChangePhoto
String
"pushMessageContentChatChangeTitle" -> Value -> Parser PushMessageContent
parsePushMessageContentChatChangeTitle Value
v
String
"pushMessageContentChatSetBackground" -> Value -> Parser PushMessageContent
parsePushMessageContentChatSetBackground Value
v
String
"pushMessageContentChatSetTheme" -> Value -> Parser PushMessageContent
parsePushMessageContentChatSetTheme Value
v
String
"pushMessageContentChatDeleteMember" -> Value -> Parser PushMessageContent
parsePushMessageContentChatDeleteMember Value
v
String
"pushMessageContentChatJoinByLink" -> PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure PushMessageContent
PushMessageContentChatJoinByLink
String
"pushMessageContentChatJoinByRequest" -> PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure PushMessageContent
PushMessageContentChatJoinByRequest
String
"pushMessageContentRecurringPayment" -> Value -> Parser PushMessageContent
parsePushMessageContentRecurringPayment Value
v
String
"pushMessageContentSuggestProfilePhoto" -> PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure PushMessageContent
PushMessageContentSuggestProfilePhoto
String
"pushMessageContentMessageForwards" -> Value -> Parser PushMessageContent
parsePushMessageContentMessageForwards Value
v
String
"pushMessageContentMediaAlbum" -> Value -> Parser PushMessageContent
parsePushMessageContentMediaAlbum Value
v
String
_ -> Parser PushMessageContent
forall a. Monoid a => a
mempty
where
parsePushMessageContentHidden :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentHidden :: Value -> Parser PushMessageContent
parsePushMessageContentHidden = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentHidden" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentHidden
{ is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentAnimation :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentAnimation :: Value -> Parser PushMessageContent
parsePushMessageContentAnimation = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentAnimation" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Animation
animation_ <- Object
o Object -> Key -> Parser (Maybe Animation)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"animation"
Maybe Text
caption_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"caption"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentAnimation
{ animation :: Maybe Animation
animation = Maybe Animation
animation_
, caption :: Maybe Text
caption = Maybe Text
caption_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentAudio :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentAudio :: Value -> Parser PushMessageContent
parsePushMessageContentAudio = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentAudio" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Audio
audio_ <- Object
o Object -> Key -> Parser (Maybe Audio)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"audio"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentAudio
{ audio :: Maybe Audio
audio = Maybe Audio
audio_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentContact :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentContact :: Value -> Parser PushMessageContent
parsePushMessageContentContact = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentContact" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
name_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"name"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentContact
{ name :: Maybe Text
name = Maybe Text
name_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentDocument :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentDocument :: Value -> Parser PushMessageContent
parsePushMessageContentDocument = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentDocument" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Document
document_ <- Object
o Object -> Key -> Parser (Maybe Document)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"document"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentDocument
{ document :: Maybe Document
document = Maybe Document
document_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentGame :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentGame :: Value -> Parser PushMessageContent
parsePushMessageContentGame = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentGame" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
title_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"title"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentGame
{ title :: Maybe Text
title = Maybe Text
title_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentGameScore :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentGameScore :: Value -> Parser PushMessageContent
parsePushMessageContentGameScore = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentGameScore" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
title_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"title"
Maybe Int
score_ <- Object
o Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"score"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentGameScore
{ title :: Maybe Text
title = Maybe Text
title_
, score :: Maybe Int
score = Maybe Int
score_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentInvoice :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentInvoice :: Value -> Parser PushMessageContent
parsePushMessageContentInvoice = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentInvoice" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
price_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"price"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentInvoice
{ price :: Maybe Text
price = Maybe Text
price_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentLocation :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentLocation :: Value -> Parser PushMessageContent
parsePushMessageContentLocation = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentLocation" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Bool
is_live_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_live"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentLocation
{ is_live :: Maybe Bool
is_live = Maybe Bool
is_live_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentPaidMedia :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentPaidMedia :: Value -> Parser PushMessageContent
parsePushMessageContentPaidMedia = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentPaidMedia" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Int
star_count_ <- Object
o Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"star_count"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentPaidMedia
{ star_count :: Maybe Int
star_count = Maybe Int
star_count_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentPhoto :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentPhoto :: Value -> Parser PushMessageContent
parsePushMessageContentPhoto = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentPhoto" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Photo
photo_ <- Object
o Object -> Key -> Parser (Maybe Photo)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"photo"
Maybe Text
caption_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"caption"
Maybe Bool
is_secret_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_secret"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentPhoto
{ photo :: Maybe Photo
photo = Maybe Photo
photo_
, caption :: Maybe Text
caption = Maybe Text
caption_
, is_secret :: Maybe Bool
is_secret = Maybe Bool
is_secret_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentPoll :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentPoll :: Value -> Parser PushMessageContent
parsePushMessageContentPoll = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentPoll" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
question_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"question"
Maybe Bool
is_regular_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_regular"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentPoll
{ question :: Maybe Text
question = Maybe Text
question_
, is_regular :: Maybe Bool
is_regular = Maybe Bool
is_regular_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentPremiumGiftCode :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentPremiumGiftCode :: Value -> Parser PushMessageContent
parsePushMessageContentPremiumGiftCode = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentPremiumGiftCode" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Int
month_count_ <- Object
o Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"month_count"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentPremiumGiftCode
{ month_count :: Maybe Int
month_count = Maybe Int
month_count_
}
parsePushMessageContentGiveaway :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentGiveaway :: Value -> Parser PushMessageContent
parsePushMessageContentGiveaway = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentGiveaway" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Int
winner_count_ <- Object
o Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"winner_count"
Maybe GiveawayPrize
prize_ <- Object
o Object -> Key -> Parser (Maybe GiveawayPrize)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"prize"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentGiveaway
{ winner_count :: Maybe Int
winner_count = Maybe Int
winner_count_
, prize :: Maybe GiveawayPrize
prize = Maybe GiveawayPrize
prize_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentGift :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentGift :: Value -> Parser PushMessageContent
parsePushMessageContentGift = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentGift" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Int
star_count_ <- Object
o Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"star_count"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentGift
{ star_count :: Maybe Int
star_count = Maybe Int
star_count_
}
parsePushMessageContentSticker :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentSticker :: Value -> Parser PushMessageContent
parsePushMessageContentSticker = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentSticker" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Sticker
sticker_ <- Object
o Object -> Key -> Parser (Maybe Sticker)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"sticker"
Maybe Text
emoji_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"emoji"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentSticker
{ sticker :: Maybe Sticker
sticker = Maybe Sticker
sticker_
, emoji :: Maybe Text
emoji = Maybe Text
emoji_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentStory :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentStory :: Value -> Parser PushMessageContent
parsePushMessageContentStory = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentStory" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentStory
{ is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentText :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentText :: Value -> Parser PushMessageContent
parsePushMessageContentText = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentText" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
text_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"text"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentText
{ text :: Maybe Text
text = Maybe Text
text_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentVideo :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentVideo :: Value -> Parser PushMessageContent
parsePushMessageContentVideo = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentVideo" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Video
video_ <- Object
o Object -> Key -> Parser (Maybe Video)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"video"
Maybe Text
caption_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"caption"
Maybe Bool
is_secret_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_secret"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentVideo
{ video :: Maybe Video
video = Maybe Video
video_
, caption :: Maybe Text
caption = Maybe Text
caption_
, is_secret :: Maybe Bool
is_secret = Maybe Bool
is_secret_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentVideoNote :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentVideoNote :: Value -> Parser PushMessageContent
parsePushMessageContentVideoNote = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentVideoNote" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe VideoNote
video_note_ <- Object
o Object -> Key -> Parser (Maybe VideoNote)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"video_note"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentVideoNote
{ video_note :: Maybe VideoNote
video_note = Maybe VideoNote
video_note_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentVoiceNote :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentVoiceNote :: Value -> Parser PushMessageContent
parsePushMessageContentVoiceNote = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentVoiceNote" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe VoiceNote
voice_note_ <- Object
o Object -> Key -> Parser (Maybe VoiceNote)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"voice_note"
Maybe Bool
is_pinned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_pinned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentVoiceNote
{ voice_note :: Maybe VoiceNote
voice_note = Maybe VoiceNote
voice_note_
, is_pinned :: Maybe Bool
is_pinned = Maybe Bool
is_pinned_
}
parsePushMessageContentChatAddMembers :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentChatAddMembers :: Value -> Parser PushMessageContent
parsePushMessageContentChatAddMembers = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentChatAddMembers" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
member_name_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"member_name"
Maybe Bool
is_current_user_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_current_user"
Maybe Bool
is_returned_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_returned"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentChatAddMembers
{ member_name :: Maybe Text
member_name = Maybe Text
member_name_
, is_current_user :: Maybe Bool
is_current_user = Maybe Bool
is_current_user_
, is_returned :: Maybe Bool
is_returned = Maybe Bool
is_returned_
}
parsePushMessageContentChatChangeTitle :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentChatChangeTitle :: Value -> Parser PushMessageContent
parsePushMessageContentChatChangeTitle = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentChatChangeTitle" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
title_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"title"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentChatChangeTitle
{ title :: Maybe Text
title = Maybe Text
title_
}
parsePushMessageContentChatSetBackground :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentChatSetBackground :: Value -> Parser PushMessageContent
parsePushMessageContentChatSetBackground = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentChatSetBackground" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Bool
is_same_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_same"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentChatSetBackground
{ is_same :: Maybe Bool
is_same = Maybe Bool
is_same_
}
parsePushMessageContentChatSetTheme :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentChatSetTheme :: Value -> Parser PushMessageContent
parsePushMessageContentChatSetTheme = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentChatSetTheme" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
theme_name_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"theme_name"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentChatSetTheme
{ theme_name :: Maybe Text
theme_name = Maybe Text
theme_name_
}
parsePushMessageContentChatDeleteMember :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentChatDeleteMember :: Value -> Parser PushMessageContent
parsePushMessageContentChatDeleteMember = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentChatDeleteMember" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
member_name_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"member_name"
Maybe Bool
is_current_user_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_current_user"
Maybe Bool
is_left_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"is_left"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentChatDeleteMember
{ member_name :: Maybe Text
member_name = Maybe Text
member_name_
, is_current_user :: Maybe Bool
is_current_user = Maybe Bool
is_current_user_
, is_left :: Maybe Bool
is_left = Maybe Bool
is_left_
}
parsePushMessageContentRecurringPayment :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentRecurringPayment :: Value -> Parser PushMessageContent
parsePushMessageContentRecurringPayment = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentRecurringPayment" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Text
amount_ <- Object
o Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"amount"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentRecurringPayment
{ amount :: Maybe Text
amount = Maybe Text
amount_
}
parsePushMessageContentMessageForwards :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentMessageForwards :: Value -> Parser PushMessageContent
parsePushMessageContentMessageForwards = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentMessageForwards" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Int
total_count_ <- Object
o Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"total_count"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentMessageForwards
{ total_count :: Maybe Int
total_count = Maybe Int
total_count_
}
parsePushMessageContentMediaAlbum :: A.Value -> AT.Parser PushMessageContent
parsePushMessageContentMediaAlbum :: Value -> Parser PushMessageContent
parsePushMessageContentMediaAlbum = String
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"PushMessageContentMediaAlbum" ((Object -> Parser PushMessageContent)
-> Value -> Parser PushMessageContent)
-> (Object -> Parser PushMessageContent)
-> Value
-> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ \Object
o -> do
Maybe Int
total_count_ <- Object
o Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"total_count"
Maybe Bool
has_photos_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"has_photos"
Maybe Bool
has_videos_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"has_videos"
Maybe Bool
has_audios_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"has_audios"
Maybe Bool
has_documents_ <- Object
o Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
A..:? Key
"has_documents"
PushMessageContent -> Parser PushMessageContent
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PushMessageContent -> Parser PushMessageContent)
-> PushMessageContent -> Parser PushMessageContent
forall a b. (a -> b) -> a -> b
$ PushMessageContentMediaAlbum
{ total_count :: Maybe Int
total_count = Maybe Int
total_count_
, has_photos :: Maybe Bool
has_photos = Maybe Bool
has_photos_
, has_videos :: Maybe Bool
has_videos = Maybe Bool
has_videos_
, has_audios :: Maybe Bool
has_audios = Maybe Bool
has_audios_
, has_documents :: Maybe Bool
has_documents = Maybe Bool
has_documents_
}
parseJSON Value
_ = Parser PushMessageContent
forall a. Monoid a => a
mempty