1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/lib/routes/client-api/metrics-schema.js
2020-02-20 08:34:32 +01:00

39 lines
926 B
JavaScript

'use strict';
const joi = require('@hapi/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)),
});
const clientMetricsSchema = joi
.object()
.options({ stripUnknown: true })
.keys({
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),
}),
});
module.exports = { clientMetricsSchema };