2016-12-12 21:44:21 +01:00
|
|
|
'use strict';
|
|
|
|
|
2020-07-31 22:15:09 +02:00
|
|
|
const joi = require('joi');
|
2021-01-18 12:32:19 +01:00
|
|
|
const { nameType } = require('../routes/admin-api/util');
|
2016-12-12 21:44:21 +01:00
|
|
|
|
2021-02-01 09:41:50 +01:00
|
|
|
const strategySchema = joi
|
|
|
|
.object()
|
|
|
|
.keys({
|
|
|
|
name: nameType,
|
|
|
|
editable: joi.boolean().default(true),
|
|
|
|
deprecated: joi.boolean().default(false),
|
|
|
|
description: joi
|
|
|
|
.string()
|
|
|
|
.allow(null)
|
|
|
|
.allow('')
|
|
|
|
.optional(),
|
|
|
|
parameters: joi
|
|
|
|
.array()
|
|
|
|
.required()
|
|
|
|
.items(
|
|
|
|
joi.object().keys({
|
|
|
|
name: joi.string().required(),
|
|
|
|
type: joi.string().required(),
|
|
|
|
description: joi
|
|
|
|
.string()
|
|
|
|
.allow(null)
|
|
|
|
.allow('')
|
|
|
|
.optional(),
|
|
|
|
required: joi.boolean(),
|
|
|
|
}),
|
|
|
|
),
|
|
|
|
})
|
|
|
|
.options({ allowUnknown: false, stripUnknown: true, abortEarly: false });
|
2016-12-12 21:44:21 +01:00
|
|
|
|
|
|
|
module.exports = strategySchema;
|