diff options
author | Carlos Tadeu Panato Junior <ctadeu@gmail.com> | 2018-10-13 12:35:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-13 12:35:57 +0200 |
commit | 908ed5555f8a3d37cd057035b2792d66c8b7838a (patch) | |
tree | 7ad4248a72a7c3b6e6c3981840c5951c6108fe1d /app/channel.go | |
parent | e87965f39d2ce6dbd0e7883c387956413c663f6a (diff) | |
download | chat-908ed5555f8a3d37cd057035b2792d66c8b7838a.tar.gz chat-908ed5555f8a3d37cd057035b2792d66c8b7838a.tar.bz2 chat-908ed5555f8a3d37cd057035b2792d66c8b7838a.zip |
[APIv4] add getChannelMembersTimezone (#9286)
* add getChannelMembersTimezone
* update per feedback review
* add delimeter to error
Diffstat (limited to 'app/channel.go')
-rw-r--r-- | app/channel.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/channel.go b/app/channel.go index 93037cf05..dee856b94 100644 --- a/app/channel.go +++ b/app/channel.go @@ -1153,6 +1153,24 @@ func (a *App) GetChannelMembersPage(channelId string, page, perPage int) (*model return result.Data.(*model.ChannelMembers), nil } +func (a *App) GetChannelMembersTimezones(channelId string) ([]string, *model.AppError) { + result := <-a.Srv.Store.Channel().GetChannelMembersTimezones(channelId) + if result.Err != nil { + return nil, result.Err + } + membersTimezones := result.Data.([]map[string]string) + + var timezones []string + for _, membersTimezone := range membersTimezones { + if membersTimezone["automaticTimezone"] == "" && membersTimezone["manualTimezone"] == "" { + continue + } + timezones = append(timezones, model.GetPreferredTimezone(membersTimezone)) + } + + return model.RemoveDuplicateStrings(timezones), nil +} + func (a *App) GetChannelMembersByIds(channelId string, userIds []string) (*model.ChannelMembers, *model.AppError) { result := <-a.Srv.Store.Channel().GetMembersByIds(channelId, userIds) if result.Err != nil { |