segments: Joi.func(), order: Joi.array().items(Joi.object().keys({ member: Joi.func().required(), direction: Joi.any().valid('asc', 'desc').required() })), filters: Joi.array().items(Joi.object().keys({ member: Joi.func().required(), operator: Joi.any().valid('contains', 'notContains', 'equals', 'set', 'notSet', 'gt', 'gte', 'lt', 'lte'), params: Joi.array().items(Joi.string().allow('').optional()) })), timeDimension: Joi.object().keys({ dimension: Joi.func().required(), dateRange: Joi.string().required(), granularity: Joi.any().valid('hour', 'day', 'week', 'month', 'year', null) }), visualization: Joi.object().keys({ type: Joi.any().valid('bar', 'line', 'table', 'area', 'singleValue', 'pie').required(), autoScale: Joi.boolean(), showTotal: Joi.boolean(), }), layout: Joi.object().keys({ w: Joi.any().valid(...Array(19).fill(0).map((_, i) => i + 6)).required(), h: Joi.any().valid(...Array(47).fill(0).map((_, i) => i + 4)).required(), x: Joi.any().valid(...Array(24).fill(0).map((_, i) => i)).required(), y: Joi.number().required() }).required() })
/** * Get the Trigger configuration schema. * @returns {*} */ getConfigurationSchema() { return this.joi.object().keys({ host: [this.joi.string().hostname().required(), this.joi.string().ip().required()], port: this.joi.number().port().required(), user: this.joi.string().required(), pass: this.joi.string().required(), from: this.joi.string().email().required(), to: this.joi.string().email().required(), }); }
route.post('/:id/update', (req, res) => { const schema = Joi.object().keys({ fruit: Joi.string().required(), stock: Joi.number().required() }) Joi.validate(req.body, schema, (err, result) => { if (err) { console.log(err); res.send("Error"); } else { fruitModel.updateById(req.params.id, { name: req.body.fruit, stock: req.body.stock }) .then(data => { console.log(data); res.redirect("/fruits"); }) .catch(err => { console.log(err); res.send("Unexcepted error occured"); }) } }) })
async store(req, res) { const schema = Joi.object().keys({ name: Joi.string().required(), street_address: Joi.string().required(), number_address: Joi.number().required(), city_address: Joi.string().required(), state_address: Joi.string().required(), country_address: Joi.string().required(), file_id: Joi.number(), is_closed: Joi.boolean(),