const joi = require('joi'); const { nameType } = require('../routes/admin-api/util'); const { tagTypeSchema } = require('../services/tag-type-schema'); const addonDefinitionSchema = joi.object().keys({ name: nameType, displayName: joi.string(), documentationUrl: joi.string().uri({ scheme: [/https?/] }), description: joi.string().allow(''), parameters: joi .array() .optional() .items( joi.object().keys({ name: joi.string().required(), displayName: joi.string().required(), type: joi.string().required(), description: joi.string(), placeholder: joi.string().allow(''), required: joi.boolean().default(false), sensitive: joi.boolean().default(false), }), ), events: joi .array() .optional() .items(joi.string()), tagTypes: joi .array() .optional() .items(tagTypeSchema), }); module.exports = { addonDefinitionSchema, };