mirror of
https://github.com/42wim/matterbridge.git
synced 2024-11-24 19:52:03 -08:00
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.
This commit is contained in:
parent
3562d4220c
commit
1dc93ec4f0
@ -36,6 +36,16 @@ func (m *MMClient) GetChannelHeader(channelId string) string { //nolint:golint
|
|||||||
return ""
|
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
|
func (m *MMClient) GetChannelId(name string, teamId string) string { //nolint:golint
|
||||||
m.RLock()
|
m.RLock()
|
||||||
defer m.RUnlock()
|
defer m.RUnlock()
|
||||||
@ -45,13 +55,7 @@ func (m *MMClient) GetChannelId(name string, teamId string) string { //nolint:go
|
|||||||
|
|
||||||
for _, t := range m.OtherTeams {
|
for _, t := range m.OtherTeams {
|
||||||
for _, channel := range append(t.Channels, t.MoreChannels...) {
|
for _, channel := range append(t.Channels, t.MoreChannels...) {
|
||||||
if channel.Type == model.CHANNEL_GROUP {
|
if getNormalisedName(channel) == name {
|
||||||
res := strings.Replace(channel.DisplayName, ", ", "-", -1)
|
|
||||||
res = strings.Replace(res, " ", "_", -1)
|
|
||||||
if res == name {
|
|
||||||
return channel.Id
|
|
||||||
}
|
|
||||||
} else if channel.Name == name {
|
|
||||||
return channel.Id
|
return channel.Id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,7 +67,7 @@ func (m *MMClient) getChannelIdTeam(name string, teamId string) string { //nolin
|
|||||||
for _, t := range m.OtherTeams {
|
for _, t := range m.OtherTeams {
|
||||||
if t.Id == teamId {
|
if t.Id == teamId {
|
||||||
for _, channel := range append(t.Channels, t.MoreChannels...) {
|
for _, channel := range append(t.Channels, t.MoreChannels...) {
|
||||||
if channel.Name == name {
|
if getNormalisedName(channel) == name {
|
||||||
return channel.Id
|
return channel.Id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -81,12 +85,7 @@ func (m *MMClient) GetChannelName(channelId string) string { //nolint:golint
|
|||||||
}
|
}
|
||||||
for _, channel := range append(t.Channels, t.MoreChannels...) {
|
for _, channel := range append(t.Channels, t.MoreChannels...) {
|
||||||
if channel.Id == channelId {
|
if channel.Id == channelId {
|
||||||
if channel.Type == model.CHANNEL_GROUP {
|
return getNormalisedName(channel)
|
||||||
res := strings.Replace(channel.DisplayName, ", ", "-", -1)
|
|
||||||
res = strings.Replace(res, " ", "_", -1)
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
return channel.Name
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user