MOBILE-3320 messages: Fix error handling when sending request

main
Dani Palou 2021-06-03 13:56:34 +02:00
parent 7243f48fc5
commit 34b2a1f565
1 changed files with 22 additions and 1 deletions

View File

@ -31,6 +31,7 @@ import { CoreWSExternalWarning } from '@services/ws';
import { makeSingleton } from '@singletons';
import { CoreError } from '@classes/errors/error';
import { AddonMessagesSyncEvents, AddonMessagesSyncProvider } from './messages-sync';
import { CoreWSError } from '@classes/errors/wserror';
const ROOT_CACHE_KEY = 'mmaMessages:';
@ -191,7 +192,14 @@ export class AddonMessagesProvider {
requesteduserid: userId,
};
await site.write('core_message_create_contact_request', params);
const result = await site.write<AddonMessagesCreateContactRequestWSResponse>(
'core_message_create_contact_request',
params,
);
if (result.warnings?.length) {
throw new CoreWSError(result.warnings[0]);
}
}
await this.invalidateAllMemberInfo(userId, site).finally(() => {
@ -3483,6 +3491,19 @@ type AddonMessagesConfirmContactRequestWSParams = {
*/
type AddonMessagesCreateContactRequestWSParams = AddonMessagesConfirmContactRequestWSParams;
/**
* Data returned by core_message_create_contact_request WS.
*/
export type AddonMessagesCreateContactRequestWSResponse = {
request?: {
id: number; // Message id.
userid: number; // User from id.
requesteduserid: number; // User to id.
timecreated: number; // Time created.
}; // Request record.
warnings?: CoreWSExternalWarning[];
};
/**
* Params of core_message_decline_contact_request WS.
*/