packages feed

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 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