11package mattermost
22
33import (
4+ "context"
45 "encoding/json"
56 "errors"
67 "fmt"
@@ -14,7 +15,7 @@ import (
1415 lru "github.com/hashicorp/golang-lru"
1516 prefixed "github.com/matterbridge/logrus-prefixed-formatter"
1617 "github.com/matterbridge/matterclient"
17- "github.com/mattermost/mattermost- server/v6 /model"
18+ "github.com/mattermost/mattermost/ server/public /model"
1819 "github.com/mitchellh/mapstructure"
1920 "github.com/sirupsen/logrus"
2021 "github.com/spf13/viper"
@@ -201,7 +202,7 @@ func (m *Mattermost) checkWsActionMessage(rmsg *model.WebSocketEvent, throttle *
201202}
202203
203204func (m * Mattermost ) Invite (channelID , username string ) error {
204- _ , _ , err := m .mc .Client .AddChannelMember (channelID , username )
205+ _ , _ , err := m .mc .Client .AddChannelMember (context . TODO (), channelID , username )
205206 if err != nil {
206207 return err
207208 }
@@ -214,7 +215,7 @@ func (m *Mattermost) Join(channelName string) (string, string, error) {
214215
215216 sp := strings .Split (channelName , "/" )
216217 if len (sp ) > 1 {
217- team , _ , _ := m .mc .Client .GetTeamByName (sp [0 ], "" )
218+ team , _ , _ := m .mc .Client .GetTeamByName (context . TODO (), sp [0 ], "" )
218219 if team == nil {
219220 return "" , "" , fmt .Errorf ("cannot join channel (+i)" )
220221 }
@@ -262,7 +263,7 @@ func (m *Mattermost) List() (map[string]string, error) {
262263}
263264
264265func (m * Mattermost ) Part (channelID string ) error {
265- m .mc .Client .RemoveUserFromChannel (channelID , m .mc .User .Id )
266+ m .mc .Client .RemoveUserFromChannel (context . TODO (), channelID , m .mc .User .Id )
266267
267268 return nil
268269}
@@ -302,7 +303,7 @@ func (m *Mattermost) MsgUser(userID, text string) (string, error) {
302303
303304func (m * Mattermost ) MsgUserThread (userID , parentID , text string ) (string , error ) {
304305 // create DM channel (only happens on first message)
305- dchannel , _ , err := m .mc .Client .CreateDirectChannel (m .mc .User .Id , userID )
306+ dchannel , _ , err := m .mc .Client .CreateDirectChannel (context . TODO (), m .mc .User .Id , userID )
306307 if err != nil {
307308 return "" , err
308309 }
@@ -329,7 +330,7 @@ func (m *Mattermost) MsgChannelThread(channelID, parentID, text string) (string,
329330
330331 post .SetProps (props )
331332
332- rp , _ , err := m .mc .Client .CreatePost (post )
333+ rp , _ , err := m .mc .Client .CreatePost (context . TODO (), post )
333334 if err == nil {
334335 return rp .Id , nil
335336 }
@@ -339,7 +340,7 @@ func (m *Mattermost) MsgChannelThread(channelID, parentID, text string) (string,
339340 }
340341
341342 // Try to work out if we're trying to reply to a post within a thread.
342- replyPost , _ , err := m .mc .Client .GetPost (parentID , "" )
343+ replyPost , _ , err := m .mc .Client .GetPost (context . TODO (), parentID , "" )
343344 if err != nil {
344345 return "" , err
345346 }
@@ -352,7 +353,7 @@ func (m *Mattermost) MsgChannelThread(channelID, parentID, text string) (string,
352353
353354 post .SetProps (props )
354355
355- rp , _ , err = m .mc .Client .CreatePost (post )
356+ rp , _ , err = m .mc .Client .CreatePost (context . TODO (), post )
356357 if err == nil {
357358 return rp .Id , nil
358359 }
@@ -362,15 +363,15 @@ func (m *Mattermost) MsgChannelThread(channelID, parentID, text string) (string,
362363
363364func (m * Mattermost ) ModifyPost (msgID , text string ) error {
364365 if text == "" {
365- _ , err := m .mc .Client .DeletePost (msgID )
366+ _ , err := m .mc .Client .DeletePost (context . TODO (), msgID )
366367 if err != nil {
367368 return err
368369 }
369370
370371 return nil
371372 }
372373
373- _ , _ , err := m .mc .Client .PatchPost (msgID , & model.PostPatch {
374+ _ , _ , err := m .mc .Client .PatchPost (context . TODO (), msgID , & model.PostPatch {
374375 Message : & text ,
375376 })
376377 if err != nil {
@@ -389,7 +390,7 @@ func (m *Mattermost) AddReaction(msgID, emoji string) error {
389390 CreateAt : 0 ,
390391 }
391392
392- _ , _ , err := m .mc .Client .SaveReaction (reaction )
393+ _ , _ , err := m .mc .Client .SaveReaction (context . TODO (), reaction )
393394 if err != nil {
394395 return err
395396 }
@@ -406,7 +407,7 @@ func (m *Mattermost) RemoveReaction(msgID, emoji string) error {
406407 CreateAt : 0 ,
407408 }
408409
409- _ , err := m .mc .Client .DeleteReaction (reaction )
410+ _ , err := m .mc .Client .DeleteReaction (context . TODO (), reaction )
410411 if err != nil {
411412 return err
412413 }
@@ -424,7 +425,7 @@ func (m *Mattermost) SetTopic(channelID, text string) error {
424425 Header : & text ,
425426 }
426427
427- _ , _ , err := m .mc .Client .PatchChannel (channelID , patch )
428+ _ , _ , err := m .mc .Client .PatchChannel (context . TODO (), channelID , patch )
428429 if err != nil {
429430 return err
430431 }
@@ -445,7 +446,7 @@ func (m *Mattermost) Protocol() string {
445446}
446447
447448func (m * Mattermost ) Kick (channelID , username string ) error {
448- _ , err := m .mc .Client .RemoveUserFromChannel (channelID , username )
449+ _ , err := m .mc .Client .RemoveUserFromChannel (context . TODO (), channelID , username )
449450 if err != nil {
450451 return err
451452 }
@@ -454,7 +455,7 @@ func (m *Mattermost) Kick(channelID, username string) error {
454455}
455456
456457func (m * Mattermost ) SetStatus (status string ) error {
457- _ , _ , err := m .mc .Client .UpdateUserStatus (m .mc .User .Id , & model.Status {
458+ _ , _ , err := m .mc .Client .UpdateUserStatus (context . TODO (), m .mc .User .Id , & model.Status {
458459 Status : status ,
459460 UserId : m .mc .User .Id ,
460461 })
@@ -521,7 +522,7 @@ func (m *Mattermost) GetChannelUsers(channelID string) ([]*bridge.UserInfo, erro
521522 max := 200
522523
523524 for {
524- mmusersPaged , resp , err = m .mc .Client .GetUsersInChannel (channelID , idx , max , "" )
525+ mmusersPaged , resp , err = m .mc .Client .GetUsersInChannel (context . TODO (), channelID , idx , max , "" )
525526 if err == nil {
526527 break
527528 }
@@ -533,7 +534,7 @@ func (m *Mattermost) GetChannelUsers(channelID string) ([]*bridge.UserInfo, erro
533534
534535 for len (mmusersPaged ) > 0 {
535536 for {
536- mmusersPaged , resp , err = m .mc .Client .GetUsersInChannel (channelID , idx , max , "" )
537+ mmusersPaged , resp , err = m .mc .Client .GetUsersInChannel (context . TODO (), channelID , idx , max , "" )
537538 if err == nil {
538539 idx ++
539540 time .Sleep (time .Millisecond * 200 )
@@ -611,7 +612,7 @@ func (m *Mattermost) GetChannel(channelID string) (*bridge.ChannelInfo, error) {
611612 }
612613
613614 // Fallback if it's not found in the cache.
614- mmchannel , _ , err := m .mc .Client .GetChannel (channelID , "" )
615+ mmchannel , _ , err := m .mc .Client .GetChannel (context . TODO (), channelID , "" )
615616 if err != nil {
616617 return nil , errors .New ("channel not found" )
617618 }
@@ -634,7 +635,7 @@ func (m *Mattermost) GetMe() *bridge.UserInfo {
634635
635636func (m * Mattermost ) GetUserByUsername (username string ) * bridge.UserInfo {
636637 for {
637- mmuser , resp , err := m .mc .Client .GetUserByUsername (username , "" )
638+ mmuser , resp , err := m .mc .Client .GetUserByUsername (context . TODO (), username , "" )
638639 if err == nil {
639640 return m .createUser (mmuser )
640641 }
@@ -818,10 +819,10 @@ func (m *Mattermost) addParentMsg(parentID string, msg string, newLen int, uncou
818819 // Search and use cached reply if it exists.
819820 // None found, so we'll need to create one and save it for future uses.
820821 if v , ok := m .msgParentCache .Get (parentID ); ! ok {
821- parentPost , _ , err := m .mc .Client .GetPost (parentID , "" )
822+ parentPost , _ , err := m .mc .Client .GetPost (context . TODO (), parentID , "" )
822823 // Retry once on failure.
823824 if err != nil {
824- parentPost , _ , err = m .mc .Client .GetPost (parentID , "" )
825+ parentPost , _ , err = m .mc .Client .GetPost (context . TODO (), parentID , "" )
825826 }
826827 if err != nil {
827828 return msg , err
@@ -980,7 +981,7 @@ func (m *Mattermost) handleWsActionPost(rmsg *model.WebSocketEvent) {
980981 Text : msg ,
981982 ChannelID : data .ChannelId ,
982983 MessageID : data .Id ,
983- Event : rmsg .EventType (),
984+ Event : string ( rmsg .EventType () ),
984985 ParentID : data .RootId ,
985986 }
986987
@@ -1020,7 +1021,7 @@ func (m *Mattermost) handleWsActionPost(rmsg *model.WebSocketEvent) {
10201021 MessageType : messageType ,
10211022 ChannelType : channelType ,
10221023 MessageID : data .Id ,
1023- Event : rmsg .EventType (),
1024+ Event : string ( rmsg .EventType () ),
10241025 ParentID : data .RootId ,
10251026 },
10261027 }
@@ -1047,7 +1048,7 @@ func (m *Mattermost) handleWsActionPost(rmsg *model.WebSocketEvent) {
10471048 Sender : ghost ,
10481049 ChannelType : channelType ,
10491050 MessageID : data .Id ,
1050- Event : rmsg .EventType (),
1051+ Event : string ( rmsg .EventType () ),
10511052 ParentID : data .RootId ,
10521053 },
10531054 }
@@ -1328,7 +1329,7 @@ func (m *Mattermost) handleReactionEvent(rmsg *model.WebSocketEvent) {
13281329 }
13291330
13301331 parentID := reaction .PostId
1331- parentPost , _ , err := m .mc .Client .GetPost (reaction .PostId , "" )
1332+ parentPost , _ , err := m .mc .Client .GetPost (context . TODO (), reaction .PostId , "" )
13321333 if err == nil {
13331334 parentID = parentPost .RootId
13341335 }
@@ -1392,7 +1393,7 @@ func (m *Mattermost) UpdateLastViewed(channelID string) {
13921393
13931394func (m * Mattermost ) UpdateLastViewedUser (userID string ) error {
13941395 for {
1395- dc , resp , err := m .mc .Client .CreateDirectChannel (m .mc .User .Id , userID )
1396+ dc , resp , err := m .mc .Client .CreateDirectChannel (context . TODO (), m .mc .User .Id , userID )
13961397 if err == nil {
13971398 return m .mc .UpdateLastViewed (dc .Id )
13981399 }
@@ -1412,7 +1413,7 @@ func (m *Mattermost) GetFileLinks(fileIDs []string) []string {
14121413}
14131414
14141415func (m * Mattermost ) SearchUsers (query string ) ([]* bridge.UserInfo , error ) {
1415- users , _ , err := m .mc .Client .SearchUsers (& model.UserSearch {Term : query })
1416+ users , _ , err := m .mc .Client .SearchUsers (context . TODO (), & model.UserSearch {Term : query })
14161417 if err != nil {
14171418 return nil , err
14181419 }
0 commit comments