NB! Для успешного прохождения тестов обязательно наличие в БД юзера с логином - admin, паролем - admin.
- Пароли пользователей сохраняются в базу в виде хэша с использованием
bcrypt
(либо аналогичного пакета, например,bcryptjs
). плюс 20 баллов. - Добавлен роут
/login
, связанная с ним логика разделена между контроллером и соответствующим сервисом. В случае отсутствия юзера в БД, возвращается 403 (Forbidden
) HTTP статус. плюс 20 баллов. JWT
токен содержитuserId
иlogin
, секретный ключ хранится в.env
плюс 20 баллов.- Доступ ко всем роутам, за исключением
/login
,/doc
и/
, требует аутентификации плюс 20 баллов. - Проверка на наличие токена в реквесте реализована в отдельном модуле на уровне приложения. В случае если токен не валидный, или отсутствует, возвращается 401 (
Unauthorized
) HTTP статус. плюс 20 баллов.
- Наличие изменений в тестах либо в workflow минус 100 баллов
- Внесение изменений в репозиторий после дедлайна не считая коммиты, вносящие изменения только в
Readme.md
минус 30% от максимального балла за задание (для этого задания 30 баллов) - За каждую ошибку линтера при запуске
npm run lint
на основе локального конфига минус 20 баллов (именноerrors
, неwarnings
) - За каждую ошибку компилятора минус 20 баллов
- Все тесты
npm run test:auth
должны проходить успешно, каждый не пройденный тест минус 20 баллов. - Имеется явно указанный тип
any
минус 20 баллов за каждое использование - За отсутствие отдельной ветки для разработки минус 20 баллов
- За отсутствие
Pull Request
минус 20 баллов - За неполную информацию в описании
Pull Request
(отсутствует либо некорректен один из 3 обязательных пунктов) минус 10 баллов - Меньше 3 коммитов в ветке разработки, не считая коммиты, вносящие изменения только в
Readme.md
— минус 20 баллов