1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/src/lib/services/context-schema.ts
olav e38f7cf7c2
feat: add context value descriptions (#1496)
* feat: add context value descriptions

* refactor: upcase SQL keywords

* refactor: allow blank descriptions
2022-04-19 08:40:07 +02:00

25 lines
770 B
TypeScript

import joi from 'joi';
import { nameType } from '../routes/util';
export const nameSchema = joi.object().keys({ name: nameType });
const legalValueSchema = joi.object().keys({
value: joi.string().min(1).max(100).required(),
description: joi.string().allow('').allow(null).optional(),
});
export const contextSchema = joi
.object()
.keys({
name: nameType,
description: joi.string().max(250).allow('').allow(null).optional(),
legalValues: joi
.array()
.allow(null)
.unique((a, b) => a.value === b.value)
.optional()
.items(legalValueSchema),
stickiness: joi.boolean().optional().default(false),
})
.options({ allowUnknown: false, stripUnknown: true });