Size: a a a

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

2020 August 13

ИЧ

Илья Чирков... in NestJS — русскоязычное сообщество
Ilya
Entity описывает схему бд,  интерфейс для модели нужен далеко не всегда, Dto на вход и на выход, если они отличаются от Entity, на мой взгляд так
т.е. внутри сервиса работать с DTO это нормальная практика?
источник

I

Ilya in NestJS — русскоязычное сообщество
Илья Чирков
т.е. внутри сервиса работать с DTO это нормальная практика?
Я не вижу проблем, смысл дто в передаче данных между слоями приложения
источник

ИЧ

Илья Чирков... in NestJS — русскоязычное сообщество
Ilya
Я не вижу проблем, смысл дто в передаче данных между слоями приложения
понял, спасибо
источник

GG

Go Go in NestJS — русскоязычное сообщество
Ilya
Entity описывает схему бд,  интерфейс для модели нужен далеко не всегда, Dto на вход и на выход, если они отличаются от Entity, на мой взгляд так
Всегда на выход нужно делать dto, лучше не оголять entity
источник

I

Ilya in NestJS — русскоязычное сообщество
Go Go
Всегда на выход нужно делать dto, лучше не оголять entity
Согласен 👌
источник

ИЧ

Илья Чирков... in NestJS — русскоязычное сообщество
Go Go
Всегда на выход нужно делать dto, лучше не оголять entity
я про вот это, а не entity базы данных
https://docs.nestjs.com/techniques/serialization
источник

ИЧ

Илья Чирков... in NestJS — русскоязычное сообщество
или этот class-transformer именно к сущности бд и нужно подвязывать?
источник

I

Ilya in NestJS — русскоязычное сообщество
Это и есть Dto, в примере называется entity вводит в заблуждение только
источник

I

Ilya in NestJS — русскоязычное сообщество
Илья Чирков
или этот class-transformer именно к сущности бд и нужно подвязывать?
из entity схемы трансформируй черед dto на выход
источник

ИЧ

Илья Чирков... in NestJS — русскоязычное сообщество
Ilya
из entity схемы трансформируй черед dto на выход
ага, т.е. один dto с class-validator на вход и другой с class-transformer на выход?
источник

I

Ilya in NestJS — русскоязычное сообщество
Илья Чирков
ага, т.е. один dto с class-validator на вход и другой с class-transformer на выход?
Да
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Илья Чирков
немного запутался в изучении неста, поправьте пж где я не прав
в контроллере на вход от пользователя мы принимаем DTO для валидации, далее сервис уже работает с интерфейсом и когда сущность нужно вернуть пользователю мы создаем Entity для сериализации
т.е. DTO это только то что идет на вход, внутри приложения используем interface, а перед выдачей пользователю преобразовываем объект в Entity использующий class-transformer?
учитывая что еще отдельно entity/schema для бд, то получается аж 4 файла описывающих одну и ту же сущность
как с этим жить?
Их дофига потом станет) нужно не просто такой же класс с такими же полями делать а типизации оригинала юзать и типы полей оригинала

class SignInDto implements Omit<User Entity, 'username'|'password'>{
username:string;
password:string;
}
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Если проперти ентити сменит тип у тя ругнется
источник

🏡K

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

deleteUser(id: UserEntity['id']){}
источник

🏡K

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

🏡K

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

BO

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

VT

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

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Babenko Oleg
Привет) Если есть кто, например, из мира Rails, знают что такое Service Objects - грубо говоря подход, в котором операции, которые сложнее простого обновления записи в контроллере, выносятся в отдельные классы. Теперь к несту - у меня в приложении,  есть генерация огромного отчета с огромной кучей кода и логики. Хочется это разбить, но какой подход применять? Есть бест практис? Во что это выносить? Куда это выносить?)
Не знаком с rails, но звучит так, будто это просто бизнес-логика и можно вынести в обычный ES модуль, либо nest сервис.
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Смотря с чем этот кусок кода связан и как
источник