aws-sns-sms-service
Version:
A simple way to send SMS text messages.
57 lines (50 loc) • 1.62 kB
JavaScript
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;