master
Add prisma and init user schema - Добавлены пакеты @prisma/adapter-pg, @prisma/clint, pg, prisma в package.json; - Инициализирована базовая структура Prisma (prisma schema, prisma.config.ts, .gitignore); - Добавлен и настроен модуль prisma, для работы с Prisma; - В .env добавлены значения DATABASE_URL. Для корректной работы значений, включен expandVariables в app-config.module; - Включена опция project в eslint.config, для корректного линтинга Prisma типов; - Добавлена Init миграция user.schema; - Добавлен тестовый эндпоинт для получения пользователей.
Add auth - Установлены зависимости @nestjs/jwt, bcrypt, @types/bcrypt; - Схема user была обновлена, добавлено поле "password"; - Поле password было исключено из выдачи без явного указания его в select в prisma.service.ts; - Добавлен модуль Auth, вместе с эндпоинтами /login, /register, /refresh; - Создан auth.guard файл, проверяющий валидность токена; - auth.guard внедрен как глобальный гуард; - Добавлены вспомогательные типы jwt-request, jwt-response, auth-request, auth-tokens; - Добавлен декоратор IsPublic(), установка которого позволяет пропуска выполнение auth.guard; - в .env добавлено поле JWT_SECRET, для работы с jwt; - Включено и внедрено использование BearerAuth, от swagger. Позволяющее гибко передавать токен в запросах.