Size: a a a

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

2021 May 06

VP

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

VP

Vladimir Prudnikov in NestJS — русскоязычное сообщество
Думаю сначала стоит разобраться с Dependency Injection
источник

N

Nikita in NestJS — русскоязычное сообщество
Правильно делать архитектуру. Валидация должна идти после проверки прав доступа.
источник

N

Nikita in NestJS — русскоязычное сообщество
Почитай что такое signed url в S3, обрати внимание что там можно и загрузить объект по ссылки. Возможно, после этого ты не станешь писать то что уже написано за тебя.
источник

N

Nikita in NestJS — русскоязычное сообщество
Общее время обработки лучше всего передается через заголовок server-timing. Подробней тут https://t.me/node_recipes/63
Если тебе отдельные поля нужны, то у apollo что-то для этого было. Надо покопать документацию.
источник

DP

Dmitri Pisarev in NestJS — русскоязычное сообщество
Привет!
Какие существуют best practices по поводу того, как ждать соединения с БД? У меня приложение принимает http запросы, и кладет их в БД (eventstore).
Я хочу понять как правильно сделать так, чтопы приложение начинало слушать только когда установилось соединение с БД. Как вообще принято с таким справляться? И что делать когдаа соединение с базой теряется? Возвращать ошибку 500? Ронять процесс и ждать пока docker его рестартнет?
Как вообще объект соединения лучше всего распростронять внутри приложения? Как сервис/singleton?
Извините за нубовские вопросы, давно с чем-то ООП-образным не работал...
источник

N

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

DP

Dmitri Pisarev in NestJS — русскоязычное сообщество
Благодарю! Те я правильно написал: ждать при старте и падать при дисконнекте?
источник

N

Nikita in NestJS — русскоязычное сообщество
Ждать и делать переконект. Пока идет переконект, healthckech должен быть красным. Не смогли переконектиться за сколько-то попыток – вырубаемся.
источник

DP

Dmitri Pisarev in NestJS — русскоязычное сообщество
Супер. Так и думал примерно!
источник

NH

Nikolai Harkusha in NestJS — русскоязычное сообщество
всем привет
а можно как-то в Gataway'e на методах где идет @SubscribeMessage повесить interceptor который входные данные будет парсить из строки в объект? все что находил - вроде как парсится только ответ
думаю над вариантом чтобы написать собственный декоратор который будет парсить

и еще вопрос: если на 1 ивент сокета прилетают объекты, внутри которых могут быть разные данные по своей структуре (около 10 вариантов), как корректнее всего для этого написать валидацию?

спасибо
источник

YK

Yurii Kovalenko in NestJS — русскоязычное сообщество
Может ты хочешь пайп?
источник

YE

Yuriy Empty in NestJS — русскоязычное сообщество
Куда обычно пихают интерфейсы что возвращают запросы к сервисов(по файловой структуре)?
источник

YE

Yuriy Empty in NestJS — русскоязычное сообщество
Нет ли случаем готового шаблона по архитектуре неста
источник

D

Da in NestJS — русскоязычное сообщество
Ищем Middle NodeJS в команду. Пиши
источник

VL

Vladimir Lila in NestJS — русскоязычное сообщество
Привет, подскажите пожалуйста по модулям, какой день об них голову ломаю.
Вот есть у меня модуль коннекта к бд (монгус)
@Module({
 imports: [
   MongooseModule.forRootAsync({
     imports: [ConfigurationModule, LoggerModule],
     inject: [PinoLogger, ConfigurationService],
     useFactory: mongoConnect,
   }),
 ],
})
export class DatabaseModule {}

Вынес я его в отдельный модуль, и цепляю к coreModule как и всю инфраструктуру (аутентификаторы, логи, конфигурацию и тд)

А теперь в тесте, мне его переопределить надо, чтоб он в in-memory бд ходил. Ну и я смело пишу overrideProvider а потом доходит, что это же не провайдер, а модуль. А модуль заоверайдить нельзя..
Ну и я пошел гуглить, нашел стаковерфлоу - https://stackoverflow.com/questions/52095261/overriding-providers-in-nestjs-jest-tests

А там все руками создают, т.е никаких модулей через forRoot у них нет.
И я осознаю, что это мои слабые познания в js не дают мне разобраться в этом, но куда копать не пойму. Отказываться от Mongoose.ForRoot?
Как то овверайдить модуль?
источник
2021 May 07

VL

Vladimir Lila in NestJS — русскоязычное сообщество
Дочитал доку до MongooseConfigService, и осознал, что можно все залить красиво через useClass, а поскольку он провайдер, то его без труда можно подменить.
Перепилил свою функцию, на класс имплементящий MongooseOptionsFactory и создал две реализации, для кода, и для тестов. В тестах овверайжу провайдер.
Все взлетело)
Спасибо)))
https://docs.nestjs.com/techniques/mongodb#testing
источник

ТВ

Тимофей Веткин... in NestJS — русскоязычное сообщество
Привет. Кто-нибудь переходил с Express на Nest? Можете сказать как ощущения? Сильно различаются?
источник

ТВ

Тимофей Веткин... in NestJS — русскоязычное сообщество
И стоит ли это того
источник

D

Dima in NestJS — русскоязычное сообщество
Стоит . Сильно  отличается . Ну вот только дока хорошая , въехать можно,  и тс  потренировать можн
источник