ncutixavier/find-home

View on GitHub
src/validation/houseValidation.js

Summary

Maintainability
A
0 mins
Test Coverage
import Joi from 'joi';
 
Function `houseValidate` has 36 lines of code (exceeds 25 allowed). Consider refactoring.
exports.houseValidate = (req, res, next) => {
const houseValidation = Joi.object({
Similar blocks of code found in 6 locations. Consider refactoring.
image: Joi.string().required().messages({
"any.required": res.__('image is required'),
"string.empty": res.__('image not empty')
}),
Similar blocks of code found in 6 locations. Consider refactoring.
location: Joi.string().required().messages({
"any.required": res.__('location is required'),
"string.empty": res.__('location not empty')
}),
 
Similar blocks of code found in 3 locations. Consider refactoring.
bedrooms: Joi.number().min(1).required().messages({
"any.required": res.__('bedrooms should be required'),
"number.empty": res.__('bedrooms should not be empty'),
"number.min": res.__('bedrooms should minimun equal to 1'),
"any.only": res.__('bedrooms should be number number')
}),
 
Similar blocks of code found in 3 locations. Consider refactoring.
price: Joi.number().min(5000).required().messages({
"any.required": res.__('price should be required'),
"number.empty": res.__('price should not be empty'),
"number.min": res.__('price should minimun equal to 5000'),
"any.only": res.__('price should be number number')
}),
 
Similar blocks of code found in 3 locations. Consider refactoring.
bathrooms: Joi.number().min(1).required().messages({
"any.required": res.__('bathrooms should be required'),
"number.empty": res.__('bathrooms should not be empty'),
"number.min": res.__('bathrooms should minimun equal to 1'),
"any.only": res.__('bathrooms should be number')
}),
 
status: Joi.string().valid('available', 'not available').required().messages({
"any.required": res.__('status is required'),
"any.only": res.__("status should be ['available', 'not available']"),
"string.empty": res.__('status not empty')
}),
});
const result = houseValidation.validate(req.body);
Identical blocks of code found in 4 locations. Consider refactoring.
if (result.error) return res.status(400).json({ message: result.error.details[0].message });
next();
}