mirror of
https://github.com/dap-ps/discover.git
synced 2025-02-08 07:25:07 +00:00
30 lines
846 B
JavaScript
30 lines
846 B
JavaScript
class ResponseCutSensitivesMiddleware {
|
|
|
|
static cutSensitives(req, res, next) {
|
|
res.jsonCutSensitives = function (response, sensitives) {
|
|
if (response instanceof Array) {
|
|
for (let i = 0; i < response.length; i++) {
|
|
response[i] = cutProperties(response[i], sensitives);
|
|
}
|
|
} else {
|
|
response = cutProperties(response, sensitives);
|
|
}
|
|
|
|
res.json(response);
|
|
}
|
|
|
|
next();
|
|
}
|
|
}
|
|
|
|
const cutProperties = function (objectToCut, sensitiveProps) {
|
|
let copiedResponse = JSON.parse(JSON.stringify(objectToCut));
|
|
for (const sensitiveProp of sensitiveProps) {
|
|
copiedResponse[sensitiveProp] = undefined;
|
|
}
|
|
|
|
return copiedResponse;
|
|
}
|
|
|
|
module.exports = ResponseCutSensitivesMiddleware.cutSensitives;
|