plivo
Version:
A Node.js SDK to make voice calls and send SMS using Plivo and to generate Plivo XML
53 lines (44 loc) • 1.46 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateTemplate = validateTemplate;
var Joi = require('joi');
var _require = require('./location'),
locationSchema = _require.locationSchema;
var currencySchema = Joi.object({
fallback_value: Joi.string().required(),
currency_code: Joi.string().required(),
amount_1000: Joi.number().required()
});
var dateTimeSchema = Joi.object({
fallback_value: Joi.string().required()
});
var parameterSchema = Joi.object({
type: Joi.string().required(),
text: Joi.string().optional(),
media: Joi.string().optional(),
payload: Joi.string().optional(),
currency: currencySchema.optional(),
date_time: dateTimeSchema.optional(),
location: locationSchema.optional(),
parameter_name: Joi.string().optional()
});
var componentSchema = Joi.object({
type: Joi.string().required(),
sub_type: Joi.string().optional(),
index: Joi.string().optional(),
parameters: Joi.array().items(parameterSchema).optional()
});
var templateSchema = Joi.object({
name: Joi.string().required(),
language: Joi.string().required(),
components: Joi.array().items(componentSchema).optional()
});
// Validate the data against the templateSchema
function validateTemplate(data) {
var _templateSchema$valid = templateSchema.validate(data),
error = _templateSchema$valid.error,
value = _templateSchema$valid.value;
return { error: error, value: value };
}