Migrate Channel.GetChannelMembersTimezones to Sync by default (#11242)

* Migrate Channel.GetChannelMembersTimezones to Sync by default

[MM-16334] Fixes #11226

* refactor: style fixup
Этот коммит содержится в:
krjn
2019-06-19 08:23:08 +00:00
коммит произвёл Jesús Espino
родитель c8f334ab1c
Коммит 209f70e80b
4 изменённых файлов: 35 добавлений и 29 удалений

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

@@ -1282,11 +1282,10 @@ func (a *App) GetChannelMembersPage(channelId string, page, perPage int) (*model
} }
func (a *App) GetChannelMembersTimezones(channelId string) ([]string, *model.AppError) { func (a *App) GetChannelMembersTimezones(channelId string) ([]string, *model.AppError) {
result := <-a.Srv.Store.Channel().GetChannelMembersTimezones(channelId) membersTimezones, err := a.Srv.Store.Channel().GetChannelMembersTimezones(channelId)
if result.Err != nil { if err != nil {
return nil, result.Err return nil, err
} }
membersTimezones := result.Data.([]map[string]string)
var timezones []string var timezones []string
for _, membersTimezone := range membersTimezones { for _, membersTimezone := range membersTimezones {

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

@@ -1401,9 +1401,8 @@ func (s SqlChannelStore) GetMembers(channelId string, offset, limit int) store.S
}) })
} }
func (s SqlChannelStore) GetChannelMembersTimezones(channelId string) store.StoreChannel { func (s SqlChannelStore) GetChannelMembersTimezones(channelId string) ([]model.StringMap, *model.AppError) {
return store.Do(func(result *store.StoreResult) { var dbMembersTimezone []model.StringMap
var dbMembersTimezone []map[string]string
_, err := s.GetReplica().Select(&dbMembersTimezone, ` _, err := s.GetReplica().Select(&dbMembersTimezone, `
SELECT SELECT
Users.Timezone Users.Timezone
@@ -1412,14 +1411,13 @@ func (s SqlChannelStore) GetChannelMembersTimezones(channelId string) store.Stor
LEFT JOIN LEFT JOIN
Users ON ChannelMembers.UserId = Id Users ON ChannelMembers.UserId = Id
WHERE ChannelId = :ChannelId WHERE ChannelId = :ChannelId
`, map[string]interface{}{ `, map[string]interface{}{"ChannelId": channelId})
"ChannelId": channelId})
if err != nil { 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 nil, model.NewAppError("SqlChannelStore.GetChannelMembersTimezones", "store.sql_channel.get_members.app_error", nil, "channel_id="+channelId+","+err.Error(), http.StatusInternalServerError)
return
} }
result.Data = dbMembersTimezone
}) return dbMembersTimezone, nil
} }
func (s SqlChannelStore) GetMember(channelId string, userId string) (*model.ChannelMember, *model.AppError) { func (s SqlChannelStore) GetMember(channelId string, userId string) (*model.ChannelMember, *model.AppError) {

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

@@ -161,7 +161,7 @@ type ChannelStore interface {
UpdateMember(member *model.ChannelMember) StoreChannel UpdateMember(member *model.ChannelMember) StoreChannel
GetMembers(channelId string, offset, limit int) StoreChannel GetMembers(channelId string, offset, limit int) StoreChannel
GetMember(channelId string, userId string) (*model.ChannelMember, *model.AppError) GetMember(channelId string, userId string) (*model.ChannelMember, *model.AppError)
GetChannelMembersTimezones(channelId string) StoreChannel GetChannelMembersTimezones(channelId string) ([]model.StringMap, *model.AppError)
GetAllChannelMembersForUser(userId string, allowFromCache bool, includeDeleted bool) StoreChannel GetAllChannelMembersForUser(userId string, allowFromCache bool, includeDeleted bool) StoreChannel
InvalidateAllChannelMembersForUser(userId string) InvalidateAllChannelMembersForUser(userId string)
IsUserInChannelUseCache(userId string, channelId string) bool IsUserInChannelUseCache(userId string, channelId string) bool

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

@@ -393,19 +393,28 @@ func (_m *ChannelStore) GetChannelMembersForExport(userId string, teamId string)
} }
// GetChannelMembersTimezones provides a mock function with given fields: channelId // GetChannelMembersTimezones provides a mock function with given fields: channelId
func (_m *ChannelStore) GetChannelMembersTimezones(channelId string) store.StoreChannel { func (_m *ChannelStore) GetChannelMembersTimezones(channelId string) ([]model.StringMap, *model.AppError) {
ret := _m.Called(channelId) ret := _m.Called(channelId)
var r0 store.StoreChannel var r0 []model.StringMap
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string) []model.StringMap); ok {
r0 = rf(channelId) r0 = rf(channelId)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).([]model.StringMap)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
r1 = rf(channelId)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// GetChannelUnread provides a mock function with given fields: channelId, userId // GetChannelUnread provides a mock function with given fields: channelId, userId