Skip to content

Commit 6872cfe

Browse files
committed
Adds missing count property on beforeFind request object
1 parent e1ed622 commit 6872cfe

File tree

2 files changed

+37
-2
lines changed

2 files changed

+37
-2
lines changed

spec/CloudCode.spec.js

+32
Original file line numberDiff line numberDiff line change
@@ -1470,4 +1470,36 @@ describe('afterFind hooks', () => {
14701470
});
14711471
});
14721472
});
1473+
1474+
it('should report count if passed', (done) => {
1475+
const hook = {
1476+
method: function(req) {
1477+
expect(req.count).toBe(true);
1478+
return Promise.resolve();
1479+
}
1480+
};
1481+
spyOn(hook, 'method').and.callThrough();
1482+
Parse.Cloud.beforeFind('Stuff', hook.method);
1483+
new Parse.Query('Stuff').count().then((count) => {
1484+
expect(count).toBe(0);
1485+
expect(hook.method).toHaveBeenCalled();
1486+
done();
1487+
});
1488+
});
1489+
1490+
it('should report count if passed', (done) => {
1491+
const hook = {
1492+
method: function(req) {
1493+
expect(req.count).toBe(false);
1494+
return Promise.resolve();
1495+
}
1496+
};
1497+
spyOn(hook, 'method').and.callThrough();
1498+
Parse.Cloud.beforeFind('Stuff', hook.method);
1499+
new Parse.Query('Stuff').find().then((res) => {
1500+
expect(res.length).toBe(0);
1501+
expect(hook.method).toHaveBeenCalled();
1502+
done();
1503+
});
1504+
});
14731505
});

src/triggers.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,12 @@ export function getRequestObject(triggerType, auth, parseObject, originalParseOb
155155
return request;
156156
}
157157

158-
export function getRequestQueryObject(triggerType, auth, query, config) {
158+
export function getRequestQueryObject(triggerType, auth, query, count, config) {
159159
var request = {
160160
triggerName: triggerType,
161161
query: query,
162162
master: false,
163+
count: count,
163164
log: config.loggerController
164165
};
165166

@@ -298,6 +299,7 @@ export function maybeRunQueryTrigger(triggerType, className, restWhere, restOpti
298299
if (restWhere) {
299300
parseQuery._where = restWhere;
300301
}
302+
let count = false;
301303
if (restOptions) {
302304
if (restOptions.include && restOptions.include.length > 0) {
303305
parseQuery._include = restOptions.include.split(',');
@@ -308,8 +310,9 @@ export function maybeRunQueryTrigger(triggerType, className, restWhere, restOpti
308310
if (restOptions.limit) {
309311
parseQuery._limit = restOptions.limit;
310312
}
313+
count = !!restOptions.count;
311314
}
312-
const requestObject = getRequestQueryObject(triggerType, auth, parseQuery, config);
315+
const requestObject = getRequestQueryObject(triggerType, auth, parseQuery, count, config);
313316
return Promise.resolve().then(() => {
314317
return trigger(requestObject);
315318
}).then((result) => {

0 commit comments

Comments
 (0)