From 0dd2bce5d186af8bad8fb376f4511c583b8d9702 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 27 Mar 2026 10:43:44 +0100 Subject: [PATCH] fix(settings): streamline settings type creation in settingsService and initialization - Refactored settingsService to use findOrCreate for settings type, improving efficiency and error handling. - Added initialization for 'account' settings type in initializeSettings, ensuring all necessary settings are created during setup. --- backend/services/settingsService.js | 8 +++----- backend/utils/initializeSettings.js | 6 +++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/backend/services/settingsService.js b/backend/services/settingsService.js index f0a0fe0..b9a271b 100644 --- a/backend/services/settingsService.js +++ b/backend/services/settingsService.js @@ -42,12 +42,10 @@ class SettingsService extends BaseService{ return null; } - const settingsType = await SettingsType.findOne({ - where: { name: definition.setting } + const [settingsType] = await SettingsType.findOrCreate({ + where: { name: definition.setting }, + defaults: { name: definition.setting } }); - if (!settingsType) { - throw new Error(`Missing settings type: ${definition.setting}`); - } const [paramType] = await UserParamType.findOrCreate({ where: { description }, diff --git a/backend/utils/initializeSettings.js b/backend/utils/initializeSettings.js index e28d15e..8d77a60 100644 --- a/backend/utils/initializeSettings.js +++ b/backend/utils/initializeSettings.js @@ -17,10 +17,14 @@ const initializeSettings = async () => { where: { name: 'flirt' }, defaults: { name: 'flirt' } }); + await SettingsType.findOrCreate({ + where: { name: 'account' }, + defaults: { name: 'account' } + }); await SettingsType.findOrCreate({ where: { name: 'languageAssistant' }, defaults: { name: 'languageAssistant' } }); }; -export default initializeSettings; \ No newline at end of file +export default initializeSettings;