Skip to content

Commit 927ca63

Browse files
committed
Add username check and try/catch block
1 parent 157f452 commit 927ca63

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
@@ -820,6 +820,7 @@ describe('ParseLiveQuery', function () {
820820
Parse.Cloud.beforeUnsubscribe(TestObject, req => {
821821
expect(req.requestId).toBe(1);
822822
expect(req.user).toBeDefined();
823+
expect(req.user.get('username')).toBe('username');
823824
done();
824825
});
825826

src/LiveQuery/ParseLiveQueryServer.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -1013,7 +1013,15 @@ class ParseLiveQueryServer {
10131013
request.useMasterKey = client.hasMasterKey;
10141014
request.installationId = client.installationId;
10151015

1016-
await runTrigger(trigger, `beforeUnsubscribe.${className}`, request, auth);
1016+
try {
1017+
await runTrigger(trigger, `beforeUnsubscribe.${className}`, request, auth);
1018+
} catch (error) {
1019+
Client.pushError(parseWebsocket, error.code || 141, error.message || error, false);
1020+
logger.error(
1021+
`Failed running beforeUnsubscribe for session ${request.sessionToken} with:\n Error: ` +
1022+
JSON.stringify(error)
1023+
);
1024+
}
10171025
}
10181026

10191027
// Remove subscription from client

src/cloud-code/Parse.Cloud.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,7 @@ ParseCloud.onLiveQueryEvent = function (handler) {
755755
*/
756756
ParseCloud.beforeUnsubscribe = function (parseClass, handler, validationHandler) {
757757
validateValidator(validationHandler);
758-
var className = getClassName(parseClass);
758+
const className = getClassName(parseClass);
759759
triggers.addTrigger(
760760
triggers.Types.beforeUnsubscribe,
761761
className,

0 commit comments

Comments
 (0)