Как устроен Service Layer в Node.js приложении?

Middle
374 просмотров
AFK Offer AI

Service layer — бизнес-логика приложения, оркестрирует репозитории и внешние сервисы. UserService.createUser: валидирует уникальность email, хэширует пароль, сохраняет через репозиторий, отправляет welcome email, публикует событие UserCreated. Service не знает об HTTP — принимает DTO, возвращает domain objects. Контроллер только: парсит HTTP → вызывает service → формирует HTTP ответ. Это разделение позволяет использовать один сервис из HTTP контроллера, CLI команды, background job.

Следующий вопрос

Напиши integration тест для POST /api/users эндпоинта используя supertest и тест БД