1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/src/lib/services/segment-schema.ts
olav 66d9d7a6d2
feat: add segments (#1426)
* 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
2022-03-29 14:59:14 +02:00

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 });