Skip to content

Commit f8f91f1

Browse files
committed
Fixes
1 parent 6f31111 commit f8f91f1

File tree

6 files changed

+22
-6
lines changed

6 files changed

+22
-6
lines changed

api/jobs/ping.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class PingJob extends job.Job {
5151

5252
if (days > 0) {
5353
//calculate seconds timestamp of days before today
54-
var startTs = Math.round((new Date().getTime() - (30 * 24 * 60 * 60 * 1000)) / 1000);
54+
var startTs = Math.round((new Date().getTime() - (days * 24 * 60 * 60 * 1000)) / 1000);
5555

5656
//sync server events - use aggregation pipeline to group by day and action on MongoDB side
5757
var aggregationPipeline = [

api/parts/mgmt/users.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -861,6 +861,9 @@ usersApi.checkNoteEditPermission = async function(params) {
861861
if (error) {
862862
return reject(false);
863863
}
864+
if (!note) {
865+
return resolve(false);
866+
}
864867
const globalAdmin = params.member.global_admin;
865868
const isAppAdmin = hasAdminAccess(params.member, params.qstring.app_id);
866869
const noteOwner = (note.owner + '' === params.member._id + '');

api/utils/common.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,7 @@ common.validateArgs = function(args, argProperties, returnErrors) {
10711071
}
10721072

10731073
if (argProperties[arg]['max-length']) {
1074-
if (args[arg].length > argProperties[arg]['max-length']) {
1074+
if (args[arg] && args[arg].length > argProperties[arg]['max-length']) {
10751075
if (returnErrors) {
10761076
returnObj.errors.push("Length of " + arg + " is greater than max length value");
10771077
returnObj.result = false;
@@ -1084,7 +1084,7 @@ common.validateArgs = function(args, argProperties, returnErrors) {
10841084
}
10851085

10861086
if (argProperties[arg]['min-length']) {
1087-
if (args[arg].length < argProperties[arg]['min-length']) {
1087+
if (args[arg] && args[arg].length < argProperties[arg]['min-length']) {
10881088
if (returnErrors) {
10891089
returnObj.errors.push("Length of " + arg + " is lower than min length value");
10901090
returnObj.result = false;

plugins/alerts/api/api.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@ const PERIOD_TO_TEXT_EXPRESSION_MAPPER = {
193193

194194
validateCreate(params, FEATURE_NAME, function() {
195195
let alertConfig = params.qstring.alert_config;
196+
if (!alertConfig) {
197+
common.returnMessage(params, 400, 'Missing alert_config');
198+
return;
199+
}
196200
try {
197201
alertConfig = JSON.parse(alertConfig);
198202
var checkProps = {

plugins/compliance-hub/api/api.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ const FEATURE_NAME = 'compliance_hub';
136136
case 'current': {
137137
if (!params.qstring.app_id) {
138138
common.returnMessage(params, 400, 'Missing parameter "app_id"');
139-
return false;
139+
return true;
140140
}
141141
validateRead(params, FEATURE_NAME, function() {
142142
var query = params.qstring.query || {};
@@ -157,7 +157,7 @@ const FEATURE_NAME = 'compliance_hub';
157157
case 'search': {
158158
if (!params.qstring.app_id) {
159159
common.returnMessage(params, 400, 'Missing parameter "app_id"');
160-
return false;
160+
return true;
161161
}
162162
validateRead(params, FEATURE_NAME, function() {
163163
var query = params.qstring.query || {};
@@ -279,7 +279,7 @@ const FEATURE_NAME = 'compliance_hub';
279279
case 'consents': {
280280
if (!params.qstring.app_id) {
281281
common.returnMessage(params, 400, 'Missing parameter "app_id"');
282-
return false;
282+
return true;
283283
}
284284
validateRead(params, FEATURE_NAME, function() {
285285
appUsers.count(params.qstring.app_id, {}, function(err, total) {

plugins/reports/api/api.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ const FEATURE_NAME = 'reports';
9494
}
9595
catch (SyntaxError) {
9696
console.log('Parse ' + paramsInstance.qstring.args + ' JSON failed');
97+
common.returnMessage(paramsInstance, 400, 'Invalid JSON in args');
98+
return true;
9799
}
98100
}
99101

@@ -218,6 +220,8 @@ const FEATURE_NAME = 'reports';
218220
}
219221
catch (SyntaxError) {
220222
console.log('Parse ' + paramsInstance.qstring.args + ' JSON failed');
223+
common.returnMessage(paramsInstance, 400, 'Invalid JSON in args');
224+
return true;
221225
}
222226
}
223227
const recordUpdateOrDeleteQuery = function(params, recordID) {
@@ -256,6 +260,11 @@ const FEATURE_NAME = 'reports';
256260

257261
// TODO: handle report type check
258262

263+
if (!props.apps || !Array.isArray(props.apps) || props.apps.length === 0) {
264+
common.returnMessage(params, 400, 'Invalid or missing apps');
265+
return;
266+
}
267+
259268
let userApps = getUserApps(params.member);
260269
let notPermitted = false;
261270
for (var i = 0; i < props.apps.length; i++) {

0 commit comments

Comments
 (0)