209 похожих чатов

Всем привет))) помогите кто может, уже 2 часа

сижу, туплю сильно. Что мы имеет, REST модуль это сборка модулей которые работают на REST, и пишут в базу, MyTcpService, небольшой сервис для общения между сервером и устройствами (на TCP потоком байт), выступает как сервис-траслятор, переводит нормальные читаемые запросы в байты и пуляет их на устройство и наоборот. В TCP использую один из сервисов который описан внутри модуля который импортируется в RESTModule. При запуске выходит ошибка. Пытался уже и модуль с нужным сервисом передать внутрь app.module, и чисто его сервис (в обоих случаях указывая нужный сервис в провайдерах app), толку нет. Куда рыть?

28 ответов

94 просмотра

MyTcpService использует PivotRepository, которого нету в контекстt этого модуля) Нужно добавить импорт соответствующего модуля, который экспортирует PivotRepository

Павел Еременко
Делал, не помогло...

Значит неправильно делали, покажите как пробовали

Ага, а теперь скрин содержимого PivotModule

Уберите отсюда PivotService из провайдеров

Павел Еременко
screenshot Таже...

У вас тайпорм импортируется в пивот модуле, у MyTcpSerivce нету доступа к репозиториям из того модуля

Антон Горбачёв
У вас тайпорм импортируется в пивот модуле, у MyTc...

1) Быстрый фикс. Выпилить от сюда строчку с @InjectRepository(Pivot) и его использование из этого сервиса, всё сразу заработает 2) Нормально реорганизовать структуру модулей. Пример очень простого наброска, без разделения на инфраструктурные и бизнесовые модули и тд. AppModule: Imports: [TypeOrmModule.forRoot(тут конфиг), RestModule, PivotModule, TcpModule] TcpModule: imports: [PivotModule] -< Сюда можно добавить TypeOrmModule.forFeatue если нужно работать в бд с чем-то связанным именно с tcp, но не с Pivot и тд. providers: [TcpService] PivotModule: imports: [TypeOrmModule.forFeature([Тут нужные энтити конкретно для этого модуля])] controllers: [PivotController], providers: [PivotService] exports: [PivotService] Дальше мы уже в TcpService через конструктор прокидываем PivotService и работаем через него. Тут ответственность TcpService только общаться через tcp, всё остальное он должен делать через другие сервисы, например через PivotService, вызывая его методы

Павел-Еременко Автор вопроса
Антон Горбачёв
1) Быстрый фикс. Выпилить от сюда строчку с @Injec...

Выкидываем typeorm и ставим призму и все становится хорошо

It's me
Призма кроме типов ничего не даёт

Кодогенерацию, типобезопасность, кроссязычность

Вот кстати, самое важное, поскольку лучше писать raw запросы, чем обмазываться билдером

Evgenii 🇷🇺🇷🇸
Вот кстати, самое важное, поскольку лучше писать r...

Скучаю за временами когда я писал на пыхе и делал все на raw, а щас отупел блять

Evgenii 🇷🇺🇷🇸
Кодогенерацию, типобезопасность, кроссязычность

Забыл главное - скорость и удобство разработки простых крудов, которых в большинстве проектов больше всего

Evgenii 🇷🇺🇷🇸
Кодогенерацию, типобезопасность, кроссязычность

Не, я про то, что с тайпорм можно решить проблемы, которые призма не решит. Ту же логику в сущности не перенесешь с призмой. Она крутая, но для кецсов где дёргать табличкт достаточно

It's me
Это как?

Сам sql валидирует и переменные тоже

Susa
Сам sql валидирует и переменные тоже

А призма может невалидный sql сгенерировать? Зачем его валидировать?

Похожие вопросы

Обсуждают сегодня

Карта сайта