[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
Этот коммит содержится в:
коммит произвёл
Elias Nahum
родитель
3b03c9afcb
Коммит
88202a76d9
@@ -1208,12 +1208,13 @@ func (a *App) GetChannelsByNames(channelNames []string, teamId string) ([]*model
|
||||
func (a *App) GetChannelByNameForTeamName(channelName, teamName string, includeDeleted bool) (*model.Channel, *model.AppError) {
|
||||
var team *model.Team
|
||||
|
||||
result := <-a.Srv.Store.Team().GetByName(teamName)
|
||||
if result.Err != nil {
|
||||
result.Err.StatusCode = http.StatusNotFound
|
||||
return nil, result.Err
|
||||
team, err := a.Srv.Store.Team().GetByName(teamName)
|
||||
if err != nil {
|
||||
err.StatusCode = http.StatusNotFound
|
||||
return nil, err
|
||||
}
|
||||
team = result.Data.(*model.Team)
|
||||
|
||||
var result store.StoreResult
|
||||
|
||||
if includeDeleted {
|
||||
result = <-a.Srv.Store.Channel().GetByNameIncludeDeleted(team.Id, channelName, false)
|
||||
|
||||
@@ -140,19 +140,19 @@ func (job *EmailBatchingJob) checkPendingNotifications(now time.Time, handler fu
|
||||
continue
|
||||
}
|
||||
|
||||
result := <-job.server.Store.Team().GetByName(notifications[0].teamName)
|
||||
if result.Err != nil {
|
||||
mlog.Error(fmt.Sprint("Unable to find Team id for notification", result.Err))
|
||||
team, err := job.server.Store.Team().GetByName(notifications[0].teamName)
|
||||
if err != nil {
|
||||
mlog.Error(fmt.Sprint("Unable to find Team id for notification", err))
|
||||
continue
|
||||
}
|
||||
|
||||
if team, ok := result.Data.(*model.Team); ok {
|
||||
if team != nil {
|
||||
inspectedTeamNames[notification.teamName] = team.Id
|
||||
}
|
||||
|
||||
// if the user has viewed any channels in this team since the notification was queued, delete
|
||||
// all queued notifications
|
||||
result = <-job.server.Store.Channel().GetMembersForUser(inspectedTeamNames[notification.teamName], userId)
|
||||
result := <-job.server.Store.Channel().GetMembersForUser(inspectedTeamNames[notification.teamName], userId)
|
||||
if result.Err != nil {
|
||||
mlog.Error(fmt.Sprint("Unable to find ChannelMembers for user", result.Err))
|
||||
continue
|
||||
|
||||
@@ -162,9 +162,9 @@ func (a *App) ImportTeam(data *TeamImportData, dryRun bool) *model.AppError {
|
||||
}
|
||||
|
||||
var team *model.Team
|
||||
if result := <-a.Srv.Store.Team().GetByName(*data.Name); result.Err == nil {
|
||||
team = result.Data.(*model.Team)
|
||||
} else {
|
||||
team, err := a.Srv.Store.Team().GetByName(*data.Name)
|
||||
|
||||
if err != nil {
|
||||
team = &model.Team{}
|
||||
}
|
||||
|
||||
@@ -220,11 +220,10 @@ func (a *App) ImportChannel(data *ChannelImportData, dryRun bool) *model.AppErro
|
||||
return nil
|
||||
}
|
||||
|
||||
result := <-a.Srv.Store.Team().GetByName(*data.Team)
|
||||
if result.Err != nil {
|
||||
return model.NewAppError("BulkImport", "app.import.import_channel.team_not_found.error", map[string]interface{}{"TeamName": *data.Team}, result.Err.Error(), http.StatusBadRequest)
|
||||
team, err := a.Srv.Store.Team().GetByName(*data.Team)
|
||||
if err != nil {
|
||||
return model.NewAppError("BulkImport", "app.import.import_channel.team_not_found.error", map[string]interface{}{"TeamName": *data.Team}, err.Error(), http.StatusBadRequest)
|
||||
}
|
||||
team := result.Data.(*model.Team)
|
||||
|
||||
var channel *model.Channel
|
||||
if result := <-a.Srv.Store.Channel().GetByNameIncludeDeleted(team.Id, *data.Name, true); result.Err == nil {
|
||||
@@ -942,13 +941,12 @@ func (a *App) ImportPost(data *PostImportData, dryRun bool) *model.AppError {
|
||||
return nil
|
||||
}
|
||||
|
||||
result := <-a.Srv.Store.Team().GetByName(*data.Team)
|
||||
if result.Err != nil {
|
||||
return model.NewAppError("BulkImport", "app.import.import_post.team_not_found.error", map[string]interface{}{"TeamName": *data.Team}, result.Err.Error(), http.StatusBadRequest)
|
||||
team, err := a.Srv.Store.Team().GetByName(*data.Team)
|
||||
if err != nil {
|
||||
return model.NewAppError("BulkImport", "app.import.import_post.team_not_found.error", map[string]interface{}{"TeamName": *data.Team}, err.Error(), http.StatusBadRequest)
|
||||
}
|
||||
team := result.Data.(*model.Team)
|
||||
|
||||
result = <-a.Srv.Store.Channel().GetByName(team.Id, *data.Channel, false)
|
||||
result := <-a.Srv.Store.Channel().GetByName(team.Id, *data.Channel, false)
|
||||
if result.Err != nil {
|
||||
return model.NewAppError("BulkImport", "app.import.import_post.channel_not_found.error", map[string]interface{}{"ChannelName": *data.Channel}, result.Err.Error(), http.StatusBadRequest)
|
||||
}
|
||||
|
||||
12
app/team.go
12
app/team.go
@@ -592,12 +592,12 @@ func (a *App) GetTeam(teamId string) (*model.Team, *model.AppError) {
|
||||
}
|
||||
|
||||
func (a *App) GetTeamByName(name string) (*model.Team, *model.AppError) {
|
||||
result := <-a.Srv.Store.Team().GetByName(name)
|
||||
if result.Err != nil {
|
||||
result.Err.StatusCode = http.StatusNotFound
|
||||
return nil, result.Err
|
||||
team, err := a.Srv.Store.Team().GetByName(name)
|
||||
if err != nil {
|
||||
err.StatusCode = http.StatusNotFound
|
||||
return nil, err
|
||||
}
|
||||
return result.Data.(*model.Team), nil
|
||||
return team, nil
|
||||
}
|
||||
|
||||
func (a *App) GetTeamByInviteId(inviteId string) (*model.Team, *model.AppError) {
|
||||
@@ -1045,7 +1045,7 @@ func (a *App) InviteNewUsersToTeam(emailList []string, teamId, senderId string)
|
||||
}
|
||||
|
||||
func (a *App) FindTeamByName(name string) bool {
|
||||
if result := <-a.Srv.Store.Team().GetByName(name); result.Err != nil {
|
||||
if _, err := a.Srv.Store.Team().GetByName(name); err != nil {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
|
||||
@@ -19,15 +19,13 @@ func getTeamsFromTeamArgs(a *app.App, teamArgs []string) []*model.Team {
|
||||
|
||||
func getTeamFromTeamArg(a *app.App, teamArg string) *model.Team {
|
||||
var team *model.Team
|
||||
if result := <-a.Srv.Store.Team().GetByName(teamArg); result.Err == nil {
|
||||
team = result.Data.(*model.Team)
|
||||
}
|
||||
team, err := a.Srv.Store.Team().GetByName(teamArg)
|
||||
|
||||
if team == nil {
|
||||
if t, err := a.Srv.Store.Team().Get(teamArg); err == nil {
|
||||
var t *model.Team
|
||||
if t, err = a.Srv.Store.Team().Get(teamArg); err == nil {
|
||||
team = t
|
||||
}
|
||||
}
|
||||
|
||||
return team
|
||||
}
|
||||
|
||||
0
output
Обычный файл
0
output
Обычный файл
@@ -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")
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user