From b63644f5d458e9daf55681e2b8f77ac17911fe6b Mon Sep 17 00:00:00 2001 From: Susan Potter Date: Thu, 27 Jun 2019 05:51:55 -0500 Subject: [PATCH] Make deleted JSON key in User optional with default False In situations where two communities share a channel, a user_change event from a different community can be sent to the bot in the other community without the deleted flag provided. --- src/Web/Slack/Types/User.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Web/Slack/Types/User.hs b/src/Web/Slack/Types/User.hs index b19c56b..f8ab091 100644 --- a/src/Web/Slack/Types/User.hs +++ b/src/Web/Slack/Types/User.hs @@ -26,7 +26,8 @@ data User = User } deriving (Show) instance FromJSON User where - parseJSON = withObject "User" (\o -> User <$> o .: "id" <*> o .: "name" <*> o .: "deleted" + parseJSON = withObject "User" (\o -> User <$> o .: "id" <*> o .: "name" + <*> (o .:? "deleted" .!= False) <*> (o .:? "color" .!= "000000") <*> o .: "profile" <*> (parseJSON (Object o) :: Parser Permissions) <*> fmap (fromMaybe False) (o .:? "has_files")