У меня есть 1 маршрут, 2 разные схемы joi, и я хочу иметь возможность динамически выбирать, какую схему использовать, на основе поля в полезной нагрузке.
«Один маршрут, 2 схемы (Hapi.js с Joi)»
Итак, для контекста у меня есть маршрут hapi и я использую проверку joi "someSchema" hapiRoute.js:
...
"validate": {
"payload": someSchema
}
...
В schema.js:
function ChooseSchema(schemaA, schemaB) {
return Joi.when(Joi.ref("payload.data.attributes.someField"), {
"is": Joi.string().valid("fieldIsValue"),
"then": schemaA,
"otherwise": schemaB
});
}
module.exports = {
"someSchema": ChooseSchema(schemaA, schemaB)
}
Где schemaA и schemaB разные
Поэтому я пытаюсь использовать schemaA, если someField равно значению: fieldIsValue, в противном случае используйте schemaB. В настоящее время он не получает это значение "someField", поэтому просто возвращая schemaB, я считаю