mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-20 00:08:02 +01:00
ea9901c968
https://linear.app/unleash/issue/2-1405/remove-slackappaddon-feature-flag-and-make-this-ga GA's the new Slack App integration by removing the feature flag 🚀
40 lines
1.4 KiB
TypeScript
40 lines
1.4 KiB
TypeScript
import joi from 'joi';
|
|
import { nameType } from '../routes/util';
|
|
import { tagTypeSchema } from '../services/tag-type-schema';
|
|
import { installationDefinitionSchema } from './installation-definition-schema';
|
|
|
|
export const addonDefinitionSchema = joi.object().keys({
|
|
name: nameType,
|
|
displayName: joi.string(),
|
|
documentationUrl: joi.string().uri({ scheme: [/https?/] }),
|
|
description: joi.string().allow(''),
|
|
howTo: joi.string().optional().allow(''),
|
|
deprecated: joi.string().optional().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),
|
|
installation: installationDefinitionSchema.optional(),
|
|
alerts: joi
|
|
.array()
|
|
.optional()
|
|
.items(
|
|
joi.object().keys({
|
|
type: joi.string().valid('success', 'info', 'warning', 'error'),
|
|
text: joi.string().required(),
|
|
}),
|
|
),
|
|
});
|