Skip to content

Commit 2a06020

Browse files
committed
All input json api data are validated before proceeding
1 parent f831dd7 commit 2a06020

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lib/hook.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ var BlueprintController = {
1515
, populate: require('./api/blueprints/populate')
1616
};
1717
var JsonApiService = require('./api/services/JsonApiService');
18+
var jsonApiValidator = require('./context-aware-jsonapi-validator/validator');
1819
var responseOk = require('./api/responses/ok');
1920
var responseCreated = require('./api/responses/created');
2021
var responseNotFound = require('./api/responses/notFound');
@@ -137,9 +138,12 @@ module.exports = function(sails) {
137138
if (strncmp(controller[name]._middlewareType, "BLUEPRINT: ", "BLUEPRINT: ".length) === true) {
138139
controller[name] = function(req, res) {
139140

140-
if (req.method !== 'GET' && req.method !== 'DELETE' &&
141-
JsonApiService.validate(req.body) === false) {
142-
return res.invalidJsonApi();
141+
if (req.method === 'POST' || req.method === 'PATCH') {
142+
143+
var context = (req.method === 'POST') ? jsonApiValidator.CONTEXT_CREATE : jsonApiValidator.CONTEXT_UPDATE;
144+
145+
if (JsonApiService.validate(req.body, context) === false)
146+
return res.invalidJsonApi();
143147
}
144148

145149
req.body = JsonApiService.deserialize(req.body);

0 commit comments

Comments
 (0)