From c416587599563d6bc73efae263329948d07fa441 Mon Sep 17 00:00:00 2001 From: bitheadCody Date: Tue, 13 Aug 2024 16:08:13 -0400 Subject: [PATCH] added updateIncomingEventDataIfExists --- src/brainCloudClient-events.js | 25 +++++++++++++++++++++++++ test/test.js | 24 ++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/src/brainCloudClient-events.js b/src/brainCloudClient-events.js index f0dbfa6..3b2ed1f 100644 --- a/src/brainCloudClient-events.js +++ b/src/brainCloudClient-events.js @@ -8,6 +8,7 @@ function BCEvents() { bc.event.OPERATION_SEND = "SEND"; bc.event.OPERATION_UPDATE_EVENT_DATA = "UPDATE_EVENT_DATA"; + bc.event.OPERATION_UPDATE_EVENT_DATA_IF_EXISTS = "UPDATE_EVENT_DATA_IF_EXISTS"; bc.event.OPERATION_DELETE_INCOMING = "DELETE_INCOMING"; bc.event.OPERATION_DELETE_SENT = "DELETE_SENT"; bc.event.OPERATION_GET_EVENTS = "GET_EVENTS"; @@ -73,6 +74,30 @@ function BCEvents() { }); }; + /** + * Updates an event in the player's incoming event mailbox. + * Identical to updateIncomingEventData method, but will not return an error if the event does not exist + * + * Service Name - Event + * Service Operation - UpdateEventData + * + * @param evId The event id + * @param eventData The user-defined data for this event encoded in JSON. + * @param callback The method to be invoked when the server response is received + */ + bc.event.updateIncomingEventDataIfExists = function(evId, eventData, callback) { + var message = { + evId: evId, + eventData: eventData + }; + bc.brainCloudManager.sendRequest({ + service: bc.SERVICE_EVENT, + operation: bc.event.OPERATION_UPDATE_EVENT_DATA_IF_EXISTS, + data: message, + callback: callback + }); + }; + /** * Delete an event out of the user's incoming mailbox. * diff --git a/test/test.js b/test/test.js index 52a77cc..ac525da 100644 --- a/test/test.js +++ b/test/test.js @@ -1489,6 +1489,19 @@ async function testEvent() { var eventId; + await setUpWithAuthenticate(); + await asyncTest("updateIncomingEventDataIfExistsFalse()", function() { + var nonExistentEventId = "999999999999999999999999" + + bc.event.updateIncomingEventDataIfExists( + nonExistentEventId, + {eventDataKey : 118 }, + function(result) { + equal(result.status, 200, JSON.stringify(result)); + resolve_test(); + }); + }); + await setUpWithAuthenticate(); await asyncTest("sendEvent()", 2, function() { var sendEventSemi = 0; @@ -1526,6 +1539,17 @@ async function testEvent() { }); }); + await setUpWithAuthenticate(); + await asyncTest("updateIncomingEventDataIfExistsTrue()", function() { + bc.event.updateIncomingEventDataIfExists( + eventId, + {eventDataKey : 118 }, + function(result) { + equal(result.status, 200, JSON.stringify(result)); + resolve_test(); + }); + }); + await setUpWithAuthenticate(); await asyncTest("deleteIncomingEvent()", function() { bc.event.deleteIncomingEvent(