1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-06-04 01:18:20 +02:00
unleash.unleash/src/lib/services/client-metrics/client-metrics-schema.ts
Ivar Conradi Østhus c4b697b57d
Feat/api key scoping (#941)
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-09-15 20:28:10 +02:00

28 lines
806 B
TypeScript

import joi from 'joi';
const countSchema = joi
.object()
.options({ stripUnknown: true })
.keys({
yes: joi.number().min(0).empty('').default(0),
no: joi.number().min(0).empty('').default(0),
variants: joi.object().pattern(joi.string(), joi.number().min(0)),
});
export const clientMetricsSchema = joi
.object()
.options({ stripUnknown: true })
.keys({
environment: joi.string().optional(),
appName: joi.string().required(),
instanceId: joi.string().required(),
bucket: joi
.object()
.required()
.keys({
start: joi.date().required(),
stop: joi.date().required(),
toggles: joi.object().pattern(/.*/, countSchema),
}),
});