[MM-16667] Migrate User.GetByUsername to Sync by default #11453 (#11520)

* Migrate User.GetByUsername to Sync by default #11453

* fix app errors #11453

* fix app errors #11453

* fix cmd error #11453

* fix shadow var #11453

* fix shadow user var #11453

* fix test error

* fix test error #11453
Этот коммит содержится в:
Taufiq Rahman
2019-07-10 14:46:03 +06:00
коммит произвёл Jesús Espino
родитель 678c8f4f84
Коммит 9ce5b28c63
12 изменённых файлов: 132 добавлений и 124 удалений

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

@@ -293,9 +293,9 @@ func (a *App) ImportUser(data *UserImportData, dryRun bool) *model.AppError {
hasUserEmailVerifiedChanged := false
var user *model.User
if result := <-a.Srv.Store.User().GetByUsername(*data.Username); result.Err == nil {
user = result.Data.(*model.User)
} else {
var err *model.AppError
user, err = a.Srv.Store.User().GetByUsername(*data.Username)
if err != nil {
user = &model.User{}
user.MakeNonNil()
user.SetDefaultNotifications()
@@ -470,7 +470,6 @@ func (a *App) ImportUser(data *UserImportData, dryRun bool) *model.AppError {
}
}
var err *model.AppError
var savedUser *model.User
if user.Id == "" {
if savedUser, err = a.createUser(user); err != nil {
@@ -826,15 +825,16 @@ func (a *App) ImportUserChannels(user *model.User, team *model.Team, teamMember
}
func (a *App) ImportReaction(data *ReactionImportData, post *model.Post, dryRun bool) *model.AppError {
if err := validateReactionImportData(data, post.CreateAt); err != nil {
var err *model.AppError
if err = validateReactionImportData(data, post.CreateAt); err != nil {
return err
}
result := <-a.Srv.Store.User().GetByUsername(*data.User)
if result.Err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": data.User}, result.Err.Error(), http.StatusBadRequest)
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(*data.User)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": data.User}, err.Error(), http.StatusBadRequest)
}
user := result.Data.(*model.User)
reaction := &model.Reaction{
UserId: user.Id,
@@ -842,22 +842,24 @@ func (a *App) ImportReaction(data *ReactionImportData, post *model.Post, dryRun
EmojiName: *data.EmojiName,
CreateAt: *data.CreateAt,
}
if _, err := a.Srv.Store.Reaction().Save(reaction); err != nil {
if _, err = a.Srv.Store.Reaction().Save(reaction); err != nil {
return err
}
return nil
}
func (a *App) ImportReply(data *ReplyImportData, post *model.Post, teamId string, dryRun bool) *model.AppError {
if err := validateReplyImportData(data, post.CreateAt, a.MaxPostSize()); err != nil {
var err *model.AppError
if err = validateReplyImportData(data, post.CreateAt, a.MaxPostSize()); err != nil {
return err
}
result := <-a.Srv.Store.User().GetByUsername(*data.User)
if result.Err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": data.User}, result.Err.Error(), http.StatusBadRequest)
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(*data.User)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": data.User}, err.Error(), http.StatusBadRequest)
}
user := result.Data.(*model.User)
// Check if this post already exists.
replies, err := a.Srv.Store.Post().GetPostsCreatedAt(post.ChannelId, *data.CreateAt)
@@ -951,11 +953,11 @@ func (a *App) ImportPost(data *PostImportData, dryRun bool) *model.AppError {
return model.NewAppError("BulkImport", "app.import.import_post.channel_not_found.error", map[string]interface{}{"ChannelName": *data.Channel}, err.Error(), http.StatusBadRequest)
}
result := <-a.Srv.Store.User().GetByUsername(*data.User)
if result.Err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": *data.User}, result.Err.Error(), http.StatusBadRequest)
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(*data.User)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": *data.User}, err.Error(), http.StatusBadRequest)
}
user := result.Data.(*model.User)
// Check if this post already exists.
posts, err := a.Srv.Store.Post().GetPostsCreatedAt(channel.Id, *data.CreateAt)
@@ -983,7 +985,8 @@ func (a *App) ImportPost(data *PostImportData, dryRun bool) *model.AppError {
post.Hashtags, _ = model.ParseHashtags(post.Message)
if data.Attachments != nil {
fileIds, err := a.uploadAttachments(data.Attachments, post, team.Id, dryRun)
var fileIds []string
fileIds, err = a.uploadAttachments(data.Attachments, post, team.Id, dryRun)
if err != nil {
return err
}
@@ -991,11 +994,11 @@ func (a *App) ImportPost(data *PostImportData, dryRun bool) *model.AppError {
}
if post.Id == "" {
if _, err := a.Srv.Store.Post().Save(post); err != nil {
if _, err = a.Srv.Store.Post().Save(post); err != nil {
return err
}
} else {
if _, err := a.Srv.Store.Post().Overwrite(post); err != nil {
if _, err = a.Srv.Store.Post().Overwrite(post); err != nil {
return err
}
}
@@ -1004,11 +1007,11 @@ func (a *App) ImportPost(data *PostImportData, dryRun bool) *model.AppError {
var preferences model.Preferences
for _, username := range *data.FlaggedBy {
result := <-a.Srv.Store.User().GetByUsername(username)
if result.Err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": username}, result.Err.Error(), http.StatusBadRequest)
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(username)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_post.user_not_found.error", map[string]interface{}{"Username": username}, err.Error(), http.StatusBadRequest)
}
user := result.Data.(*model.User)
preferences = append(preferences, model.Preference{
UserId: user.Id,
@@ -1065,7 +1068,8 @@ func (a *App) UpdateFileInfoWithPostId(post *model.Post) {
}
}
func (a *App) ImportDirectChannel(data *DirectChannelImportData, dryRun bool) *model.AppError {
if err := validateDirectChannelImportData(data); err != nil {
var err *model.AppError
if err = validateDirectChannelImportData(data); err != nil {
return err
}
@@ -1077,11 +1081,11 @@ func (a *App) ImportDirectChannel(data *DirectChannelImportData, dryRun bool) *m
var userIds []string
userMap := make(map[string]string)
for _, username := range *data.Members {
result := <-a.Srv.Store.User().GetByUsername(username)
if result.Err != nil {
return model.NewAppError("BulkImport", "app.import.import_direct_channel.member_not_found.error", nil, result.Err.Error(), http.StatusBadRequest)
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(username)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_direct_channel.member_not_found.error", nil, err.Error(), http.StatusBadRequest)
}
user := result.Data.(*model.User)
userIds = append(userIds, user.Id)
userMap[username] = user.Id
}
@@ -1140,7 +1144,8 @@ func (a *App) ImportDirectChannel(data *DirectChannelImportData, dryRun bool) *m
}
func (a *App) ImportDirectPost(data *DirectPostImportData, dryRun bool) *model.AppError {
if err := validateDirectPostImportData(data, a.MaxPostSize()); err != nil {
var err *model.AppError
if err = validateDirectPostImportData(data, a.MaxPostSize()); err != nil {
return err
}
@@ -1151,34 +1156,35 @@ func (a *App) ImportDirectPost(data *DirectPostImportData, dryRun bool) *model.A
var userIds []string
for _, username := range *data.ChannelMembers {
result := <-a.Srv.Store.User().GetByUsername(username)
if result.Err != nil {
return model.NewAppError("BulkImport", "app.import.import_direct_post.channel_member_not_found.error", nil, result.Err.Error(), http.StatusBadRequest)
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(username)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_direct_post.channel_member_not_found.error", nil, err.Error(), http.StatusBadRequest)
}
user := result.Data.(*model.User)
userIds = append(userIds, user.Id)
}
var channel *model.Channel
var ch *model.Channel
if len(userIds) == 2 {
ch, err := a.createDirectChannel(userIds[0], userIds[1])
ch, err = a.createDirectChannel(userIds[0], userIds[1])
if err != nil && err.Id != store.CHANNEL_EXISTS_ERROR {
return model.NewAppError("BulkImport", "app.import.import_direct_post.create_direct_channel.error", nil, err.Error(), http.StatusBadRequest)
}
channel = ch
} else {
ch, err := a.createGroupChannel(userIds, userIds[0])
ch, err = a.createGroupChannel(userIds, userIds[0])
if err != nil && err.Id != store.CHANNEL_EXISTS_ERROR {
return model.NewAppError("BulkImport", "app.import.import_direct_post.create_group_channel.error", nil, err.Error(), http.StatusBadRequest)
}
channel = ch
}
result := <-a.Srv.Store.User().GetByUsername(*data.User)
if result.Err != nil {
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(*data.User)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_direct_post.user_not_found.error", map[string]interface{}{"Username": *data.User}, "", http.StatusBadRequest)
}
user := result.Data.(*model.User)
// Check if this post already exists.
posts, err := a.Srv.Store.Post().GetPostsCreatedAt(channel.Id, *data.CreateAt)
@@ -1206,7 +1212,8 @@ func (a *App) ImportDirectPost(data *DirectPostImportData, dryRun bool) *model.A
post.Hashtags, _ = model.ParseHashtags(post.Message)
if data.Attachments != nil {
fileIds, err := a.uploadAttachments(data.Attachments, post, "noteam", dryRun)
var fileIds []string
fileIds, err = a.uploadAttachments(data.Attachments, post, "noteam", dryRun)
if err != nil {
return err
}
@@ -1214,11 +1221,11 @@ func (a *App) ImportDirectPost(data *DirectPostImportData, dryRun bool) *model.A
}
if post.Id == "" {
if _, err := a.Srv.Store.Post().Save(post); err != nil {
if _, err = a.Srv.Store.Post().Save(post); err != nil {
return err
}
} else {
if _, err := a.Srv.Store.Post().Overwrite(post); err != nil {
if _, err = a.Srv.Store.Post().Overwrite(post); err != nil {
return err
}
}
@@ -1227,11 +1234,11 @@ func (a *App) ImportDirectPost(data *DirectPostImportData, dryRun bool) *model.A
var preferences model.Preferences
for _, username := range *data.FlaggedBy {
result := <-a.Srv.Store.User().GetByUsername(username)
if result.Err != nil {
var user *model.User
user, err = a.Srv.Store.User().GetByUsername(username)
if err != nil {
return model.NewAppError("BulkImport", "app.import.import_direct_post.user_not_found.error", map[string]interface{}{"Username": username}, "", http.StatusBadRequest)
}
user := result.Data.(*model.User)
preferences = append(preferences, model.Preference{
UserId: user.Id,