Size: a a a

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

2020 October 09

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Goncharenko Dmitry
описание ага
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Если ты про TypeORM
источник

IL

Ivan Lazarev in NestJS — русскоязычное сообщество
если 1 юзер конектится , то bindClientConnect срабатывает столько раз сколько и гейтвеев
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Goncharenko Dmitry
описание ага
Adjacency list
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Ivan Lazarev
а  у кого-то есть опыт разработки нест апликейшена с несколькими WebsocketGatways
Не шарю =)
источник

GD

Goncharenko Dmitry in NestJS — русскоязычное сообщество
Это вот так просто?
@TreeParent()
parent: Category;
источник

А

Андрей in NestJS — русскоязычное сообщество
Konstantin Lobkov
Там же есть IsOptional
короче, я уже не знаю как объяснить) я сам начинаю запутываться))

валидация у меня проходит окей
Но await validate(object); вернет возмодные ошибки валидации, а не провалидированный объект, как это делает joi.

В итоге на валидацию может придти объект с лишними полями, которые не описаны в ДТО. То что описано будет провалидированно.

В дальнейшем при отсутвсии ошибок - я знаю, что объект валиден, но у него могут быть лишине поля, которые нигде не описаны.

Поэтому нужно трансформировать этот объект в ДТО удаляя все лишине поля - и на этом этапе начинаются проблемы)



входные данные 
{
  name: “testName”,
  badField: “test”
}

ДТО
@Exclude
class UpdateUserDto {
 @Expose()
 name: string;

 @Expose()
 cityId?: number;
}


У меня получались только такие варианты после различных эексперементами с опцыями
{
  name: “testName”,
  cityId: “undefined”
}
и

{
  name: “testName”,
  badField: “test”
}

а необходим мне такой вариант
{
  name: “testName”
}
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Goncharenko Dmitry
Это вот так просто?
@TreeParent()
parent: Category;
Не. Это ты для отношения many to many.
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
@andrei_zzz замапить объект в новый. В формат которой нужен?
источник

А

Андрей in NestJS — русскоязычное сообщество
Konstantin Lobkov
@andrei_zzz замапить объект в новый. В формат которой нужен?
да
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Class-tranform не сделает этого
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
class-tranform только для сериализации response
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Крч я сдаюсь =) мне джунов еще на работае натаскивать
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Можешь еще тут чуваков поспрашивать https://t.me/minskjson
источник

LK

L K in NestJS — русскоязычное сообщество
Андрей
короче, я уже не знаю как объяснить) я сам начинаю запутываться))

валидация у меня проходит окей
Но await validate(object); вернет возмодные ошибки валидации, а не провалидированный объект, как это делает joi.

В итоге на валидацию может придти объект с лишними полями, которые не описаны в ДТО. То что описано будет провалидированно.

В дальнейшем при отсутвсии ошибок - я знаю, что объект валиден, но у него могут быть лишине поля, которые нигде не описаны.

Поэтому нужно трансформировать этот объект в ДТО удаляя все лишине поля - и на этом этапе начинаются проблемы)



входные данные 
{
  name: “testName”,
  badField: “test”
}

ДТО
@Exclude
class UpdateUserDto {
 @Expose()
 name: string;

 @Expose()
 cityId?: number;
}


У меня получались только такие варианты после различных эексперементами с опцыями
{
  name: “testName”,
  cityId: “undefined”
}
и

{
  name: “testName”,
  badField: “test”
}

а необходим мне такой вариант
{
  name: “testName”
}
это надо ?
import { Expose, plainToClass } from 'class-transformer';

class User {
 @Expose() id: number;
 @Expose() firstName: string;
 @Expose() lastName: string;
}

const fromPlainUser = {
 unkownProp: 'hello there',
 firstName: 'Umed',
 lastName: 'Khudoiberdiev',
};

console.log(plainToClass(User, fromPlainUser, { excludeExtraneousValues: true }));

// User {
//   id: undefined,
//   firstName: 'Umed',
//   lastName: 'Khudoiberdiev'
// }
источник

А

Андрей in NestJS — русскоязычное сообщество
L K
это надо ?
import { Expose, plainToClass } from 'class-transformer';

class User {
 @Expose() id: number;
 @Expose() firstName: string;
 @Expose() lastName: string;
}

const fromPlainUser = {
 unkownProp: 'hello there',
 firstName: 'Umed',
 lastName: 'Khudoiberdiev',
};

console.log(plainToClass(User, fromPlainUser, { excludeExtraneousValues: true }));

// User {
//   id: undefined,
//   firstName: 'Umed',
//   lastName: 'Khudoiberdiev'
// }
вот это надо)
// User {
//   firstName: 'Umed',
//   lastName: 'Khudoiberdiev'
// }
источник

LK

L K in NestJS — русскоязычное сообщество
Андрей
вот это надо)
// User {
//   firstName: 'Umed',
//   lastName: 'Khudoiberdiev'
// }
вот именно что ты предлагаеш ь- нет

а просто удалить поля которые ты не объявил в классе- https://github.com/typestack/class-transformer#enforcing-type-safe-instance
источник

А

Андрей in NestJS — русскоязычное сообщество
Понял, спасибо всем за помощь
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Читал я значит статью про bcrypt. А там написано, что нужно сохранять salt в базе данных. У меня вопрос, зачем это может понадобится?
источник

LK

L K in NestJS — русскоязычное сообщество
Konstantin Lobkov
Читал я значит статью про bcrypt. А там написано, что нужно сохранять salt в базе данных. У меня вопрос, зачем это может понадобится?
источник