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[]; };