From 7b4bedeee4a472ec4f1ff1bbfa2f07d00daeaddf Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sun, 9 Aug 2026 20:55:04 +0100 Subject: [PATCH] Add sortSidebarVisibility to user settings schema and manager - Introduced a new field `sortSidebarVisibility` in the user settings schema to manage sidebar visibility preferences. - Updated the user settings manager to include `sortSidebarVisibility` in the settings categories and default settings structure, ensuring proper normalization and handling of this new setting. --- src/database/schemas/misc/usersettings.schema.js | 4 ++++ src/usersettings/usersettingsmanager.js | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/database/schemas/misc/usersettings.schema.js b/src/database/schemas/misc/usersettings.schema.js index 44d8c07..8a5faa5 100644 --- a/src/database/schemas/misc/usersettings.schema.js +++ b/src/database/schemas/misc/usersettings.schema.js @@ -16,6 +16,10 @@ const userSettingsSchema = new mongoose.Schema({ type: Schema.Types.Mixed, default: () => ({}), }, + sortSidebarVisibility: { + type: Schema.Types.Mixed, + default: () => ({}), + }, columnVisibility: { type: Schema.Types.Mixed, default: () => ({}) }, collapseState: { type: Schema.Types.Mixed, default: () => ({}) }, }, diff --git a/src/usersettings/usersettingsmanager.js b/src/usersettings/usersettingsmanager.js index 235627b..7354155 100644 --- a/src/usersettings/usersettingsmanager.js +++ b/src/usersettings/usersettingsmanager.js @@ -3,6 +3,7 @@ import { userSettingsModel } from '../database/schemas/misc/usersettings.schema. const SETTINGS_CATEGORIES = [ 'viewMode', 'filterSidebarVisibility', + 'sortSidebarVisibility', 'columnVisibility', 'collapseState' ]; @@ -10,6 +11,7 @@ const SETTINGS_CATEGORIES = [ const createEmptySettings = () => ({ viewMode: {}, filterSidebarVisibility: {}, + sortSidebarVisibility: {}, columnVisibility: {}, collapseState: {} }); @@ -22,6 +24,7 @@ const normalizeCategory = category => const normalizeSettings = (defaults = {}) => ({ viewMode: normalizeCategory(defaults?.viewMode), filterSidebarVisibility: normalizeCategory(defaults?.filterSidebarVisibility), + sortSidebarVisibility: normalizeCategory(defaults?.sortSidebarVisibility), columnVisibility: normalizeCategory(defaults?.columnVisibility), collapseState: normalizeCategory(defaults?.collapseState) });