Skip to content
Snippets Groups Projects

fix(backend): sanitize group description

Merged Hannes Heine requested to merge sanetize-group-description into master
1 unresolved thread
2 files
+ 16
7
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -2,24 +2,26 @@
* iterate through all fields and replace it with the callback result
* @property data Array
* @property fields Array
* @property fieldName String
* @property callback Function
*/
function walkRecursive(data, fields, callback, _key) {
function walkRecursive(data, fields, fieldName, callback, _key) {
if (!Array.isArray(fields)) {
throw new Error('please provide an fields array for the walkRecursive helper')
}
if (data && typeof data === 'string' && fields.includes(_key)) {
// well we found what we searched for, lets replace the value with our callback result
data = callback(data, _key)
const key = _key.split('!')
if (key.length === 1 || key[1] !== fieldName) data = callback(data, key[0])
Please register or sign in to reply
} else if (data && Array.isArray(data)) {
// go into the rabbit hole and dig through that array
data.forEach((res, index) => {
data[index] = walkRecursive(data[index], fields, callback, index)
data[index] = walkRecursive(data[index], fields, fieldName, callback, index)
})
} else if (data && typeof data === 'object') {
// lets get some keys and stir them
Object.keys(data).forEach((k) => {
data[k] = walkRecursive(data[k], fields, callback, k)
data[k] = walkRecursive(data[k], fields, fieldName, callback, k)
})
}
return data
Loading