From 805b09673acb1cec2aa176907db346bb52f446bb Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 21 May 2021 15:23:39 +0100 Subject: [PATCH] Change update self method to automatically merge new fields with existing user object --- .../src/components/settings/ChangePasswordModal.svelte | 2 +- .../src/components/settings/UpdateUserInfoModal.svelte | 2 +- packages/builder/src/pages/builder/auth/reset.svelte | 1 - packages/builder/src/stores/portal/auth.js | 7 ++++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/builder/src/components/settings/ChangePasswordModal.svelte b/packages/builder/src/components/settings/ChangePasswordModal.svelte index d78c4c7ef..358e23809 100644 --- a/packages/builder/src/components/settings/ChangePasswordModal.svelte +++ b/packages/builder/src/components/settings/ChangePasswordModal.svelte @@ -8,7 +8,7 @@ const updatePassword = async () => { try { - await auth.updateSelf({ ...$auth.user, password }) + await auth.updateSelf({ password }) notifications.success("Password changed successfully") } catch (error) { notifications.error("Failed to update password") diff --git a/packages/builder/src/components/settings/UpdateUserInfoModal.svelte b/packages/builder/src/components/settings/UpdateUserInfoModal.svelte index 61446f0c0..96e2aa374 100644 --- a/packages/builder/src/components/settings/UpdateUserInfoModal.svelte +++ b/packages/builder/src/components/settings/UpdateUserInfoModal.svelte @@ -10,7 +10,7 @@ const updateInfo = async () => { try { - await auth.updateSelf({ ...$auth.user, ...$values }) + await auth.updateSelf($values) notifications.success("Information updated successfully") } catch (error) { notifications.error("Failed to update information") diff --git a/packages/builder/src/pages/builder/auth/reset.svelte b/packages/builder/src/pages/builder/auth/reset.svelte index da7e2a707..2287ee5ca 100644 --- a/packages/builder/src/pages/builder/auth/reset.svelte +++ b/packages/builder/src/pages/builder/auth/reset.svelte @@ -13,7 +13,6 @@ try { if (forceResetPassword) { await auth.updateSelf({ - ...$auth.user, password, forceResetPassword: false, }) diff --git a/packages/builder/src/stores/portal/auth.js b/packages/builder/src/stores/portal/auth.js index b6f7413a1..517aad9fc 100644 --- a/packages/builder/src/stores/portal/auth.js +++ b/packages/builder/src/stores/portal/auth.js @@ -1,4 +1,4 @@ -import { derived, writable } from "svelte/store" +import { derived, writable, get } from "svelte/store" import api from "../../builderStore/api" export function createAuthStore() { @@ -50,10 +50,11 @@ export function createAuthStore() { await response.json() user.set(null) }, - updateSelf: async newUser => { + updateSelf: async fields => { + const newUser = { ...get(user), ...fields } const response = await api.post("/api/admin/users/self", newUser) if (response.status === 200) { - user.update(state => ({ ...state, ...newUser })) + user.set(newUser) } else { throw "Unable to update user details" }