From 5e478f2eaa9e9aafe1beb75b41c5c329ec156d98 Mon Sep 17 00:00:00 2001 From: adrinr Date: Wed, 29 Mar 2023 09:27:52 +0100 Subject: [PATCH 1/2] Fix setting scim config --- .../src/pages/builder/portal/settings/auth/scim.svelte | 4 +++- packages/worker/src/api/routes/global/configs.ts | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte b/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte index ff2654abf1..dc2d61aa47 100644 --- a/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte +++ b/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte @@ -24,7 +24,9 @@ try { await API.saveConfig({ type: configType, - enabled: scimEnabled, + config: { + enabled: scimEnabled, + }, }) notifications.success(`Settings saved`) } catch (e) { diff --git a/packages/worker/src/api/routes/global/configs.ts b/packages/worker/src/api/routes/global/configs.ts index 88c6bfbe7d..fcab2b58e0 100644 --- a/packages/worker/src/api/routes/global/configs.ts +++ b/packages/worker/src/api/routes/global/configs.ts @@ -58,6 +58,13 @@ function oidcValidation() { }).unknown(true) } +function scimValidation() { + // prettier-ignore + return Joi.object({ + enabled: Joi.boolean().required(), + }).unknown(true) +} + function buildConfigSaveValidation() { // prettier-ignore return auth.joiValidator.body(Joi.object({ @@ -74,7 +81,8 @@ function buildConfigSaveValidation() { { is: ConfigType.SETTINGS, then: settingValidation() }, { is: ConfigType.ACCOUNT, then: Joi.object().unknown(true) }, { is: ConfigType.GOOGLE, then: googleValidation() }, - { is: ConfigType.OIDC, then: oidcValidation() } + { is: ConfigType.OIDC, then: oidcValidation() }, + { is: ConfigType.SCIM, then: scimValidation() } ], }), }).required().unknown(true), From 204b6d2950f17600161958a2269ddddf84e6d610 Mon Sep 17 00:00:00 2001 From: adrinr Date: Wed, 29 Mar 2023 09:31:07 +0100 Subject: [PATCH 2/2] Fix config type --- .../builder/src/pages/builder/portal/settings/auth/scim.svelte | 2 +- packages/builder/src/stores/portal/features.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte b/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte index dc2d61aa47..a0b114b79a 100644 --- a/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte +++ b/packages/builder/src/pages/builder/portal/settings/auth/scim.svelte @@ -38,7 +38,7 @@ async function fetchConfig() { try { const scimConfig = await API.getConfig(configType) - scimEnabled = scimConfig?.enabled + scimEnabled = scimConfig?.config?.enabled } catch (error) { console.error(error) notifications.error("Error fetching SCIM config") diff --git a/packages/builder/src/stores/portal/features.js b/packages/builder/src/stores/portal/features.js index 977453e6e6..4334fda3c4 100644 --- a/packages/builder/src/stores/portal/features.js +++ b/packages/builder/src/stores/portal/features.js @@ -39,7 +39,7 @@ export const createFeatureStore = () => { ...state, scim: { ...state.scim, - isConfigFlagEnabled: scimConfig.enabled, + isConfigFlagEnabled: scimConfig?.config?.enabled, }, })) },