mattermost-api 50200.1.0 → 50200.1.2
raw patch · 3 files changed
+32/−12 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Network.Mattermost: User :: UserId -> ServerTime -> ServerTime -> ServerTime -> Text -> Text -> Text -> UserText -> Bool -> UserText -> UserText -> UserText -> Text -> UserNotifyProps -> Maybe ServerTime -> Maybe ServerTime -> Text -> User
+ Network.Mattermost: User :: UserId -> Maybe ServerTime -> Maybe ServerTime -> ServerTime -> Text -> Maybe Text -> Text -> UserText -> Bool -> UserText -> UserText -> UserText -> Text -> UserNotifyProps -> Maybe ServerTime -> Maybe ServerTime -> Text -> User
- Network.Mattermost: [userAuthData] :: User -> Text
+ Network.Mattermost: [userAuthData] :: User -> Maybe Text
- Network.Mattermost: [userCreateAt] :: User -> ServerTime
+ Network.Mattermost: [userCreateAt] :: User -> Maybe ServerTime
- Network.Mattermost: [userUpdateAt] :: User -> ServerTime
+ Network.Mattermost: [userUpdateAt] :: User -> Maybe ServerTime
- Network.Mattermost.Lenses: userAuthDataL :: Lens' User Text
+ Network.Mattermost.Lenses: userAuthDataL :: Lens' User (Maybe Text)
- Network.Mattermost.Lenses: userCreateAtL :: Lens' User ServerTime
+ Network.Mattermost.Lenses: userCreateAtL :: Lens' User (Maybe ServerTime)
- Network.Mattermost.Lenses: userUpdateAtL :: Lens' User ServerTime
+ Network.Mattermost.Lenses: userUpdateAtL :: Lens' User (Maybe ServerTime)
- Network.Mattermost.Types: User :: UserId -> ServerTime -> ServerTime -> ServerTime -> Text -> Text -> Text -> UserText -> Bool -> UserText -> UserText -> UserText -> Text -> UserNotifyProps -> Maybe ServerTime -> Maybe ServerTime -> Text -> User
+ Network.Mattermost.Types: User :: UserId -> Maybe ServerTime -> Maybe ServerTime -> ServerTime -> Text -> Maybe Text -> Text -> UserText -> Bool -> UserText -> UserText -> UserText -> Text -> UserNotifyProps -> Maybe ServerTime -> Maybe ServerTime -> Text -> User
- Network.Mattermost.Types: [userAuthData] :: User -> Text
+ Network.Mattermost.Types: [userAuthData] :: User -> Maybe Text
- Network.Mattermost.Types: [userCreateAt] :: User -> ServerTime
+ Network.Mattermost.Types: [userCreateAt] :: User -> Maybe ServerTime
- Network.Mattermost.Types: [userUpdateAt] :: User -> ServerTime
+ Network.Mattermost.Types: [userUpdateAt] :: User -> Maybe ServerTime
Files
- CHANGELOG.md +20/−0
- mattermost-api.cabal +2/−2
- src/Network/Mattermost/Types.hs +10/−10
CHANGELOG.md view
@@ -1,3 +1,23 @@+50200.1.2+=========++Bug fixes:+ * The server response to an uploaded file may report "null" for+ client_ids. This previously failed the parse attempt to create a+ `Seq ClientId`; this fix updates to conver null to an empty `Seq`.+ This typically manifested in attempting to attach a file in a+ common channel.++Compatibility:+ * Updated supported/tested GHC versions: 8.2.2, 8.4.4, and 8.6.3.++50200.1.1+=========++Bug fixes:+ * The `userCreateAt`, `userUpdateAt`, and `userAuthData` fields of+ `User` are now permitted to be optional in the user JSON encoding to+ be consistent with the server. 50200.1.0 =========
mattermost-api.cabal view
@@ -1,5 +1,5 @@ name: mattermost-api-version: 50200.1.0+version: 50200.1.2 synopsis: Client API for Mattermost chat system description: Client API for Mattermost chat system license: BSD3@@ -67,7 +67,7 @@ , pretty-show hs-source-dirs: src default-language: Haskell2010- ghc-options: -Wall+ ghc-options: -Wall -Wcompat executable mm-get-teams if !flag(build-examples)
src/Network/Mattermost/Types.hs view
@@ -175,10 +175,10 @@ instance A.FromJSON Type where parseJSON = A.withText "Type" $ \t ->- return $ if | t == "O" -> Ordinary- | t == "D" -> Direct- | t == "P" -> Private- | t == "G" -> Group+ return $ if | t == "O" -> Ordinary -- public chat channels+ | t == "D" -> Direct -- between two users only+ | t == "P" -> Private -- like Ordinary but not visible to non-members+ | t == "G" -> Group -- between a selected set of users | otherwise -> Unknown t instance A.ToJSON Type where@@ -574,11 +574,11 @@ data User = User { userId :: UserId- , userCreateAt :: ServerTime- , userUpdateAt :: ServerTime+ , userCreateAt :: Maybe ServerTime+ , userUpdateAt :: Maybe ServerTime , userDeleteAt :: ServerTime , userUsername :: Text- , userAuthData :: Text+ , userAuthData :: Maybe Text , userAuthService :: Text , userEmail :: UserText , userEmailVerified :: Bool@@ -595,11 +595,11 @@ instance A.FromJSON User where parseJSON = A.withObject "User" $ \o -> do userId <- o .: "id"- userCreateAt <- timeFromServer <$> o .: "create_at"- userUpdateAt <- timeFromServer <$> o .: "update_at"+ userCreateAt <- (timeFromServer <$>) <$> o .:? "create_at"+ userUpdateAt <- (timeFromServer <$>) <$> o .:? "update_at" userDeleteAt <- timeFromServer <$> o .: "delete_at" userUsername <- o .: "username"- userAuthData <- o .: "auth_data"+ userAuthData <- o .:? "auth_data" userAuthService <- o .: "auth_service" userEmail <- o .: "email" userEmailVerified <- o .:? "email_verified" .!= False