Size: a a a

Node.js — русскоговорящее сообщество

2020 December 19

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
роут у тебя по сути и есть конроллер
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Artem Zuev
т.е. для регистрации к примеру... валидировать, что логин и пароли не пустые строки и длиной, скажем, от 10 символов - это контроллер... но то, что указанное мыло не занято другим акком - это уже сервис
Сейчас бы в контроллере бизнес логику сувать
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Sergey 🛸
Сейчас бы в контроллере бизнес логику сувать
при чем тут бизнес логика и проверка, что прилетевшее поле логина не пустое
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Artem Zuev
при чем тут бизнес логика и проверка, что прилетевшее поле логина не пустое
Не пустое поле, и длина от 10 символов это и есть бизнес логика
источник

PW

Pan Włodzimierz in Node.js — русскоговорящее сообщество
от 50/50 всегда
и хз как правильно
источник

АБ

Артур Бердыев... in Node.js — русскоговорящее сообщество
перехват ошибок кривой немного, класс странный, вроде он как обертка для JWT,  а вроде и логинит и валидирует и создает нового юзера, а может и на дудке будет играть в следующем комите, сомнительно все сделано
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
это требование к входящим данным и не более того...
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Artem Zuev
это требование к входящим данным и не более того...
Валидация данных и есть задача бизнес логики. И не важно, это валидация длины или наличия названия фирмы в списке контрагентов
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Pan Włodzimierz
ну это я понял
но мне интересно как в моем случае лучше оставить
впихнуть в сервис
или то, что касается контроллера в роуте оставить
я за то, чтобы проверку подтверждения паролей тоже перенести в сервис. и на этом можно остановиться.

но если очень хочется, то можно в контроллер добавить валидацию req.body, т.е. убедиться, что body содержит только нужные тебе поля и эти поля в нужном формате (строка/число/и т.п.). а сервис может дополнительно проверять, что email -- это почта, что пароли совпадают и т.п.

кто-то может сказать, что это двойная проверка, но разница есть.
источник

PW

Pan Włodzimierz in Node.js — русскоговорящее сообщество
Артур Бердыев
перехват ошибок кривой немного, класс странный, вроде он как обертка для JWT,  а вроде и логинит и валидирует и создает нового юзера, а может и на дудке будет играть в следующем комите, сомнительно все сделано
аха
хм насчёт обертки для жвт по делу
надо подумать
та я хз, просто пишу пока как умею
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Sergey 🛸
Валидация данных и есть задача бизнес логики. И не важно, это валидация длины или наличия названия фирмы в списке контрагентов
контроллер подготавливает данные для бизнес-логики, а она их проверяет
источник

АБ

Артур Бердыев... in Node.js — русскоговорящее сообщество
плюс выше звучало желание абстрагировать уровни абстракции, но прокидывание body в "контроллер" этому явно ен способствует
источник

АБ

Артур Бердыев... in Node.js — русскоговорящее сообщество
а еще очень режет глаз, когда пихают await в свойства объекта или в if, но это наверное больше имхо
источник

PW

Pan Włodzimierz in Node.js — русскоговорящее сообщество
Артур Бердыев
а еще очень режет глаз, когда пихают await в свойства объекта или в if, но это наверное больше имхо
та просто переменную не было смысла создавать
лишняя строка
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
контроллер подготавливает данные для бизнес-логики, а она их проверяет
А потом ты захочешь через cli создавать пользователя, или через email. Сделаешь ещё один контроллер и скопипастишь проверку полей туда?
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
контроллер подготавливает данные для бизнес-логики, а она их проверяет
для того, чтобы контроллер подготовил данные для бизнеслогики, он должен знать их структуру... т.е. что-то не очень вяжется с абтрагированием
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Артур Бердыев
а еще очень режет глаз, когда пихают await в свойства объекта или в if, но это наверное больше имхо
не, это норм
источник

АБ

Артур Бердыев... in Node.js — русскоговорящее сообщество
лишняя строка = больше нагрузки на мозг при попытке понять что за нахер тут происходит, не надо экономить строки, через полгода, когда будешь рефакторить скажешь себе спасибо за то что понятно написано, что и откуда и в каком формате приходит
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Artem Zuev
для того, чтобы контроллер подготовил данные для бизнеслогики, он должен знать их структуру... т.е. что-то не очень вяжется с абтрагированием
контроллер знает какие данные ему пришли. и так же контроллер знает в каком формате бизнес-логика ожидает данные.
источник

PW

Pan Włodzimierz in Node.js — русскоговорящее сообщество
ну тут согласен
но чисто такая строка, вроде и так ясно что к чему
лишняя микросекунда, чтобы понять мозгу что там
источник