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 +8/−0
- mattermost-api.cabal +1/−1
- src/Network/Mattermost/Types.hs +47/−1
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