Количество и обязательность добавления модификаторов или ингредиентов определяется из схемы продукта.
Получаем идентификатор схемы - products.[].schemeId.
Далее по идентификатору ищем сущность в массиве ingredientsSchemes.
В объекте схемы есть параметр ingredientsGroups - это группа модификаторов или ингредиентов.
Например, бургер, где на выбор уже чизбургер или гамбургер, или, соус, где на выбор сырный, майонез.
В группе заданы правила, но такого понятия, как главный ингредиент нет. Есть обязательность наличия ингредиента.
Условие:
Ни один модификатор не обязателен, но можно добавить 3 штуки.
Важно отметить, что модификаторов может быть в блюде от одного до бесконечности. В случае, если модификатор один - его в этом варианте можно добавить 3 раза.
Пример:
{
"id": "string"
"ingredientsGroups": [
{
"id": "string",
"minCount": 0,
"maxCount": 3
}
]
}
JSON
Условие:
Один модификатор обязателен и можно добавить только один.
Пример:
{
"id": "string"
"ingredientsGroups": [
{
"id": "string",
"minCount": 1,
"maxCount": 1
}
]
}
JSON
Условие:
Два модификатора обязательны, но добавить можно десять.
Пример:
{
"id": "string"
"ingredientsGroups": [
{
"id": "string",
"minCount": 2,
"maxCount": 10
}
]
}
JSON