вот как мне заменить и куда поместить первые две проверки?
например:
- проверку на одинаковость паролей
- проверку на то, существует ли юзер
а еще, у меня такая архитектура, что есть контроллеры и репозитории (которые работают с бд)
тогда стоит ли мне проверку на существование юзера засунуть в Auth контроллер или оставить где-то тут и работать с репозиторием напрямую?
стандартное правило: тонкий контроллер, толстая модель. сервис у тебя к моделям относятся.
в контроллере должно быть ноль бизнес-логики и вообще логики поменьше. можно провалидировать req.body, убедиться, что данные переданы в нужной форме (что password это строка и т.п.).
а затем передаешь данные в модель (сервис) и она уже делает User.findOne и AuthController.register. Скорее всего этот register и должен проверять, а существует ли уже такой юзер.
модель (сервис) возвращают какой-то результат, а контроллер уже делает все эти res.status.json