From 82bdb327d238e5c3baafcea09b4e082386c8c46a Mon Sep 17 00:00:00 2001 From: Hannu Lyytikainen Date: Thu, 5 Apr 2018 11:00:06 +0300 Subject: [PATCH] Fix profile image in contact details update Add profile image include param to update email and phone number requests. --- .../ContactDetailsPage.duck.js | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/containers/ContactDetailsPage/ContactDetailsPage.duck.js b/src/containers/ContactDetailsPage/ContactDetailsPage.duck.js index acc35090..68551103 100644 --- a/src/containers/ContactDetailsPage/ContactDetailsPage.duck.js +++ b/src/containers/ContactDetailsPage/ContactDetailsPage.duck.js @@ -1,4 +1,5 @@ import merge from 'lodash/merge'; +import { denormalisedResponseEntities } from '../../util/data'; import { storableError } from '../../util/errors'; import { currentUserShowSuccess } from '../../ducks/user.duck'; @@ -77,10 +78,15 @@ const requestSavePhoneNumber = params => (dispatch, getState, sdk) => { const phoneNumber = params.phoneNumber; return sdk.currentUser - .updateProfile({ protectedData: { phoneNumber } }, { expand: true }) + .updateProfile({ protectedData: { phoneNumber } }, { expand: true, include: ['profileImage'] }) .then(response => { - // return user - return response.data.data; + const entities = denormalisedResponseEntities(response); + if (entities.length !== 1) { + throw new Error('Expected a resource in the sdk.currentUser.updateProfile response'); + } + + const currentUser = entities[0]; + return currentUser; }) .catch(e => { dispatch(savePhoneNumberError(storableError(e))); @@ -97,10 +103,15 @@ const requestSaveEmail = params => (dispatch, getState, sdk) => { const { email, currentPassword } = params; return sdk.currentUser - .changeEmail({ email, currentPassword }, { expand: true }) + .changeEmail({ email, currentPassword }, { expand: true, include: ['profileImage'] }) .then(response => { - // return user - return response.data.data; + const entities = denormalisedResponseEntities(response); + if (entities.length !== 1) { + throw new Error('Expected a resource in the sdk.currentUser.changeEmail response'); + } + + const currentUser = entities[0]; + return currentUser; }) .catch(e => { dispatch(saveEmailError(storableError(e)));