summaryrefslogtreecommitdiffstats
path: root/app/channel.go
diff options
context:
space:
mode:
authorCarlos Tadeu Panato Junior <ctadeu@gmail.com>2018-10-13 12:35:57 +0200
committerGitHub <noreply@github.com>2018-10-13 12:35:57 +0200
commit908ed5555f8a3d37cd057035b2792d66c8b7838a (patch)
tree7ad4248a72a7c3b6e6c3981840c5951c6108fe1d /app/channel.go
parente87965f39d2ce6dbd0e7883c387956413c663f6a (diff)
downloadchat-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.go18
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 {