Skip to content

Commit 4bcaf93

Browse files
committed
Add username check and try/catch block
1 parent 46842cd commit 4bcaf93

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

spec/ParseLiveQuery.spec.js

+1
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,7 @@ describe('ParseLiveQuery', function () {
667667
Parse.Cloud.beforeUnsubscribe(TestObject, req => {
668668
expect(req.requestId).toBe(1);
669669
expect(req.user).toBeDefined();
670+
expect(req.user.get('username')).toBe('username');
670671
done();
671672
});
672673

src/LiveQuery/ParseLiveQueryServer.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,15 @@ class ParseLiveQueryServer {
852852
request.useMasterKey = client.hasMasterKey;
853853
request.installationId = client.installationId;
854854

855-
await runTrigger(trigger, `beforeUnsubscribe.${className}`, request, auth);
855+
try {
856+
await runTrigger(trigger, `beforeUnsubscribe.${className}`, request, auth);
857+
} catch (error) {
858+
Client.pushError(parseWebsocket, error.code || 141, error.message || error, false);
859+
logger.error(
860+
`Failed running beforeUnsubscribe for session ${request.sessionToken} with:\n Error: ` +
861+
JSON.stringify(error)
862+
);
863+
}
856864
}
857865

858866
// Remove subscription from client

src/cloud-code/Parse.Cloud.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ ParseCloud.onLiveQueryEvent = function (handler) {
703703
*/
704704
ParseCloud.beforeUnsubscribe = function (parseClass, handler, validationHandler) {
705705
validateValidator(validationHandler);
706-
var className = getClassName(parseClass);
706+
const className = getClassName(parseClass);
707707
triggers.addTrigger(
708708
triggers.Types.beforeUnsubscribe,
709709
className,

0 commit comments

Comments
 (0)