Size: a a a

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

2020 August 14

SL

S. L. in NestJS — русскоязычное сообщество
т.е не микросервис, а то, с чем соединены другие микросервисы
источник

MM

Max Max in NestJS — русскоязычное сообщество
всем привет
есть такой вопросик: кто как организовывает сервисы доступа к бд на несте? у меня получается так в основном- сервис содержит в себе репозиторий, и служит как бы прослойкой для него. Проблемы начинаются, когда надо достать в разных местах достать запись из бд с разными джойнами. тогда методы сервиса выглядят так:

getUser(id)
getUserWithCards(id)
getUserWithDefaultCard(id)
getUserWithPayments(id)

получается, куча тких методов, и все они отличаются только количеством джойнов. Наиболее подходящее решение которое приходит в голову это добавить параметры в общий метод с указанием джойнов и фильтров по ним:

getUser(id, relations?, filter?)

Минус у этого варианта что надо либо прокидывать специфику джойнов ОРМки в верхний слой, либо писать свой маппер этих параметров для ОРМки

интересно, кто как решает эту проблему и какой вариант использует
источник

SL

S. L. in NestJS — русскоязычное сообщество
подскажите пожалуйста, то, что здесь описано  в Client это то, как правильно устанавливать подключение в центральном приложении? https://docs.nestjs.com/microservices/basics#client
источник

ВЕ

Витковский Евгений... in NestJS — русскоязычное сообщество
Всем привет, может кто знает, как формировать логи и сохранять их как JSON файл
источник

ВЕ

Витковский Евгений... in NestJS — русскоязычное сообщество
?
источник

YK

Yaroslav Kuznetsov in NestJS — русскоязычное сообщество
Витковский Евгений
Всем привет, может кто знает, как формировать логи и сохранять их как JSON файл
Интреуептор на логирование и внутри прописать логику на сохранение в фаил
источник

ВЕ

Витковский Евгений... in NestJS — русскоязычное сообщество
Yaroslav Kuznetsov
Интреуептор на логирование и внутри прописать логику на сохранение в фаил
Я в принципе это первый раз делаю. Делать по примеру как тут описано?
источник

ВЕ

Витковский Евгений... in NestJS — русскоязычное сообщество
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
Витковский Евгений
Я в принципе это первый раз делаю. Делать по примеру как тут описано?
Ярослав, видимо, имеет в виду вот такой вариант: https://docs.nestjs.com/interceptors
источник

ВЕ

Витковский Евгений... in NestJS — русскоязычное сообщество
Там ведь просто создание интерсептора описывается и их виды. А мне нужно сохранять логи в json файле
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
Ты  создаешь интерцептор, прописываешь в нем логику на работу с файлом и вперпиндикуляриваешь его там, где нужно.
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
Ребят! А подскажите, пожалуйста, работа с Observable происходит только через Interceptor или я могу самостоятельно задавать переменную типа Observable? В микросервисе хочу получить ответ от эвента:
 processMessage(data: {
   username: string,
   message: string,
 }): Observable<any> {
   const { username, message } = data;
   const result = {
     error: false,
     message: `${username} ${message}`,
   };

   return result;
 }


И получаю ошибку: Type '{ error: boolean; message: string; }' is missing the following properties from type 'Observable<any>': _isScalar, source, operator, lift, and 6 more.

Я так понимаю, что мне нужно объявить новый Observable и там как-то запихать тот ответ, что хочу вернуть?
источник

VK

Vlad Krokhin in NestJS — русскоязычное сообщество
Можно писать логи в JSON формате и пайпить в файл
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
Gleb Tregubov
Ребят! А подскажите, пожалуйста, работа с Observable происходит только через Interceptor или я могу самостоятельно задавать переменную типа Observable? В микросервисе хочу получить ответ от эвента:
 processMessage(data: {
   username: string,
   message: string,
 }): Observable<any> {
   const { username, message } = data;
   const result = {
     error: false,
     message: `${username} ${message}`,
   };

   return result;
 }


И получаю ошибку: Type '{ error: boolean; message: string; }' is missing the following properties from type 'Observable<any>': _isScalar, source, operator, lift, and 6 more.

Я так понимаю, что мне нужно объявить новый Observable и там как-то запихать тот ответ, что хочу вернуть?
Просто в Nest прописано, что работа с подписками на Observable уже встроена в фреймворк. Тогда мне непонятно, как создавать объекты типа Observable и как их потом использовать? Пока складывается впечатление, что для этого есть механизм Interceptors.
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Gleb Tregubov
Просто в Nest прописано, что работа с подписками на Observable уже встроена в фреймворк. Тогда мне непонятно, как создавать объекты типа Observable и как их потом использовать? Пока складывается впечатление, что для этого есть механизм Interceptors.
const завернутыйВОбзервблОбьект = of(простойОбъект);
источник

🏡K

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

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
обзервблОбьект.toPromise()
источник

YK

Yaroslav Kuznetsov in NestJS — русскоязычное сообщество
Gleb Tregubov
Ребят! А подскажите, пожалуйста, работа с Observable происходит только через Interceptor или я могу самостоятельно задавать переменную типа Observable? В микросервисе хочу получить ответ от эвента:
 processMessage(data: {
   username: string,
   message: string,
 }): Observable<any> {
   const { username, message } = data;
   const result = {
     error: false,
     message: `${username} ${message}`,
   };

   return result;
 }


И получаю ошибку: Type '{ error: boolean; message: string; }' is missing the following properties from type 'Observable<any>': _isScalar, source, operator, lift, and 6 more.

Я так понимаю, что мне нужно объявить новый Observable и там как-то запихать тот ответ, что хочу вернуть?
Тебе правильно сказали, можно к элементам Rxjs из любого места обращаться, а в чем задача?
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
он не понимает что такое поток, он думает что это тип такой)
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
ну мне так кажется
источник