[MM-58834] Review user preferences export and import (#28286)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
e8ebbcc980
Коммит
9d5993d89d
@@ -722,7 +722,7 @@ func (a *App) importUser(rctx request.CTX, data *imports.UserImportData, dryRun
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategoryDisplaySettings,
|
||||
Name: "channel_display_mode",
|
||||
Name: model.PreferenceNameChannelDisplayMode,
|
||||
Value: *data.ChannelDisplayMode,
|
||||
})
|
||||
}
|
||||
@@ -763,6 +763,69 @@ func (a *App) importUser(rctx request.CTX, data *imports.UserImportData, dryRun
|
||||
})
|
||||
}
|
||||
|
||||
if data.SendOnCtrlEnter != nil {
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategoryAdvancedSettings,
|
||||
Name: "send_on_ctrl_enter",
|
||||
Value: *data.SendOnCtrlEnter,
|
||||
})
|
||||
}
|
||||
|
||||
if data.CodeBlockCtrlEnter != nil {
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategoryAdvancedSettings,
|
||||
Name: "code_block_ctrl_enter",
|
||||
Value: *data.CodeBlockCtrlEnter,
|
||||
})
|
||||
}
|
||||
|
||||
if data.ShowJoinLeave != nil {
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategoryAdvancedSettings,
|
||||
Name: "join_leave",
|
||||
Value: *data.ShowJoinLeave,
|
||||
})
|
||||
}
|
||||
|
||||
if data.ShowUnreadScrollPosition != nil {
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategoryAdvancedSettings,
|
||||
Name: "unread_scroll_position",
|
||||
Value: *data.ShowUnreadScrollPosition,
|
||||
})
|
||||
}
|
||||
|
||||
if data.SyncDrafts != nil {
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategoryAdvancedSettings,
|
||||
Name: "sync_drafts",
|
||||
Value: *data.SyncDrafts,
|
||||
})
|
||||
}
|
||||
|
||||
if data.LimitVisibleDmsGms != nil {
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategorySidebarSettings,
|
||||
Name: model.PreferenceLimitVisibleDmsGms,
|
||||
Value: *data.LimitVisibleDmsGms,
|
||||
})
|
||||
}
|
||||
|
||||
if data.NameFormat != nil {
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: savedUser.Id,
|
||||
Category: model.PreferenceCategoryDisplaySettings,
|
||||
Name: model.PreferenceNameNameFormat,
|
||||
Value: *data.NameFormat,
|
||||
})
|
||||
}
|
||||
|
||||
if data.EmailInterval != nil || savedUser.NotifyProps[model.EmailNotifyProp] == "false" {
|
||||
var intervalSeconds string
|
||||
if value := savedUser.NotifyProps[model.EmailNotifyProp]; value == "false" {
|
||||
@@ -1184,6 +1247,9 @@ func (a *App) importReplies(rctx request.CTX, data []imports.ReplyImportData, po
|
||||
return err
|
||||
}
|
||||
usernames = append(usernames, *replyData.User)
|
||||
if replyData.FlaggedBy != nil {
|
||||
usernames = append(usernames, *replyData.FlaggedBy...)
|
||||
}
|
||||
}
|
||||
|
||||
users, err := a.getUsersByUsernames(usernames)
|
||||
@@ -1233,6 +1299,9 @@ func (a *App) importReplies(rctx request.CTX, data []imports.ReplyImportData, po
|
||||
if replyData.EditAt != nil {
|
||||
reply.EditAt = *replyData.EditAt
|
||||
}
|
||||
if replyData.IsPinned != nil {
|
||||
reply.IsPinned = *replyData.IsPinned
|
||||
}
|
||||
|
||||
fileIDs := a.uploadAttachments(rctx, replyData.Attachments, reply, teamID, extractContent)
|
||||
for _, fileID := range reply.FileIds {
|
||||
@@ -1274,6 +1343,27 @@ func (a *App) importReplies(rctx request.CTX, data []imports.ReplyImportData, po
|
||||
|
||||
for _, postWithData := range postsWithData {
|
||||
a.updateFileInfoWithPostId(rctx, postWithData.post)
|
||||
|
||||
if postWithData.replyData.FlaggedBy != nil {
|
||||
var preferences model.Preferences
|
||||
|
||||
for _, username := range *postWithData.replyData.FlaggedBy {
|
||||
user := users[strings.ToLower(username)]
|
||||
|
||||
preferences = append(preferences, model.Preference{
|
||||
UserId: user.Id,
|
||||
Category: model.PreferenceCategoryFlaggedPost,
|
||||
Name: postWithData.post.Id,
|
||||
Value: "true",
|
||||
})
|
||||
}
|
||||
|
||||
if len(preferences) > 0 {
|
||||
if err := a.Srv().Store().Preference().Save(preferences); err != nil {
|
||||
return model.NewAppError("BulkImport", "app.import.import_post.save_preferences.error", nil, "", http.StatusInternalServerError).Wrap(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
Ссылка в новой задаче
Block a user