UNPKG

aws-sns-sms-service

Version:

A simple way to send SMS text messages.

57 lines (50 loc) 1.62 kB
const Joi = require('joi'); const { defaultConfig, validateMobile } = require('../../configuration'); const validation = {}; validation.validateParameters = parameters => isValid(formRequestNotification(parameters)); const formRequestNotification = parameters => { return { ...defaultConfig, AWS_ACCESS_KEY_ID: parameters.key_id, AWS_SECRET_ACCESS_KEY: parameters.access_key, MESSAGE: parameters.message, MOBILES: parameters.mobiles } } const isValid = notification => { const scheme = Joi.object({ AWS_ACCESS_KEY_ID: Joi.string() .min(1) .required(), AWS_SECRET_ACCESS_KEY: Joi.string() .min(1) .required(), AWS_REGION: Joi.string() .required(), SUBJECT: Joi.string() .required(), PORT: Joi.number() .required(), MESSAGE: Joi.string() .min(5) .max(2500) .required(), MOBILES: Joi.array() .items(Joi.string() .trim() .min(11) .max(16) .pattern(validateMobile.REGEX_MOBILE) .required()) .required(), }); try { const { error = null, value } = scheme.validate(notification); const response = error === null ? value : null return { error, response }; } catch (err) { throw new Error('verify that the notification details are correct. ' + err); } } module.exports = validation;