49 lines
1.6 KiB
JavaScript
49 lines
1.6 KiB
JavaScript
//Help file with needed validators for API calls
|
|
|
|
const { body, validationResult } = require('express-validator')
|
|
|
|
//Validation rules function for call of adding user to group
|
|
const addUserValidationRules = () => {
|
|
return [
|
|
//Groupname min character length is 3 and no special characters in name
|
|
body('reqgroup').isAlphanumeric().isLength({min:3}),
|
|
//Username min character length is 3 and no special characters in name
|
|
body('requser').isAlphanumeric().isLength({min:3})
|
|
|
|
]
|
|
}
|
|
//Validation rules function for call of adding permission to a user or group
|
|
const addPermissionValidationRules = () => {
|
|
return [
|
|
//Group or user name min character length is 3 and no special characters in name
|
|
body('reqowner').isAlphanumeric().isLength({min:3}),
|
|
//Object name min character length is 3
|
|
body('reqobjname').isLength({min:3}),
|
|
//Permission type min character length is 3 and no special characters
|
|
body('reqtype').isAlphanumeric().isLength({min:3}),
|
|
//Owner type can be user or group
|
|
body('reqownertype').custom((value, {req, loc, pah}) => {
|
|
if (value.toLowerCase()==='group' || value.toLowerCase()==='user') {
|
|
return value;
|
|
}
|
|
else {
|
|
return false;
|
|
}
|
|
})
|
|
|
|
]
|
|
}
|
|
//Function to perform validation
|
|
const validate = (req, res, next) => {
|
|
const errors = validationResult(req)
|
|
if (errors.isEmpty()) {
|
|
return next();
|
|
}
|
|
return res.status(422).json('Error! Incorrect input data!');
|
|
}
|
|
|
|
module.exports = {
|
|
addUserValidationRules,
|
|
addPermissionValidationRules,
|
|
validate,
|
|
} |