packages feed

mattermost-api 50200.9.0 → 50200.10.0

raw patch · 3 files changed

+56/−2 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Network.Mattermost: PreferenceCategoryTeamsOrder :: PreferenceCategory
+ Network.Mattermost.Types: PreferenceCategoryTeamsOrder :: PreferenceCategory
+ Network.Mattermost.Types: hideGroupChannelPref :: ChannelId -> UserId -> Preference
+ Network.Mattermost.Types: preferenceToTeamOrder :: Preference -> Maybe [TeamId]
+ Network.Mattermost.Types: showDirectChannelPref :: UserId -> UserId -> Bool -> Preference
+ Network.Mattermost.Types: showGroupChannelPref :: ChannelId -> UserId -> Preference
+ Network.Mattermost.Types: teamOrderPref :: UserId -> [TeamId] -> Preference

Files

CHANGELOG.md view
@@ -1,4 +1,12 @@ +50200.10.0+==========++API changes:+ * `Types` got constructors for `Preference` values+ * `Types` got a new `PreferenceCategoryTeamsOrder` constructor for+   `PreferenceCategory`+ 50200.9.0 ========= 
mattermost-api.cabal view
@@ -1,5 +1,5 @@ name:                mattermost-api-version:             50200.9.0+version:             50200.10.0 synopsis:            Client API for Mattermost chat system  description:         Client API for Mattermost chat system.  Mattermost is a
src/Network/Mattermost/Types.hs view
@@ -1141,6 +1141,7 @@   | PreferenceCategoryAuthorizedOAuthApp   | PreferenceCategoryNotifications   | PreferenceCategoryLast+  | PreferenceCategoryTeamsOrder   | PreferenceCategoryOther Text     deriving (Read, Show, Eq) @@ -1156,6 +1157,7 @@     "oauth_app"           -> PreferenceCategoryAuthorizedOAuthApp     "notifications"       -> PreferenceCategoryNotifications     "last"                -> PreferenceCategoryLast+    "teams_order"         -> PreferenceCategoryTeamsOrder     _                     -> PreferenceCategoryOther t  instance A.ToJSON PreferenceCategory where@@ -1170,6 +1172,7 @@     PreferenceCategoryAuthorizedOAuthApp -> "oauth_app"     PreferenceCategoryNotifications      -> "notifications"     PreferenceCategoryLast               -> "last"+    PreferenceCategoryTeamsOrder         -> "teams_order"     PreferenceCategoryOther t            -> t  data PreferenceName@@ -1177,7 +1180,7 @@     deriving (Read, Show, Eq)  instance A.FromJSON PreferenceName where-  parseJSON = A.withText "PreferenceValue" (return . PreferenceName)+  parseJSON = A.withText "PreferenceName" (return . PreferenceName)  instance A.ToJSON PreferenceName where   toJSON = A.toJSON . fromRawPreferenceName@@ -1244,6 +1247,49 @@     DirectChannelShowStatus { directChannelShowUserId :: UserId                             , directChannelShowValue :: Bool                             }++hideGroupChannelPref :: ChannelId -> UserId -> Preference+hideGroupChannelPref cId uId =+    Preference { preferenceCategory = PreferenceCategoryGroupChannelShow+               , preferenceValue = PreferenceValue "false"+               , preferenceName = PreferenceName $ idString cId+               , preferenceUserId = uId+               }++showGroupChannelPref :: ChannelId -> UserId -> Preference+showGroupChannelPref cId uId =+    Preference { preferenceCategory = PreferenceCategoryGroupChannelShow+               , preferenceValue = PreferenceValue "true"+               , preferenceName = PreferenceName $ idString cId+               , preferenceUserId = uId+               }++showDirectChannelPref :: UserId -> UserId -> Bool -> Preference+showDirectChannelPref myId otherId s =+    Preference { preferenceCategory = PreferenceCategoryDirectChannelShow+               , preferenceValue = if s then PreferenceValue "true"+                                        else PreferenceValue "false"+               , preferenceName = PreferenceName $ idString otherId+               , preferenceUserId = myId+               }++preferenceToTeamOrder :: Preference -> Maybe [TeamId]+preferenceToTeamOrder+  Preference+    { preferenceCategory = PreferenceCategoryTeamsOrder+    , preferenceName     = PreferenceName ""+    , preferenceValue    = PreferenceValue value+    } = Just $ (TI . Id) <$> T.splitOn "," value+preferenceToTeamOrder _ = Nothing++teamOrderPref :: UserId -> [TeamId] -> Preference+teamOrderPref myId tIds =+    Preference { preferenceCategory = PreferenceCategoryTeamsOrder+               , preferenceValue = PreferenceValue $ T.intercalate "," $ (unId <$> unTI <$> tIds)+               , preferenceName = PreferenceName ""+               , preferenceUserId = myId+               }+  preferenceToDirectChannelShowStatus :: Preference -> Maybe DirectChannelShowStatus preferenceToDirectChannelShowStatus