Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit 67cf9ec3341e207e7601dbc6ece141f5d29724d9 Author: David Buckley <bucko909@users.noreply.github.com> Date: Sat Sep 07 20:38:45 2019 +0000 Make getChannelIdTeam behave like GetChannelId for groups (mattermost) (#873) GetChannelId will support names generated from query groups when a team is not set, but not when a team is set since it falls through to getChannelIdTeam which has a different inner loop. i This pull makes the two implementations do the same thing. diff --git a/matterclient/channels.go b/matterclient/channels.go index ae1bf38..e1ebf48 100644 --- a/matterclient/channels.go +++ b/matterclient/channels.go @@ -366 +3616 @@ func (m *MMClient) GetChannelHeader(channelId string) string { //nolint:golint   return ""  }   +func getNormalisedName(channel *model.Channel) string { + if channel.Type == model.CHANNEL_GROUP { + // (deprecated in favor of ReplaceAll in go 1.12) + res := strings.Replace(channel.DisplayName, ", ", "-", -1) //nolint: gocritic + res = strings.Replace(res, " ", "_", -1) //nolint: gocritic + return res + } + return channel.Name +} +  func (m *MMClient) GetChannelId(name string, teamId string) string { //nolint:golint   m.RLock()   defer m.RUnlock() @@ -4513 +557 @@ func (m *MMClient) GetChannelId(name string, teamId string) string { //nolint:go     for _, t := range m.OtherTeams {   for _, channel := range append(t.Channels, t.MoreChannels...) { - if channel.Type == model.CHANNEL_GROUP { - res := strings.Replace(channel.DisplayName, ", ", "-", -1) - res = strings.Replace(res, " ", "_", -1) - if res == name { - return channel.Id - } - } else if channel.Name == name { + if getNormalisedName(channel) == name {   return channel.Id   }   } @@ -637 +677 @@ func (m *MMClient) getChannelIdTeam(name string, teamId string) string { //nolin   for _, t := range m.OtherTeams {   if t.Id == teamId {   for _, channel := range append(t.Channels, t.MoreChannels...) { - if channel.Name == name { + if getNormalisedName(channel) == name {   return channel.Id   }   } @@ -8112 +857 @@ func (m *MMClient) GetChannelName(channelId string) string { //nolint:golint   }   for _, channel := range append(t.Channels, t.MoreChannels...) {   if channel.Id == channelId { - if channel.Type == model.CHANNEL_GROUP { - res := strings.Replace(channel.DisplayName, ", ", "-", -1) - res = strings.Replace(res, " ", "_", -1) - return res - } - return channel.Name + return getNormalisedName(channel)   }   }   }