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 /store/sqlstore | |
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 'store/sqlstore')
-rw-r--r-- | store/sqlstore/channel_store.go | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/store/sqlstore/channel_store.go b/store/sqlstore/channel_store.go index b1886c428..17ef6d4c9 100644 --- a/store/sqlstore/channel_store.go +++ b/store/sqlstore/channel_store.go @@ -1197,7 +1197,7 @@ func (s SqlChannelStore) GetMembers(channelId string, offset, limit int) store.S var dbMembers channelMemberWithSchemeRolesList _, err := s.GetReplica().Select(&dbMembers, CHANNEL_MEMBERS_WITH_SCHEME_SELECT_QUERY+"WHERE ChannelId = :ChannelId LIMIT :Limit OFFSET :Offset", map[string]interface{}{"ChannelId": channelId, "Limit": limit, "Offset": offset}) if err != nil { - result.Err = model.NewAppError("SqlChannelStore.GetMembers", "store.sql_channel.get_members.app_error", nil, "channel_id="+channelId+err.Error(), http.StatusInternalServerError) + result.Err = model.NewAppError("SqlChannelStore.GetMembers", "store.sql_channel.get_members.app_error", nil, "channel_id="+channelId+","+err.Error(), http.StatusInternalServerError) return } @@ -1205,6 +1205,27 @@ func (s SqlChannelStore) GetMembers(channelId string, offset, limit int) store.S }) } +func (s SqlChannelStore) GetChannelMembersTimezones(channelId string) store.StoreChannel { + return store.Do(func(result *store.StoreResult) { + var dbMembersTimezone []map[string]string + _, err := s.GetReplica().Select(&dbMembersTimezone, ` + SELECT + Users.Timezone + FROM + ChannelMembers + LEFT JOIN + Users ON ChannelMembers.UserId = Id + WHERE ChannelId = :ChannelId + `, map[string]interface{}{ + "ChannelId": channelId}) + if err != nil { + result.Err = model.NewAppError("SqlChannelStore.GetChannelMembersTimezones", "store.sql_channel.get_members.app_error", nil, "channel_id="+channelId+","+err.Error(), http.StatusInternalServerError) + return + } + result.Data = dbMembersTimezone + }) +} + func (s SqlChannelStore) GetMember(channelId string, userId string) store.StoreChannel { return store.Do(func(result *store.StoreResult) { var dbMember channelMemberWithSchemeRoles |