function validationMiddlware(req) { return Joi.validate( req.payload.pattern.message, Joi.object() .keys({ from: Joi.string().required(), to: Joi.string().required(), subject: Joi.string().required(), text: Joi.string().optional(), html: Joi.string().optional(), bcc: Joi.string().optional(), cc: Joi.string().optional() }) .required() ) }
/** * * * @static * @param {any} topic * @returns * * @memberOf StorePattern */ static create(topic) { return { topic, cmd: 'create', collection: Joi.string().required(), data: Joi.required() } }
/** * * * @static * @param {any} topic * @returns * * @memberOf StorePattern */ static find(topic) { return { topic, cmd: 'find', collection: Joi.string().required(), query: Joi.object().required(), options: Joi.object() .keys({ fields: Joi.alternatives().try(Joi.object(), Joi.array()), orderBy: Joi.alternatives().try(Joi.object(), Joi.array(), Joi.string()), offset: Joi.number().integer(), limit: Joi.number().integer() }) .default({}) } }
/** * * * @static * @param {any} topic * @returns * * @memberOf StorePattern */ static replace(topic) { return { topic, cmd: 'replace', collection: Joi.string().required(), data: Joi.object().required(), query: Joi.object().required() } }
const placeOrder = async (url, order) => { const response = await frisby .post(url, { order }) .expect("status", 200) .expect("jsonTypes", { orderId: Joi.string() }); return response.json; }
/** * * * @static * @param {any} topic * @returns * * @memberOf StorePattern */ static remove(topic) { return { topic, cmd: 'remove', collection: Joi.string().required(), query: Joi.object().required() } }
/** * * * @static * @param {any} topic * @returns * * @memberOf StorePattern */ static exists(topic) { return { topic, cmd: 'exists', collection: Joi.string().required(), query: Joi.object().required() } }
/** * * * @static * @param {any} topic * @returns * * @memberOf StorePattern */ static update(topic) { return { topic, cmd: 'update', collection: Joi.string().required(), data: Joi.object().required(), query: Joi.object().required() } }
const placeOrder = async (url, order) => { const response = await frisby .post(url, { order }) .expect("status", 200) .expect("jsonTypes", { orderId: Joi.string() }); return response.json; }