isEven(value) { const result = Joi.validate(value, boxesSchema); if (result.error) { throw new Error(result.error.details[0].message); } }
//CREATE a user app.post( '/api/users', ( req,res ) => { const result = service.validate( req.body ); if( result.error ) { res.status( 400 ).send( result.error.details[ 0 ].message ); } res.send( service.create( req.body ) ); });
//PUT request Router.put('/:id',(req,res)=>{ const genre = genres.find(genre=>genre.id === parseInt(req.params.id)) if(!genre) return res.status(404).send('The genre with given id not founf'); const {error} = validateGenre(req.body); if(error) return res.status(400).send(error.details[0].message); genre.name = req.body.name; res.send(genre); })
Joi.validate(someObject, someDefinition, { abortEarly: false }, (err, sanitisedObject) => { if (err) { return callback({ // eslint-disable-line standard/no-callback-literal status: '403', code: 'EFORBIDDEN', title: 'Param validation failed', detail: err.details }) } _.assign(someObject, sanitisedObject) callback() })
app.post('/api/courses', (req, res) => { // Validate - If invalid, return 400 - Bad request const { error } = validateCourse(req.body); // result.error if (error) return res.status(400).send(error.details[0].message); const course = { id: courses.length + 1, name: req.body.name + (courses.length+1) }; courses.push(course); res.send(course); });
// check if username is unique router.post('/username/unique', async (req,res,next) => { const {error} = validateUsername(_.pick(req.body, ['username'])); if(error) return res.status(400).send(error.details[0].message); let user = await User.findOne({username: req.body.username}); let res_obj = { unique: !user ? true : false } res.status(200).send(res_obj); });
router.put('/:id', (req, res) => { let course = Courses.find(c => c.id === parseInt(req.params.id)) if (!course) { return res.status(404).send(`The Course with this id ${req.params.id} is not available`) } const result = courseValidation(req.body) if (result.error) { return res.status(400).send(result.error.details[0].message) } course.name = req.body.name res.send(JSON.stringify(course)) })
// manual update email router.put('/email', auth, async (req,res,next) => { const {error} = validateEmail(req.body); if(error) return res.status(400).send(error.details[0].message); let user = await User.findOne({email: req.body.email}); if (user) return res.status(400).send('Email already used.') user = await User.findById(req.user._id); if(!user) return res.status(404).send('User account not found.'); user.email = req.body.email; user.save(); res.status(200).send(_.pick(user, ['_id', 'email'])); });
router.post('/', async (req, res) => { const result = validate(req.body) if (result.error) { return res.status(400).send(result.error.details[0].message) } let user = await Users.findOne({ email: req.body.email }).lean(true) if (user) return res.status(400).send('user already registered!') user = new Users(_.pick(req.body, ['name', 'email', 'password'])) const salt = await bcrypt.genSalt(10) user.password = await bcrypt.hash(user.password, salt) await user.save() const token = user.generateAuthToken() res.header('x-auth-auth', token).send(JSON.stringify(_.pick(user, ['_id', 'name', 'email']))) })
router.post('/', async (req, res) => { const { error } = validateUser(req.body); if (error) return res.status(400).send(error.details[0].message); let user = await User.findOne({ name: req.body.name }); if (user) return res.status(400).send('User already registered.'); user = new User(_.pick(req.body, ['name'])); await (await user.save() .then(t => t.populate('borrowedBook', 'name').populate("bookHistory", 'name').execPopulate())); res.send(_.pick(user, ['_id', 'name'])); });
router.post('/', async (req, res) => { const result = validate(req.body) if (result.error) { return res.status(400).send(result.error.details[0].message) } let customer = new Customers({ name: req.body.name, isGold: req.body.isGold, phone: req.body.phone }) customer = await customer.save() res.send(JSON.stringify(customer)) })
router.post('/', auth, async (req, res) => { const {error} = validate(req.body); if(error) return res.status(400).send(error.details[0].message); const post = new Post( _.pick(req.body, ["postTitle", "postText", "userID"]) ); await post.save(); res.send(_.pick(post, ["_id"])); });
// post request Router.post('/',(req,res)=>{ const {error} = validateGenre(req.body); if(error) return res.status(400).send(error.details[0].message); const genre ={ id: genres.length +1, name: req.body.name }; genres.push(genre); res.send(genre); })
app.put('/api/courses/:id', (req, res) => { // Lookup the courses const course = courses.find(c => c.id === parseInt(req.params.id)); if (!course) return res.status(404).send('The course with the given ID was not found'); // Validate - If invalid, return 400 - Bad request const { error } = validateCourse(req.body); // result.error if (error) return res.status(400).send(error.details[0].message); // Update courses course.name = req.body.name; res.send(course); })
app.put('/api/courses/:id', (req, res) => { // Lookup the courses const course = courses.find(c => c.id === parseInt(req.params.id)); if (!course) return res.status(404).send('The course with the given ID was not found'); // Validate - If invalid, return 400 - Bad request const { error } = validateCourse(req.body); // result.error if (error) return res.status(400).send(error.details[0].message); // Update courses course.name = req.body.name; res.send(course); })