[APIv4] add getChannelMembersTimezone (#9286)

* add getChannelMembersTimezone

* update per feedback review

* add delimeter to error
Этот коммит содержится в:
Carlos Tadeu Panato Junior
2018-10-13 12:35:57 +02:00
коммит произвёл GitHub
родитель e87965f39d
Коммит 908ed5555f
11 изменённых файлов: 203 добавлений и 7 удалений

Просмотреть файл

@@ -1746,6 +1746,17 @@ func (c *Client4) GetChannelStats(channelId string, etag string) (*ChannelStats,
}
}
// GetChannelMembersTimezones gets a list of timezones for a channel.
func (c *Client4) GetChannelMembersTimezones(channelId string) ([]string, *Response) {
r, err := c.DoApiGet(c.GetChannelRoute(channelId)+"/timezones", "")
if err != nil {
return nil, BuildErrorResponse(r, err)
}
defer closeBody(r)
return ArrayFromJson(r.Body), BuildResponse(r)
}
// GetPinnedPosts gets a list of pinned posts.
func (c *Client4) GetPinnedPosts(channelId string, etag string) (*PostList, *Response) {
if r, err := c.DoApiGet(c.GetChannelRoute(channelId)+"/pinned", etag); err != nil {

Просмотреть файл

@@ -499,11 +499,7 @@ func (u *User) IsSAMLUser() bool {
}
func (u *User) GetPreferredTimezone() string {
if u.Timezone["useAutomaticTimezone"] == "true" {
return u.Timezone["automaticTimezone"]
}
return u.Timezone["manualTimezone"]
return GetPreferredTimezone(u.Timezone)
}
// UserFromJson will decode the input and return a User

Просмотреть файл

@@ -564,3 +564,26 @@ func IsDomainName(s string) bool {
return ok
}
func RemoveDuplicateStrings(in []string) []string {
out := []string{}
seen := make(map[string]bool, len(in))
for _, item := range in {
if !seen[item] {
out = append(out, item)
seen[item] = true
}
}
return out
}
func GetPreferredTimezone(timezone StringMap) string {
if timezone["useAutomaticTimezone"] == "true" {
return timezone["automaticTimezone"]
}
return timezone["manualTimezone"]
}