В текущем репозитории серверное приложение (REST API), в котором реализована работа с тремя моделями Item, SubItem и SubSubItem. Необходимо сделать так, чтобы проходились имеющиеся тесты. Для успешного выполнения задания вам разрешено редактировать только модели, контроллеры и рутинги (**/*.model.js, **/*.controller.js и **/index.js файлы соответственно).
git clone https://github.com/zbitname/nodejs-agg-test.git
cd nodejs-agg-test
npm install
# Решаете задачу
gulp test
# Если тесты проходятся без ошибок, то пакуете директорию и присылаете нам
tar cvzf nodejs-agg-test-resolved.tar.gz *
# Отправляете получившийся архив по адресу [email protected]-
Ответ сервера на любой метод должен возвращать
idвместо_idи нельзя, чтобы в ответ попалSubItem.secret. При решении этой задачи по возможности не использовать циклы в контроллерах и моделях. -
Есть 3 модели:
Item,SubItemиSubSubItem. Между ними есть зависимости:SubItem <- ItemиSubSubItem <- (Item, SubItem). Задача, построить один запрос к СУБД таким образом, чтобы была следующая схема ответа:
[
{
"qty": 20,
"item": "5576ab596e2d2d61a0e01d0e",
"subItems": [
{
"subItem": "5576aba1d1ba899ea0cfcf55",
"qty": 1
}
]
}
]Где:
item=Item._idqty= количество объектов в коллекцииSubSubItems, которые относятся к набору (Item,SubItem)subItems= набор моделейSubItem, которые относятся к одной моделиItem.subItems.subItem=SubItem._idsubItems.qty= количество объектов в коллекцииSubSubItems, которые относятся к текущемуSubItemв массиве
- Исправить ошибки/недочёты
В процессе решения задач можно редактировать только реализацию контроллеров, моделей и рутингов. Результат работы присылать на: [email protected]