From ace9256d263e08f00652d0b47b880f3fd18d9f69 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Thu, 7 Jul 2022 11:24:43 +0200 Subject: [PATCH] MOBILE-4031 user: Fix error updating preference in offline --- src/core/features/user/services/database/user.ts | 2 +- src/core/features/user/services/user-offline.ts | 11 ++--------- src/core/features/user/services/user.ts | 2 +- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/core/features/user/services/database/user.ts b/src/core/features/user/services/database/user.ts index 7fc2e7a1c..147351ef3 100644 --- a/src/core/features/user/services/database/user.ts +++ b/src/core/features/user/services/database/user.ts @@ -86,5 +86,5 @@ export type CoreUserDBRecord = CoreUserBasicData; export type CoreUserPreferenceDBRecord = { name: string; value: string; - onlinevalue: string; + onlinevalue: string | null; }; diff --git a/src/core/features/user/services/user-offline.ts b/src/core/features/user/services/user-offline.ts index 1eafad1c1..424d08a55 100644 --- a/src/core/features/user/services/user-offline.ts +++ b/src/core/features/user/services/user-offline.ts @@ -58,19 +58,12 @@ export class CoreUserOfflineProvider { * @param siteId Site ID. If not defined, current site. * @return Promise resolved when done. */ - async setPreference(name: string, value: string, onlineValue?: string, siteId?: string): Promise { + async setPreference(name: string, value: string, onlineValue?: string | null , siteId?: string): Promise { const site = await CoreSites.getSite(siteId); - if (onlineValue === undefined) { - const preference = await this.getPreference(name, site.id); - - onlineValue = preference.onlinevalue; - } - - const record: CoreUserPreferenceDBRecord = { + const record: Partial = { name, value, - onlinevalue: onlineValue, }; await site.getDb().insertRecord(PREFERENCES_TABLE_NAME, record); diff --git a/src/core/features/user/services/user.ts b/src/core/features/user/services/user.ts index 44913b195..0be9e9a8a 100644 --- a/src/core/features/user/services/user.ts +++ b/src/core/features/user/services/user.ts @@ -1106,7 +1106,7 @@ type CoreUserGetUserPreferencesWSParams = { type CoreUserGetUserPreferencesWSResponse = { preferences: { // User custom fields (also known as user profile fields). name: string; // The name of the preference. - value: string; // The value of the preference. + value: string | null; // The value of the preference. }[]; warnings?: CoreWSExternalWarning[]; };