[MM-58834] Review user preferences export and import (#28286)

Этот коммит содержится в:
Ibrahim Serdar Acikgoz
2024-10-11 12:28:37 +02:00
коммит произвёл GitHub
родитель e8ebbcc980
Коммит 9d5993d89d
10 изменённых файлов: 526 добавлений и 140 удалений

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

@@ -29,43 +29,83 @@ import (
// We use this map to identify the exportable preferences.
// Here we link the preference category and name, to the name of the relevant field in the import struct.
var exportablePreferences = map[imports.ComparablePreference]string{{
Category: model.PreferenceCategoryTheme,
Name: "",
}: "Theme", {
Category: model.PreferenceCategoryAdvancedSettings,
Name: "feature_enabled_markdown_preview",
}: "UseMarkdownPreview", {
Category: model.PreferenceCategoryAdvancedSettings,
Name: "formatting",
}: "UseFormatting", {
Category: model.PreferenceCategorySidebarSettings,
Name: "show_unread_section",
}: "ShowUnreadSection", {
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameUseMilitaryTime,
}: "UseMilitaryTime", {
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameCollapseSetting,
}: "CollapsePreviews", {
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameMessageDisplay,
}: "MessageDisplay", {
Category: model.PreferenceCategoryDisplaySettings,
Name: "channel_display_mode",
}: "CollapseConsecutive", {
Category: model.PreferenceCategoryDisplaySettings,
Name: "collapse_consecutive_messages",
}: "ColorizeUsernames", {
Category: model.PreferenceCategoryDisplaySettings,
Name: "colorize_usernames",
}: "ChannelDisplayMode", {
Category: model.PreferenceCategoryTutorialSteps,
Name: "",
}: "TutorialStep", {
Category: model.PreferenceCategoryNotifications,
Name: model.PreferenceNameEmailInterval,
}: "EmailInterval",
var exportablePreferences = map[imports.ComparablePreference]string{
{
Category: model.PreferenceCategoryTheme,
Name: "",
}: "Theme",
{
Category: model.PreferenceCategoryAdvancedSettings,
Name: "feature_enabled_markdown_preview",
}: "UseMarkdownPreview",
{
Category: model.PreferenceCategoryAdvancedSettings,
Name: "formatting",
}: "UseFormatting",
{
Category: model.PreferenceCategoryAdvancedSettings,
Name: "send_on_ctrl_enter",
}: "SendOnCtrlEnter",
{
Category: model.PreferenceCategoryAdvancedSettings,
Name: "code_block_ctrl_enter",
}: "CodeBlockCtrlEnter",
{
Category: model.PreferenceCategoryAdvancedSettings,
Name: "join_leave",
}: "ShowJoinLeave",
{
Category: model.PreferenceCategoryAdvancedSettings,
Name: "unread_scroll_position",
}: "ShowUnreadScrollPosition",
{
Category: model.PreferenceCategoryAdvancedSettings,
Name: "sync_drafts",
}: "SyncDrafts",
{
Category: model.PreferenceCategorySidebarSettings,
Name: model.PreferenceNameShowUnreadSection,
}: "ShowUnreadSection",
{
Category: model.PreferenceCategorySidebarSettings,
Name: model.PreferenceLimitVisibleDmsGms,
}: "LimitVisibleDmsGms",
{
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameUseMilitaryTime,
}: "UseMilitaryTime",
{
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameCollapseSetting,
}: "CollapsePreviews",
{
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameMessageDisplay,
}: "MessageDisplay",
{
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameChannelDisplayMode,
}: "ChannelDisplayMode",
{
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameCollapseConsecutive,
}: "CollapseConsecutive",
{
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameColorizeUsernames,
}: "ColorizeUsernames",
{
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameNameFormat,
}: "NameFormat",
{
Category: model.PreferenceCategoryTutorialSteps,
Name: "",
}: "TutorialStep",
{
Category: model.PreferenceCategoryNotifications,
Name: model.PreferenceNameEmailInterval,
}: "EmailInterval",
}
func (a *App) BulkExport(ctx request.CTX, writer io.Writer, outPath string, job *model.Job, opts model.BulkExportOpts) *model.AppError {