Channel.GetDeleted to sync by default (#11205)

Этот коммит содержится в:
Rodrigo Villablanca Vásquez
2019-06-17 13:46:37 -04:00
коммит произвёл Christopher Poile
родитель 6bb147c380
Коммит 651c3196a0
5 изменённых файлов: 39 добавлений и 43 удалений

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

@@ -1257,11 +1257,7 @@ func (a *App) GetAllChannels(page, perPage int, opts model.ChannelSearchOpts) (*
} }
func (a *App) GetDeletedChannels(teamId string, offset int, limit int) (*model.ChannelList, *model.AppError) { func (a *App) GetDeletedChannels(teamId string, offset int, limit int) (*model.ChannelList, *model.AppError) {
result := <-a.Srv.Store.Channel().GetDeleted(teamId, offset, limit) return a.Srv.Store.Channel().GetDeleted(teamId, offset, limit)
if result.Err != nil {
return nil, result.Err
}
return result.Data.(*model.ChannelList), nil
} }
func (a *App) GetChannelsUserNotIn(teamId string, userId string, offset int, limit int) (*model.ChannelList, *model.AppError) { func (a *App) GetChannelsUserNotIn(teamId string, userId string, offset int, limit int) (*model.ChannelList, *model.AppError) {

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

@@ -1270,21 +1270,17 @@ func (s SqlChannelStore) GetDeletedByName(teamId string, name string) store.Stor
}) })
} }
func (s SqlChannelStore) GetDeleted(teamId string, offset int, limit int) store.StoreChannel { func (s SqlChannelStore) GetDeleted(teamId string, offset int, limit int) (*model.ChannelList, *model.AppError) {
return store.Do(func(result *store.StoreResult) {
channels := &model.ChannelList{} channels := &model.ChannelList{}
if _, err := s.GetReplica().Select(channels, "SELECT * FROM Channels WHERE (TeamId = :TeamId OR TeamId = '') AND DeleteAt != 0 ORDER BY DisplayName LIMIT :Limit OFFSET :Offset", map[string]interface{}{"TeamId": teamId, "Limit": limit, "Offset": offset}); err != nil { if _, err := s.GetReplica().Select(channels, "SELECT * FROM Channels WHERE (TeamId = :TeamId OR TeamId = '') AND DeleteAt != 0 ORDER BY DisplayName LIMIT :Limit OFFSET :Offset", map[string]interface{}{"TeamId": teamId, "Limit": limit, "Offset": offset}); err != nil {
if err == sql.ErrNoRows { if err == sql.ErrNoRows {
result.Err = model.NewAppError("SqlChannelStore.GetDeleted", "store.sql_channel.get_deleted.missing.app_error", nil, "teamId="+teamId+", "+err.Error(), http.StatusNotFound) return nil, model.NewAppError("SqlChannelStore.GetDeleted", "store.sql_channel.get_deleted.missing.app_error", nil, "teamId="+teamId+", "+err.Error(), http.StatusNotFound)
return
} }
result.Err = model.NewAppError("SqlChannelStore.GetDeleted", "store.sql_channel.get_deleted.existing.app_error", nil, "teamId="+teamId+", "+err.Error(), http.StatusInternalServerError) return nil, model.NewAppError("SqlChannelStore.GetDeleted", "store.sql_channel.get_deleted.existing.app_error", nil, "teamId="+teamId+", "+err.Error(), http.StatusInternalServerError)
return
} }
result.Data = channels return channels, nil
})
} }
var CHANNEL_MEMBERS_WITH_SCHEME_SELECT_QUERY = ` var CHANNEL_MEMBERS_WITH_SCHEME_SELECT_QUERY = `

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

@@ -146,7 +146,7 @@ type ChannelStore interface {
GetByNames(team_id string, names []string, allowFromCache bool) ([]*model.Channel, *model.AppError) GetByNames(team_id string, names []string, allowFromCache bool) ([]*model.Channel, *model.AppError)
GetByNameIncludeDeleted(team_id string, name string, allowFromCache bool) StoreChannel GetByNameIncludeDeleted(team_id string, name string, allowFromCache bool) StoreChannel
GetDeletedByName(team_id string, name string) StoreChannel GetDeletedByName(team_id string, name string) StoreChannel
GetDeleted(team_id string, offset int, limit int) StoreChannel GetDeleted(team_id string, offset int, limit int) (*model.ChannelList, *model.AppError)
GetChannels(teamId string, userId string, includeDeleted bool) StoreChannel GetChannels(teamId string, userId string, includeDeleted bool) StoreChannel
GetAllChannels(page, perPage int, opts ChannelSearchOpts) StoreChannel GetAllChannels(page, perPage int, opts ChannelSearchOpts) StoreChannel
GetMoreChannels(teamId string, userId string, offset int, limit int) (*model.ChannelList, *model.AppError) GetMoreChannels(teamId string, userId string, offset int, limit int) (*model.ChannelList, *model.AppError)

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

@@ -780,11 +780,10 @@ func testChannelStoreGetDeleted(t *testing.T, ss store.Store) {
err = ss.Channel().Delete(o1.Id, model.GetMillis()) err = ss.Channel().Delete(o1.Id, model.GetMillis())
require.Nil(t, err, "channel should have been deleted") require.Nil(t, err, "channel should have been deleted")
cresult := <-ss.Channel().GetDeleted(o1.TeamId, 0, 100) list, err := ss.Channel().GetDeleted(o1.TeamId, 0, 100)
if cresult.Err != nil { if err != nil {
t.Fatal(cresult.Err) t.Fatal(err)
} }
list := cresult.Data.(*model.ChannelList)
if len(*list) != 1 { if len(*list) != 1 {
t.Fatal("wrong list") t.Fatal("wrong list")
@@ -802,11 +801,10 @@ func testChannelStoreGetDeleted(t *testing.T, ss store.Store) {
_, err = ss.Channel().Save(&o2, -1) _, err = ss.Channel().Save(&o2, -1)
require.Nil(t, err) require.Nil(t, err)
cresult = <-ss.Channel().GetDeleted(o1.TeamId, 0, 100) list, err = ss.Channel().GetDeleted(o1.TeamId, 0, 100)
if cresult.Err != nil { if err != nil {
t.Fatal(cresult.Err) t.Fatal(err)
} }
list = cresult.Data.(*model.ChannelList)
if len(*list) != 1 { if len(*list) != 1 {
t.Fatal("wrong list") t.Fatal("wrong list")
@@ -824,31 +822,28 @@ func testChannelStoreGetDeleted(t *testing.T, ss store.Store) {
err = ss.Channel().Delete(o3.Id, model.GetMillis()) err = ss.Channel().Delete(o3.Id, model.GetMillis())
require.Nil(t, err, "channel should have been deleted") require.Nil(t, err, "channel should have been deleted")
cresult = <-ss.Channel().GetDeleted(o1.TeamId, 0, 100) list, err = ss.Channel().GetDeleted(o1.TeamId, 0, 100)
if cresult.Err != nil { if err != nil {
t.Fatal(cresult.Err) t.Fatal(err)
} }
list = cresult.Data.(*model.ChannelList)
if len(*list) != 2 { if len(*list) != 2 {
t.Fatal("wrong list length") t.Fatal("wrong list length")
} }
cresult = <-ss.Channel().GetDeleted(o1.TeamId, 0, 1) list, err = ss.Channel().GetDeleted(o1.TeamId, 0, 1)
if cresult.Err != nil { if err != nil {
t.Fatal(cresult.Err) t.Fatal(err)
} }
list = cresult.Data.(*model.ChannelList)
if len(*list) != 1 { if len(*list) != 1 {
t.Fatal("wrong list length") t.Fatal("wrong list length")
} }
cresult = <-ss.Channel().GetDeleted(o1.TeamId, 1, 1) list, err = ss.Channel().GetDeleted(o1.TeamId, 1, 1)
if cresult.Err != nil { if err != nil {
t.Fatal(cresult.Err) t.Fatal(err)
} }
list = cresult.Data.(*model.ChannelList)
if len(*list) != 1 { if len(*list) != 1 {
t.Fatal("wrong list length") t.Fatal("wrong list length")

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

@@ -471,19 +471,28 @@ func (_m *ChannelStore) GetChannelsByScheme(schemeId string, offset int, limit i
} }
// GetDeleted provides a mock function with given fields: team_id, offset, limit // GetDeleted provides a mock function with given fields: team_id, offset, limit
func (_m *ChannelStore) GetDeleted(team_id string, offset int, limit int) store.StoreChannel { func (_m *ChannelStore) GetDeleted(team_id string, offset int, limit int) (*model.ChannelList, *model.AppError) {
ret := _m.Called(team_id, offset, limit) ret := _m.Called(team_id, offset, limit)
var r0 store.StoreChannel var r0 *model.ChannelList
if rf, ok := ret.Get(0).(func(string, int, int) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string, int, int) *model.ChannelList); ok {
r0 = rf(team_id, offset, limit) r0 = rf(team_id, offset, limit)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).(*model.ChannelList)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string, int, int) *model.AppError); ok {
r1 = rf(team_id, offset, limit)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// GetDeletedByName provides a mock function with given fields: team_id, name // GetDeletedByName provides a mock function with given fields: team_id, name