[MM-41115] Add server-side username colorize preference (#19382)

* Server support for collapse consecutive preference

* Add server-side username colorize preference
Этот коммит содержится в:
Zach Zundel
2022-06-24 17:37:07 +01:00
коммит произвёл GitHub
родитель af3853b4bf
Коммит 24c44736c0
6 изменённых файлов: 40 добавлений и 7 удалений

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

@@ -46,6 +46,12 @@ var exportablePreferences = map[ComparablePreference]string{{
}: "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: "",

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

@@ -79,6 +79,7 @@ func ImportLineFromUser(user *model.User, exportedPrefs map[string]*string) *Lin
UseMilitaryTime: exportedPrefs["UseMilitaryTime"],
CollapsePreviews: exportedPrefs["CollapsePreviews"],
MessageDisplay: exportedPrefs["MessageDisplay"],
ColorizeUsernames: exportedPrefs["ColorizeUsernames"],
ChannelDisplayMode: exportedPrefs["ChannelDisplayMode"],
TutorialStep: exportedPrefs["TutorialStep"],
EmailInterval: exportedPrefs["EmailInterval"],

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

@@ -635,6 +635,24 @@ func (a *App) importUser(data *UserImportData, dryRun bool) *model.AppError {
})
}
if data.CollapseConsecutive != nil {
preferences = append(preferences, model.Preference{
UserId: savedUser.Id,
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameCollapseConsecutive,
Value: *data.CollapseConsecutive,
})
}
if data.ColorizeUsernames != nil {
preferences = append(preferences, model.Preference{
UserId: savedUser.Id,
Category: model.PreferenceCategoryDisplaySettings,
Name: model.PreferenceNameColorizeUsernames,
Value: *data.ColorizeUsernames,
})
}
if data.ChannelDisplayMode != nil {
preferences = append(preferences, model.Preference{
UserId: savedUser.Id,

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

@@ -1155,6 +1155,7 @@ func TestImportImportUser(t *testing.T) {
UseMilitaryTime: ptrStr("true"),
CollapsePreviews: ptrStr("true"),
MessageDisplay: ptrStr("compact"),
ColorizeUsernames: ptrStr("true"),
ChannelDisplayMode: ptrStr("centered"),
TutorialStep: ptrStr("3"),
UseMarkdownPreview: ptrStr("true"),
@@ -1173,6 +1174,7 @@ func TestImportImportUser(t *testing.T) {
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameUseMilitaryTime, *data.UseMilitaryTime)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameCollapseSetting, *data.CollapsePreviews)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameMessageDisplay, *data.MessageDisplay)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameColorizeUsernames, *data.ColorizeUsernames)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameChannelDisplayMode, *data.ChannelDisplayMode)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryAdvancedSettings, "feature_enabled_markdown_preview", *data.UseMarkdownPreview)
@@ -1188,6 +1190,7 @@ func TestImportImportUser(t *testing.T) {
UseMilitaryTime: ptrStr("false"),
CollapsePreviews: ptrStr("false"),
MessageDisplay: ptrStr("clean"),
ColorizeUsernames: ptrStr("false"),
ChannelDisplayMode: ptrStr("full"),
TutorialStep: ptrStr("2"),
EmailInterval: ptrStr("hour"),
@@ -1200,6 +1203,7 @@ func TestImportImportUser(t *testing.T) {
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameUseMilitaryTime, *data.UseMilitaryTime)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameCollapseSetting, *data.CollapsePreviews)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameMessageDisplay, *data.MessageDisplay)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameColorizeUsernames, *data.ColorizeUsernames)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameChannelDisplayMode, *data.ChannelDisplayMode)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep)
checkPreference(t, th.App, user.Id, model.PreferenceCategoryNotifications, model.PreferenceNameEmailInterval, "3600")

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

@@ -64,13 +64,15 @@ type UserImportData struct {
Teams *[]UserTeamImportData `json:"teams,omitempty"`
Theme *string `json:"theme,omitempty"`
UseMilitaryTime *string `json:"military_time,omitempty"`
CollapsePreviews *string `json:"link_previews,omitempty"`
MessageDisplay *string `json:"message_display,omitempty"`
ChannelDisplayMode *string `json:"channel_display_mode,omitempty"`
TutorialStep *string `json:"tutorial_step,omitempty"`
EmailInterval *string `json:"email_interval,omitempty"`
Theme *string `json:"theme,omitempty"`
UseMilitaryTime *string `json:"military_time,omitempty"`
CollapsePreviews *string `json:"link_previews,omitempty"`
MessageDisplay *string `json:"message_display,omitempty"`
CollapseConsecutive *string `json:"collapse_consecutive_messages,omitempty"`
ColorizeUsernames *string `json:"colorize_usernames,omitempty"`
ChannelDisplayMode *string `json:"channel_display_mode,omitempty"`
TutorialStep *string `json:"tutorial_step,omitempty"`
EmailInterval *string `json:"email_interval,omitempty"`
NotifyProps *UserNotifyPropsImportData `json:"notify_props,omitempty"`
}

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

@@ -26,6 +26,8 @@ const (
PreferenceNameChannelDisplayMode = "channel_display_mode"
PreferenceNameCollapseSetting = "collapse_previews"
PreferenceNameMessageDisplay = "message_display"
PreferenceNameCollapseConsecutive = "collapse_consecutive_messages"
PreferenceNameColorizeUsernames = "colorize_usernames"
PreferenceNameNameFormat = "name_format"
PreferenceNameUseMilitaryTime = "use_military_time"
PreferenceRecommendedNextSteps = "recommended_next_steps"