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, type: Schema.Types.Mixed,
default: () => ({}), default: () => ({}),
}, },
sortSidebarVisibility: {
type: Schema.Types.Mixed,
default: () => ({}),
},
columnVisibility: { type: Schema.Types.Mixed, default: () => ({}) }, columnVisibility: { type: Schema.Types.Mixed, default: () => ({}) },
collapseState: { 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 = [ const SETTINGS_CATEGORIES = [
'viewMode', 'viewMode',
'filterSidebarVisibility', 'filterSidebarVisibility',
'sortSidebarVisibility',
'columnVisibility', 'columnVisibility',
'collapseState' 'collapseState'
]; ];
@ -10,6 +11,7 @@ const SETTINGS_CATEGORIES = [
const createEmptySettings = () => ({ const createEmptySettings = () => ({
viewMode: {}, viewMode: {},
filterSidebarVisibility: {}, filterSidebarVisibility: {},
sortSidebarVisibility: {},
columnVisibility: {}, columnVisibility: {},
collapseState: {} collapseState: {}
}); });
@ -22,6 +24,7 @@ const normalizeCategory = category =>
const normalizeSettings = (defaults = {}) => ({ const normalizeSettings = (defaults = {}) => ({
viewMode: normalizeCategory(defaults?.viewMode), viewMode: normalizeCategory(defaults?.viewMode),
filterSidebarVisibility: normalizeCategory(defaults?.filterSidebarVisibility), filterSidebarVisibility: normalizeCategory(defaults?.filterSidebarVisibility),
sortSidebarVisibility: normalizeCategory(defaults?.sortSidebarVisibility),
columnVisibility: normalizeCategory(defaults?.columnVisibility), columnVisibility: normalizeCategory(defaults?.columnVisibility),
collapseState: normalizeCategory(defaults?.collapseState) collapseState: normalizeCategory(defaults?.collapseState)
}); });