[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) {
|
func (a *App) GetChannelByNameForTeamName(channelName, teamName string, includeDeleted bool) (*model.Channel, *model.AppError) {
|
||||||
var team *model.Team
|
var team *model.Team
|
||||||
|
|
||||||
result := <-a.Srv.Store.Team().GetByName(teamName)
|
team, err := a.Srv.Store.Team().GetByName(teamName)
|
||||||
if result.Err != nil {
|
if err != nil {
|
||||||
result.Err.StatusCode = http.StatusNotFound
|
err.StatusCode = http.StatusNotFound
|
||||||
return nil, result.Err
|
return nil, err
|
||||||
}
|
}
|
||||||
team = result.Data.(*model.Team)
|
|
||||||
|
var result store.StoreResult
|
||||||
|
|
||||||
if includeDeleted {
|
if includeDeleted {
|
||||||
result = <-a.Srv.Store.Channel().GetByNameIncludeDeleted(team.Id, channelName, false)
|
result = <-a.Srv.Store.Channel().GetByNameIncludeDeleted(team.Id, channelName, false)
|
||||||
|
|||||||
@@ -140,19 +140,19 @@ func (job *EmailBatchingJob) checkPendingNotifications(now time.Time, handler fu
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
result := <-job.server.Store.Team().GetByName(notifications[0].teamName)
|
team, err := job.server.Store.Team().GetByName(notifications[0].teamName)
|
||||||
if result.Err != nil {
|
if err != nil {
|
||||||
mlog.Error(fmt.Sprint("Unable to find Team id for notification", result.Err))
|
mlog.Error(fmt.Sprint("Unable to find Team id for notification", err))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if team, ok := result.Data.(*model.Team); ok {
|
if team != nil {
|
||||||
inspectedTeamNames[notification.teamName] = team.Id
|
inspectedTeamNames[notification.teamName] = team.Id
|
||||||
}
|
}
|
||||||
|
|
||||||
// if the user has viewed any channels in this team since the notification was queued, delete
|
// if the user has viewed any channels in this team since the notification was queued, delete
|
||||||
// all queued notifications
|
// 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 {
|
if result.Err != nil {
|
||||||
mlog.Error(fmt.Sprint("Unable to find ChannelMembers for user", result.Err))
|
mlog.Error(fmt.Sprint("Unable to find ChannelMembers for user", result.Err))
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -162,9 +162,9 @@ func (a *App) ImportTeam(data *TeamImportData, dryRun bool) *model.AppError {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var team *model.Team
|
var team *model.Team
|
||||||
if result := <-a.Srv.Store.Team().GetByName(*data.Name); result.Err == nil {
|
team, err := a.Srv.Store.Team().GetByName(*data.Name)
|
||||||
team = result.Data.(*model.Team)
|
|
||||||
} else {
|
if err != nil {
|
||||||
team = &model.Team{}
|
team = &model.Team{}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,11 +220,10 @@ func (a *App) ImportChannel(data *ChannelImportData, dryRun bool) *model.AppErro
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
result := <-a.Srv.Store.Team().GetByName(*data.Team)
|
team, err := a.Srv.Store.Team().GetByName(*data.Team)
|
||||||
if result.Err != nil {
|
if 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)
|
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
|
var channel *model.Channel
|
||||||
if result := <-a.Srv.Store.Channel().GetByNameIncludeDeleted(team.Id, *data.Name, true); result.Err == nil {
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
result := <-a.Srv.Store.Team().GetByName(*data.Team)
|
team, err := a.Srv.Store.Team().GetByName(*data.Team)
|
||||||
if result.Err != nil {
|
if 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)
|
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 {
|
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)
|
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) {
|
func (a *App) GetTeamByName(name string) (*model.Team, *model.AppError) {
|
||||||
result := <-a.Srv.Store.Team().GetByName(name)
|
team, err := a.Srv.Store.Team().GetByName(name)
|
||||||
if result.Err != nil {
|
if err != nil {
|
||||||
result.Err.StatusCode = http.StatusNotFound
|
err.StatusCode = http.StatusNotFound
|
||||||
return nil, result.Err
|
return nil, err
|
||||||
}
|
}
|
||||||
return result.Data.(*model.Team), nil
|
return team, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) GetTeamByInviteId(inviteId string) (*model.Team, *model.AppError) {
|
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 {
|
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 false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -19,15 +19,13 @@ func getTeamsFromTeamArgs(a *app.App, teamArgs []string) []*model.Team {
|
|||||||
|
|
||||||
func getTeamFromTeamArg(a *app.App, teamArg string) *model.Team {
|
func getTeamFromTeamArg(a *app.App, teamArg string) *model.Team {
|
||||||
var team *model.Team
|
var team *model.Team
|
||||||
if result := <-a.Srv.Store.Team().GetByName(teamArg); result.Err == nil {
|
team, err := a.Srv.Store.Team().GetByName(teamArg)
|
||||||
team = result.Data.(*model.Team)
|
|
||||||
}
|
|
||||||
|
|
||||||
if team == nil {
|
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
|
team = t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return team
|
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 {
|
func (s SqlTeamStore) GetByName(name string) (*model.Team, *model.AppError) {
|
||||||
return store.Do(func(result *store.StoreResult) {
|
|
||||||
team := model.Team{}
|
|
||||||
|
|
||||||
if err := s.GetReplica().SelectOne(&team, "SELECT * FROM Teams WHERE Name = :Name", map[string]interface{}{"Name": name}); err != nil {
|
team := model.Team{}
|
||||||
result.Err = model.NewAppError("SqlTeamStore.GetByName", "store.sql_team.get_by_name.app_error", nil, "name="+name+", "+err.Error(), http.StatusInternalServerError)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
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) {
|
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)
|
Update(team *model.Team) (*model.Team, *model.AppError)
|
||||||
UpdateDisplayName(name string, teamId string) StoreChannel
|
UpdateDisplayName(name string, teamId string) StoreChannel
|
||||||
Get(id string) (*model.Team, *model.AppError)
|
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)
|
SearchByName(name string) ([]*model.Team, *model.AppError)
|
||||||
SearchAll(term string) StoreChannel
|
SearchAll(term string) StoreChannel
|
||||||
SearchOpen(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
|
// 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)
|
ret := _m.Called(name)
|
||||||
|
|
||||||
var r0 store.StoreChannel
|
var r0 *model.Team
|
||||||
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
|
if rf, ok := ret.Get(0).(func(string) *model.Team); ok {
|
||||||
r0 = rf(name)
|
r0 = rf(name)
|
||||||
} else {
|
} else {
|
||||||
if ret.Get(0) != nil {
|
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
|
// 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)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if r1 := <-ss.Team().GetByName(o1.Name); r1.Err != nil {
|
if team, err := ss.Team().GetByName(o1.Name); err != nil {
|
||||||
t.Fatal(r1.Err)
|
t.Fatal(err)
|
||||||
} else {
|
} else {
|
||||||
if r1.Data.(*model.Team).ToJson() != o1.ToJson() {
|
if team.ToJson() != o1.ToJson() {
|
||||||
t.Fatal("invalid returned team")
|
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")
|
t.Fatal("Missing id should have failed")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user