Первая ошибка получена при запуске
/Users/mrzgmac/programming/sri/entrance-task-1/node_modules/sequelize/lib/sequelize.js:175
throw new Error('Dialect needs to be explicitly supplied as of v4.0.0');
^
Error: Dialect needs to be explicitly supplied as of v4.0.0
at new Sequelize (/Users/mrzgmac/programming/sri/entrance-task-1/node_modules/sequelize/lib/sequelize.js:175:13)
at Object.<anonymous> (/Users/mrzgmac/programming/sri/entrance-task-1/models/index.js:7:19)
at Module._compile (module.js:612:30)
...
Быстрый поиск по доке подсказал формат подключения для sqlite. Пофиксил в models/index.js:7:19
.
Запустилось.
Далее я проверял все ли запросы выполняются. Обнаружились следующие проблемы
-
Не выполнялся запрос
events
. Анализresolvers/query.js
показал что в соответствующем резолвереevents
в файндерfindAll
первым передавался несуществующий агрументarguments
. Заменил на по аналогии на{}
как в резолвере дляusers
. -
Глядя в код
resolvers/index.js
заодно попробовал запроситьusers
иroom
дляevent
. Они возвращалиnull
. Стало понятно, что причина в том, что у резолверов забылиreturn
. Пофиксил -
Обнаружились проблемы в мутаторах
addUserToEvent
- не был имплементированchangeEventRoom
- вsetRoom()
передавался не та переменная, так же он ничего не возвращал.
- Так же добавил middlware для CORS, чтобы сервер отвечал за запросы со стороннего хоста (для обработки запросов с dev сервера create-react-app)
5 Добавил строчку avatarUrl: String
в typeDefs.js
в UserInput
для возможности создавать пользователей с аватарами.
Написано для Node.js 8 и использует библиотеки:
- express
- sequelize
- graphql
Код содержит ошибки разной степени критичности. Некоторых из них стилистические, а некоторые даже не позволят вам запустить приложение. Вам необходимо найти и исправить их.
Пункты для самопроверки:
- Приложение должно успешно запускаться
- Должно открываться GraphQL IDE - http://localhost:3000/graphql/
- Все запросы на получение или изменения данных через graphql должны работать корректно. Все возможные запросы можно посмотреть в вкладке Docs в GraphQL IDE или в схеме (typeDefs.js)
- Не должно быть лишнего кода
- Все должно быть в едином codestyle
npm i
npm run dev
Для сброса данных в базе:
npm run reset-db