Skip to content

Commit

Permalink
feat: include sessionToken in onLiveQueryEvent (#7043)
Browse files Browse the repository at this point in the history
* feat: include user in onLiveQueryEvent

* Update ParseLiveQuery.spec.js

* increase coverage

* add space

* Update ParseLiveQuery.spec.js

* remove user from runLiveQueryEventHandlers
  • Loading branch information
dblythy authored Dec 4, 2020
1 parent 094e089 commit b13a6a4
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 7 deletions.
29 changes: 28 additions & 1 deletion spec/ParseLiveQuery.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,33 @@ const validatorFail = () => {
};

describe('ParseLiveQuery', function () {
it('access user on onLiveQueryEvent disconnect', async done => {
await reconfigureServer({
liveQuery: {
classNames: ['TestObject'],
},
startLiveQueryServer: true,
verbose: false,
silent: true,
});
const requestedUser = new Parse.User();
requestedUser.setUsername('username');
requestedUser.setPassword('password');
Parse.Cloud.onLiveQueryEvent(req => {
const { event, sessionToken } = req;
if (event === 'ws_disconnect') {
expect(sessionToken).toBeDefined();
expect(sessionToken).toBe(requestedUser.getSessionToken());
done();
}
});
await requestedUser.signUp();
const query = new Parse.Query(TestObject);
await query.subscribe();
const client = await Parse.CoreManager.getLiveQueryController().getDefaultLiveQueryClient();
client.close();
});

it('can subscribe to query', async done => {
await reconfigureServer({
liveQuery: {
Expand All @@ -28,6 +55,7 @@ describe('ParseLiveQuery', function () {
object.set({ foo: 'bar' });
await object.save();
});

it('expect afterEvent create', async done => {
await reconfigureServer({
liveQuery: {
Expand Down Expand Up @@ -542,7 +570,6 @@ describe('ParseLiveQuery', function () {
expect(req.useMasterKey).toBe(false);
expect(req.installationId).toBeDefined();
expect(req.user).toBeUndefined();
expect(req.sessionToken).toBeUndefined();
expect(req.client).toBeDefined();
});
const query = new Parse.Query(TestObject);
Expand Down
1 change: 1 addition & 0 deletions src/LiveQuery/ParseLiveQueryServer.js
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,7 @@ class ParseLiveQueryServer {
subscriptions: this.subscriptions.size,
useMasterKey: client.hasMasterKey,
installationId: client.installationId,
sessionToken: client.sessionToken,
});
});

Expand Down
8 changes: 2 additions & 6 deletions src/triggers.js
Original file line number Diff line number Diff line change
Expand Up @@ -968,14 +968,10 @@ async function userForSessionToken(sessionToken) {
}
const q = new Parse.Query('_Session');
q.equalTo('sessionToken', sessionToken);
q.include('user');
const session = await q.first({ useMasterKey: true });
if (!session) {
return;
}
const user = session.get('user');
if (!user) {
return;
}
await user.fetch({ useMasterKey: true });
return user;
return session.get('user');
}

0 comments on commit b13a6a4

Please sign in to comment.