mirror of
https://github.com/Unleash/unleash.git
synced 2024-11-01 19:07:38 +01:00
66d9d7a6d2
* refactor: fix missing tsconfig path in .eslintrc * refactor: require contextName and operator * refactor: fix crash on missing feature strategies * feat: add segments schema * feat: add segments client API * feat: add segments permissions * refactor: fail migration if things exist * refactor: remove strategy IDs from responses * refactor: allow empty description * refactor: add segment import/export * refactor: add perf scripts * refactor: add get segment fn * refactor: move constraint validation endpoint * refactor: use a separate id for segment updates * refactor: use PERF_AUTH_KEY for artillery * refactor: adjust segment seed size * refactor: add missing event data await * refactor: improve method order * refactor: remove request body limit override
20 lines
581 B
TypeScript
20 lines
581 B
TypeScript
import joi from 'joi';
|
|
import { constraintSchema } from '../schema/feature-schema';
|
|
|
|
export const segmentSchema = joi
|
|
.object()
|
|
.keys({
|
|
name: joi.string().required(),
|
|
description: joi.string().allow(null).allow('').optional(),
|
|
constraints: joi.array().items(constraintSchema).required(),
|
|
})
|
|
.options({ allowUnknown: true });
|
|
|
|
export const featureStrategySegmentSchema = joi
|
|
.object()
|
|
.keys({
|
|
segmentId: joi.number().required(),
|
|
featureStrategyId: joi.string().required(),
|
|
})
|
|
.options({ allowUnknown: true });
|