[MM-16159] Migrate "Team.GetByName" to Sync by default (#11107)

* [MM-16159] Migrate "Team.GetByName" to Sync by default

* Refactor to correct mistakes and remove irrelevant code
Этот коммит содержится в:
Bolarinwa Balogun
2019-06-11 09:35:17 -04:00
коммит произвёл Elias Nahum
родитель 3b03c9afcb
Коммит 88202a76d9
10 изменённых файлов: 56 добавлений и 52 удалений

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

@@ -295,17 +295,15 @@ func (s SqlTeamStore) GetByInviteId(inviteId string) store.StoreChannel {
})
}
func (s SqlTeamStore) GetByName(name string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
team := model.Team{}
func (s SqlTeamStore) GetByName(name string) (*model.Team, *model.AppError) {
if err := s.GetReplica().SelectOne(&team, "SELECT * FROM Teams WHERE Name = :Name", map[string]interface{}{"Name": name}); err != nil {
result.Err = model.NewAppError("SqlTeamStore.GetByName", "store.sql_team.get_by_name.app_error", nil, "name="+name+", "+err.Error(), http.StatusInternalServerError)
return
}
team := model.Team{}
result.Data = &team
})
err := s.GetReplica().SelectOne(&team, "SELECT * FROM Teams WHERE Name = :Name", map[string]interface{}{"Name": name})
if err != nil {
return nil, model.NewAppError("SqlTeamStore.GetByName", "store.sql_team.get_by_name.app_error", nil, "name="+name+", "+err.Error(), http.StatusInternalServerError)
}
return &team, nil
}
func (s SqlTeamStore) SearchByName(name string) ([]*model.Team, *model.AppError) {

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

@@ -85,7 +85,7 @@ type TeamStore interface {
Update(team *model.Team) (*model.Team, *model.AppError)
UpdateDisplayName(name string, teamId string) StoreChannel
Get(id string) (*model.Team, *model.AppError)
GetByName(name string) StoreChannel
GetByName(name string) (*model.Team, *model.AppError)
SearchByName(name string) ([]*model.Team, *model.AppError)
SearchAll(term string) StoreChannel
SearchOpen(term string) StoreChannel

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

@@ -245,19 +245,28 @@ func (_m *TeamStore) GetByInviteId(inviteId string) store.StoreChannel {
}
// GetByName provides a mock function with given fields: name
func (_m *TeamStore) GetByName(name string) store.StoreChannel {
func (_m *TeamStore) GetByName(name string) (*model.Team, *model.AppError) {
ret := _m.Called(name)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
var r0 *model.Team
if rf, ok := ret.Get(0).(func(string) *model.Team); ok {
r0 = rf(name)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel)
r0 = ret.Get(0).(*model.Team)
}
}
return r0
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
r1 = rf(name)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// GetChannelUnreadsForAllTeams provides a mock function with given fields: excludeTeamId, userId

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

@@ -149,15 +149,15 @@ func testTeamStoreGetByName(t *testing.T, ss store.Store) {
t.Fatal(err)
}
if r1 := <-ss.Team().GetByName(o1.Name); r1.Err != nil {
t.Fatal(r1.Err)
if team, err := ss.Team().GetByName(o1.Name); err != nil {
t.Fatal(err)
} else {
if r1.Data.(*model.Team).ToJson() != o1.ToJson() {
if team.ToJson() != o1.ToJson() {
t.Fatal("invalid returned team")
}
}
if err := (<-ss.Team().GetByName("")).Err; err == nil {
if _, err := ss.Team().GetByName(""); err == nil {
t.Fatal("Missing id should have failed")
}
}