UNPKG

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
'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 }; }