Size: a a a

NestJS — русскоязычное сообщество

2020 August 13

BO

Babenko Oleg in NestJS — русскоязычное сообщество
Насчет сервисов вряд ли, так как нет зависимостей в виде провайдеров, незачем пихать в DI. Да, скорее всего просто просто классы/модули. Но дико интересно, куда люди бизнес-логику как раз кладут) Жирную такую, от которых сервисы распухают и становятся до ужаса большими)))
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Babenko Oleg
Насчет сервисов вряд ли, так как нет зависимостей в виде провайдеров, незачем пихать в DI. Да, скорее всего просто просто классы/модули. Но дико интересно, куда люди бизнес-логику как раз кладут) Жирную такую, от которых сервисы распухают и становятся до ужаса большими)))
Как именно этот большой просто модуль декомпозировать — зависит собственно от него)

А куда его деть — либо рядом с приложением, либо в отдельный пакет, если хочешься иметь его отдельно от веб-сервисов
источник

DB

Dilame 🎩 Bowzee ⠀⠀⠀ོ... in NestJS — русскоязычное сообщество
Babenko Oleg
Насчет сервисов вряд ли, так как нет зависимостей в виде провайдеров, незачем пихать в DI. Да, скорее всего просто просто классы/модули. Но дико интересно, куда люди бизнес-логику как раз кладут) Жирную такую, от которых сервисы распухают и становятся до ужаса большими)))
Тут нест как таковой ни при чём, скорее вопрос по архитектуре на TypeScript. В общем случае, просто делаете тот же Service Object.
Я вот лично такой подход и предпочитаю.

https://refactoring.guru/ru/design-patterns/command
источник

BO

Babenko Oleg in NestJS — русскоязычное сообщество
Хм, а действительно) Спасибо))
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Babenko Oleg
Привет) Если есть кто, например, из мира Rails, знают что такое Service Objects - грубо говоря подход, в котором операции, которые сложнее простого обновления записи в контроллере, выносятся в отдельные классы. Теперь к несту - у меня в приложении,  есть генерация огромного отчета с огромной кучей кода и логики. Хочется это разбить, но какой подход применять? Есть бест практис? Во что это выносить? Куда это выносить?)
Напиши операторы rxjs для каждого куска отчёта и птом ципочкой вызови, я так как то игрался, каждый блок отчёта rxjs функция
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Хедар и футер в двух отчетах юзали одни и теже операторы
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Если запросы к базе то передашь ещё конекшен в оператор
источник

CH

Cyber Host in NestJS — русскоязычное сообщество
Привет, всем. Есть хорошие варианты старта проект в демоне на проде кроме supervisord?
источник

AK

Alex Kulagin 🏡 in NestJS — русскоязычное сообщество
Pm2
источник

А

Александр in NestJS — русскоязычное сообщество
Подскажите, допустимо ли раздувать контроллер? Например, маршрут должен отдавать объединенный объект, состоящий из двух сущностей. Их правильнее собрать в единый объект в контроллере, вызвав два метода из двух разных сервисов? Или создать ещё один сервис, который будет возвращать готовый объект?
источник

AE

Argument Exception in NestJS — русскоязычное сообщество
Александр
Подскажите, допустимо ли раздувать контроллер? Например, маршрут должен отдавать объединенный объект, состоящий из двух сущностей. Их правильнее собрать в единый объект в контроллере, вызвав два метода из двух разных сервисов? Или создать ещё один сервис, который будет возвращать готовый объект?
не допустимо, но твой случай вообще ничего не раздувает
источник

А

Александр in NestJS — русскоязычное сообщество
Argument Exception
не допустимо, но твой случай вообще ничего не раздувает
Но всё же какое решение идеологически правильнее?
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Александр
Но всё же какое решение идеологически правильнее?
По идее в контроллере нужно схлопывать
источник

VP

Vladislav Pavlov in NestJS — русскоязычное сообщество
В модуле auth гварда работает, а как её использовать в других модулях, это возможно?
источник

🏡К

🏡 Назар Калитюк... in NestJS — русскоязычное сообщество
Vladislav Pavlov
В модуле auth гварда работает, а как её использовать в других модулях, это возможно?
ну так же напиши в других модулях. Но чтоб работало нужно инпортировать модуль и прописать в нем гарду в exports
источник

VP

Vladislav Pavlov in NestJS — русскоязычное сообщество
🏡 Назар Калитюк
ну так же напиши в других модулях. Но чтоб работало нужно инпортировать модуль и прописать в нем гарду в exports
Работает, шикарно, спасибо )
источник
2020 August 14

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Всем доброе утро. Ребят а как заставить plainticlass, удалять те поля что нет в классе, но прилетели в объект ?
источник

ПВ

Павел Варенцов... in NestJS — русскоязычное сообщество
Veaceslav Artiom
Всем доброе утро. Ребят а как заставить plainticlass, удалять те поля что нет в классе, но прилетели в объект ?
Привет. Я над классом ставил декоратор Exclude, а над полями Expose. Фильтр получается, замапятся только те, которые помечены как Expose.
источник

VA

Veaceslav Artiom in NestJS — русскоязычное сообщество
Павел Варенцов
Привет. Я над классом ставил декоратор Exclude, а над полями Expose. Фильтр получается, замапятся только те, которые помечены как Expose.
У меня обычно  все по дефу идет как Expose. Идея в том что я сделал декоратор который из парамсов типа flt_isActive=true&ftl_firstName=test, делает объект. Сделал это для того что бы можно было более удобно получать параметры фильтраций для where. Вот только не могу сделать мап правильно. plainToClass() мне выдает 'true' хотя должен его переделать в true типа boolean а не стринг.
источник

ПВ

Павел Варенцов... in NestJS — русскоязычное сообщество
Veaceslav Artiom
У меня обычно  все по дефу идет как Expose. Идея в том что я сделал декоратор который из парамсов типа flt_isActive=true&ftl_firstName=test, делает объект. Сделал это для того что бы можно было более удобно получать параметры фильтраций для where. Вот только не могу сделать мап правильно. plainToClass() мне выдает 'true' хотя должен его переделать в true типа boolean а не стринг.
Это ведь про объект query имеется в виду?  Если так, то в query string все строка, поэтому через class-transformer еще можно закастить значение в нужный тип
источник