Add sortSidebarVisibility to user settings schema and manager
All checks were successful
farmcontrol/farmcontrol-ws/pipeline/head This commit looks good

- 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.
This commit is contained in:
Tom Butcher 2026-08-09 20:55:04 +01:00
parent 943e5ff4c6
commit 7b4bedeee4
2 changed files with 7 additions and 0 deletions

View File

@ -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: () => ({}) },
},

View File

@ -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)
});