Create getChannelsByX functions to make codeclimate happy (slack) (#610)

This commit is contained in:
Patrick Connolly 2018-11-28 18:04:26 +08:00 committed by Wim
parent 57fbd3c723
commit fc5e3a6728
1 changed files with 7 additions and 9 deletions

View File

@ -44,23 +44,21 @@ func (b *Bslack) getChannel(channel string) (*slack.Channel, error) {
} }
func (b *Bslack) getChannelByName(name string) (*slack.Channel, error) { func (b *Bslack) getChannelByName(name string) (*slack.Channel, error) {
b.channelsMutex.RLock() return b.getChannelBy(name, b.channelsByName)
defer b.channelsMutex.RUnlock()
if channel, ok := b.channelsByName[name]; ok {
return channel, nil
}
return nil, fmt.Errorf("%s: channel %s not found", b.Account, name)
} }
func (b *Bslack) getChannelByID(ID string) (*slack.Channel, error) { func (b *Bslack) getChannelByID(ID string) (*slack.Channel, error) {
return b.getChannelBy(ID, b.channelsByID)
}
func (b *Bslack) getChannelBy(lookupKey string, lookupMap map[string]*slack.Channel) (*slack.Channel, error) {
b.channelsMutex.RLock() b.channelsMutex.RLock()
defer b.channelsMutex.RUnlock() defer b.channelsMutex.RUnlock()
if channel, ok := b.channelsByID[ID]; ok { if channel, ok := lookupMap[lookupKey]; ok {
return channel, nil return channel, nil
} }
return nil, fmt.Errorf("%s: channel %s not found", b.Account, ID) return nil, fmt.Errorf("%s: channel %s not found", b.Account, lookupKey)
} }
const minimumRefreshInterval = 10 * time.Second const minimumRefreshInterval = 10 * time.Second