All files / src/lib/addons addon-schema.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 0/0
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2763x 63x 63x   63x                                            
import joi from 'joi';
import { nameType } from '../routes/util';
import { tagTypeSchema } from '../services/tag-type-schema';
 
export 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),
});