mattermost-api 50200.1.2 → 50200.1.3
raw patch · 4 files changed
+26/−6 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Network.Mattermost: [postPropsFromWebhook] :: PostProps -> Maybe Bool
+ Network.Mattermost.Lenses: postPropsFromWebhookL :: Lens' PostProps (Maybe Bool)
+ Network.Mattermost.Types: [postPropsFromWebhook] :: PostProps -> Maybe Bool
- Network.Mattermost: PostProps :: Maybe Text -> Maybe Text -> Maybe (Seq PostPropAttachment) -> Maybe Text -> Maybe Text -> PostProps
+ Network.Mattermost: PostProps :: Maybe Text -> Maybe Text -> Maybe Bool -> Maybe (Seq PostPropAttachment) -> Maybe Text -> Maybe Text -> PostProps
- Network.Mattermost.Types: PostProps :: Maybe Text -> Maybe Text -> Maybe (Seq PostPropAttachment) -> Maybe Text -> Maybe Text -> PostProps
+ Network.Mattermost.Types: PostProps :: Maybe Text -> Maybe Text -> Maybe Bool -> Maybe (Seq PostPropAttachment) -> Maybe Text -> Maybe Text -> PostProps
Files
- CHANGELOG.md +6/−0
- mattermost-api.cabal +10/−3
- src/Network/Mattermost/Endpoints.hs +3/−3
- src/Network/Mattermost/Types.hs +7/−0
CHANGELOG.md view
@@ -1,3 +1,9 @@+50200.1.3+=========++API changes:+ * The `PostProps` type got support for the `from_webhook` prop+ 50200.1.2 =========
mattermost-api.cabal view
@@ -1,7 +1,14 @@ name: mattermost-api-version: 50200.1.2+version: 50200.1.3 synopsis: Client API for Mattermost chat system-description: Client API for Mattermost chat system++description: Client API for Mattermost chat system. Mattermost is a+ flexible, open source messaging platform that+ meets even the most demanding privacy and+ security standards. This library provides+ network API interaction with the Mattermost+ server.+ license: BSD3 license-file: LICENSE author: Jason Dagit@@ -11,7 +18,7 @@ build-type: Simple extra-doc-files: README.md, CHANGELOG.md-cabal-version: >=1.18+cabal-version: 1.18 tested-with: GHC == 7.10.3, GHC == 8.0.1 source-repository head type: git
src/Network/Mattermost/Endpoints.hs view
@@ -7,7 +7,7 @@ import qualified Data.Aeson as A import qualified Data.ByteString.Char8 as B import qualified Data.HashMap.Strict as HM-import Data.Sequence (Seq)+import Data.Sequence (Seq, fromList) import Data.Text (Text) import qualified Data.Text as T import qualified Network.HTTP.Base as HTTP@@ -3269,14 +3269,14 @@ -- -- data UploadResponse = UploadResponse- { uploadResponseClientIds :: (Seq Text)+ { uploadResponseClientIds :: (Seq Text) -- might be null , uploadResponseFileInfos :: (Seq FileInfo) -- ^ A list of file metadata that has been stored in the database } deriving (Read, Show, Eq) instance A.FromJSON UploadResponse where parseJSON = A.withObject "UploadResponse" $ \v -> do- uploadResponseClientIds <- v A..: "client_ids"+ uploadResponseClientIds <- v A..:? "client_ids" A..!= fromList [] uploadResponseFileInfos <- v A..: "file_infos" return UploadResponse { .. }
src/Network/Mattermost/Types.hs view
@@ -681,6 +681,7 @@ = PostProps { postPropsOverrideIconUrl :: Maybe Text , postPropsOverrideUsername :: Maybe Text+ , postPropsFromWebhook :: Maybe Bool , postPropsAttachments :: Maybe (Seq PostPropAttachment) -- A.Value , postPropsNewHeader :: Maybe Text , postPropsOldHeader :: Maybe Text@@ -691,6 +692,7 @@ = PostProps { postPropsOverrideIconUrl = Nothing , postPropsOverrideUsername = Nothing+ , postPropsFromWebhook = Nothing , postPropsAttachments = Nothing , postPropsNewHeader = Nothing , postPropsOldHeader = Nothing@@ -700,6 +702,10 @@ parseJSON = A.withObject "Props" $ \v -> do postPropsOverrideIconUrl <- v .:? "override_icon_url" postPropsOverrideUsername <- v .:? "override_username"+ postPropsFromWebhookStr <- v .:? "from_webhook"+ let postPropsFromWebhook = do+ s <- postPropsFromWebhookStr+ return $ s == ("true"::Text) postPropsAttachments <- v .:? "attachments" postPropsNewHeader <- v .:? "new_header" postPropsOldHeader <- v .:? "old_header"@@ -709,6 +715,7 @@ toJSON PostProps { .. } = A.object $ [ "override_icon_url" .= v | Just v <- [postPropsOverrideIconUrl ] ] ++ [ "override_username" .= v | Just v <- [postPropsOverrideUsername] ] +++ [ "from_webhook" .= v | Just v <- [postPropsFromWebhook ] ] ++ [ "attachments" .= v | Just v <- [postPropsAttachments ] ] ++ [ "new_header" .= v | Just v <- [postPropsNewHeader ] ] ++ [ "old_header" .= v | Just v <- [postPropsOldHeader ] ]