Size: a a a

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

2021 July 11

Y

Yaros in NestJS — русскоязычное сообщество
так, пока снес сваггер классы, которые и вызывают ошибку если в ангуляре их импортить. Есть несколько вариантов решения проблемы, например использовать общий интерфейс для ангуляра и неста и сваггеровские атрибуты, такие как ApiProperty вешать именно на нестовские классы, которые реализуют общий интерфейс.
источник

IS

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

MR

Mike Rain in NestJS — русскоязычное сообщество
ребят, привет!

подскажите в чем проблема при работе с mongoose:

я пишу утентификацию на примере офф. доки.

у меня есть функция validateUser в сервисе auth. в этой функции я получаю юзера по емайлу и возвращаю, вот пример:

async validateUser(email: string, password: string): Promise<User> {
   const user = await this.usersService.findByEmail(email);

   if (!user || !bcrypt.compareSync(password, user.password)) {
     throw new HttpException(
       'Email or password is incorrect',
       HttpStatus.FORBIDDEN,
     );
   }

   return user;
 }

обратите внимание на возвращаемый тип функции: Promise<User>

так вот, в контроллере, когда я получаю юзера из объекта запроса, я не могу обратиться е свойствам юзера, так как ругается typescript, типа этих свойств нет в типе User (Promise<User> который возвращает функция validateUser), хотя в объекте юзера эти свойства есть.


вот как ругается typescript на обращение к свойствам юзера
источник

MR

Mike Rain in NestJS — русскоязычное сообщество
а вот что есть в объекте юзера
источник

MR

Mike Rain in NestJS — русскоязычное сообщество
а вот схема юзера, которую я объявляю для возвращаемого типа в функции validateUser
источник

MR

Mike Rain in NestJS — русскоязычное сообщество
в общем я не могу обратиться к свойствам объекта юзера, тайпскрипт говорит что нет таких свойств в типе, но в типе они объявлены, я не могу уже неделю это решить, помогите пожалуйста разобраться
источник

MR

Mike Rain in NestJS — русскоязычное сообщество
PS: _id я объявил в схеме изначально, когда я не мог получить айдишник юзера, вот сюда его закинул, но как дальше оказалось, ко всем свойствам не могу доступ получить, ошибки тайпскрипт выбрасывает
источник

А

Аntosha in NestJS — русскоязычное сообщество
(await req.user).firstName пробовал?
источник

А

Аntosha in NestJS — русскоязычное сообщество
Хотя validate должен записывать не промис в req.user, но всё же попробуй)
источник

MR

Mike Rain in NestJS — русскоязычное сообщество
ну а как тогда блин писать такой код, это же треш...
источник

А

Аntosha in NestJS — русскоязычное сообщество
Так работает?
источник

MR

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

А

Аntosha in NestJS — русскоязычное сообщество
Так у тебя же не тот тип
источник

А

Аntosha in NestJS — русскоязычное сообщество
Не этот.
источник

А

Аntosha in NestJS — русскоязычное сообщество
CreateUserDto покажи
источник

MR

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

MR

Mike Rain in NestJS — русскоязычное сообщество
тут тоже все есть, но это не User тип, User тип это схема, которую я выше показывал
источник

MR

Mike Rain in NestJS — русскоязычное сообщество
по идее тут все правильно
источник

А

Аntosha in NestJS — русскоязычное сообщество
Ну так и обращайся через знак вопроса
источник

А

Аntosha in NestJS — русскоязычное сообщество
Покажи свою функцию validate
источник