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

И еще почему ты внтури TrackRepository, еще один trackRepository получаешь?

Зачем вокруг существующего репозитория обертку пишешь?

48 ответов

8 просмотров

я думаю так правильно

Alexander- Автор вопроса
Alexander
Почему?

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

Alexander- Автор вопроса
21th
ну я спрашивал в чате, где обычно люди архитектурн...

Ну что значит сказали. Надо понимать зачем ты это делаешь

Alexander
Ну что значит сказали. Надо понимать зачем ты это ...

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

А чем они отличаются?

Алексей Попов
А чем они отличаются?

вроде как переменная в res по окончанию запроса стирается, а res.app.locals не стирается, и действительно при повторном запросе переменная остаётся, по этому я хз как мне из multer правильно без кастылей передать данные в контроллер

21th
вроде как переменная в res по окончанию запроса ст...

Я про отличие TrackRepository от репозитория, который ты получаешь для Track

Алексей Попов
А чем они отличаются?

trackRepository это дефолтная работа с сущностью базы данные, то есть методы trackrepository.find, trackRepository.findOne и так далее, а Trackrepository это свой уровень абстракции, чтобы не писать один и тот же код, так мне удобно и это не считается не правильным

21th
trackRepository это дефолтная работа с сущностью б...

Кем это не считается неправильным? А можно было твой TrackRepository отнаследовать от дефолтного и иметь один класс (и слой) вместо двух?

21th
я тебя не понял

Ни один из вопросов не понял? Если только второй, то смотри: getRepository возвращает объект какого-то класса, я правильно понимаю? Если бы твой класс наследовался от этого класса, то тебе не надо было бы получать инстанс этой дефолтной сущности, у тебя её методы и поля были бы доступны через this Так можно было сделать?

21th
screenshot ?

Я не знаю что там у тебя происходит и что можно сделать. Я просто спрашиваю, потому что твой код действительно вызвал сомнения Разве getRepository (Track) возвращает инстанс класса Track?

Алексей Попов
Кем это не считается неправильным? А можно было т...

на первый вопрос, я спрашивал у людей в чате посвященном архитектуре, там большинство не было против такой абстракции

Алексей Попов
Я не знаю что там у тебя происходит и что можно сд...

нужно запрашивать репозиторий как я изначально делал, так как при расширении класса TrackRepository, хотя и методы добавляются те же самые, но типизация отсутсвует, да и к тому же документация советует делать именно this.trackRepository = dataSource.getRepository(Track);

21th
нужно запрашивать репозиторий как я изначально дел...

Ради интереса глянул документацию, и там написано другое In order to extend UserRepository functionality you can use .extend method of Repository class: export const UserRepository = dataSource.getRepository(User).extend({....

Алексей Попов
Ради интереса глянул документацию, и там написано ...

честно меня мало это волнует, я явно ничего неправильного не делаю, ты меня уводишь в какой то другой вопрос, который мне мало интересен, когда есть актуальный с multer'ом

21th
честно меня мало это волнует, я явно ничего неправ...

Ну это смотря что понимать под "неправильно". Плохо написанный код может давать нужный результат, причём зачастую это нормальная ситуация, и если считать такой подход правильным - тогда всё ок

Алексей Попов
Ну это смотря что понимать под "неправильно". Плох...

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

Алексей Попов
Ну это смотря что понимать под "неправильно". Плох...

не буду скидывать в общем, в падлу, это и так понятно что там нельзя плохо сделать

21th
не буду скидывать в общем, в падлу, это и так поня...

Возможно, я не знаю Но я смотрю на код и не понимаю почему есть два разных TrackRepository. Думаю будет полезно если ты сможешь объяснить почему плохо расширять тот репозиторий, который даёт typeorm

Алексей Попов
Возможно, я не знаю Но я смотрю на код и не понима...

да, я скину сейчас скрин, покажу зачем я так делаю, секунду

Алексей Попов
Возможно, я не знаю Но я смотрю на код и не понима...

в общем, это метод как раз моего UserRepository, для того чтобы запросить пользователя по айди, я так же подтягиваю в поле relations связи, а отстальные подтягиваются по дефолту, это описано в самой сущности в декораторе Column. То есть мне не нужно много раз переписывать эти 3 строчки, я просто пишу const findUser = await userRepository.findUserById(3) Там может быть больше чем 3 строчки, ну в общем, здесб ошибиться вряд ли получится

Это вообще никак не связано с тем, что я хотел узнать Мне было интересно почему ты создал новый класс TrackRepository и в нём подтянул репозиторий вызовом getRepository (Track), а не стал расширять "дефолтный" репозиторий для Track (если я правильно понимаю, он как раз возвращается вызовом getRepository) Мне кажется что репозиторий над репозиторием это весьма странная конструкция, но я практически не знаком с typeorm, и если для него это нормально, хочется понять почему

Алексей Попов
Это вообще никак не связано с тем, что я хотел узн...

я typeorm понял за 2 дня, после sequelize, я корректно сказать не могу, но мне посоветовали сделать это опять же в архитектурном чате

21th
я typeorm понял за 2 дня, после sequelize, я корре...

Ясно, что ничего не ясно :-/ А что за чат?

21th
@oop_ru

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

Алексей Попов
Почитал, там один человек идею репозитория над реп...

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

Я же уже цитировал доку typeorm: typeorm.io/custom-repository#how-to-create-custom-repository

Алексей Попов
Я же уже цитировал доку typeorm: typeorm.io/custom...

то есть я неправильно делаю думаешь?

21th
то есть я неправильно делаю думаешь?

я думаю шо ты глупый просто

21th
то есть я неправильно делаю думаешь?

Я думаю что ты не стараешься разобраться самостоятельно, не пытаешься понять почему именно так, и можно ли как-то иначе

Алексей Попов
Я думаю что ты не стараешься разобраться самостоят...

что значит не стараюсь разобраться? Перенимать опыт других это плохо? Или как по твоему надо разбираться самому

21th
ладно

Он сам тоже "глупые" вопросы задаёт https://t.me/nodejs_ru/848695

Dmitry Croft
Он сам тоже "глупые" вопросы задаёт https://t.me/...

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

21th
хзхз, я же по сути в телеграме аноним, меня особо ...

Согласен, это я в твою поддержку скинул ссылку на его проблему которую он пытался решить. Она тоже может показаться "глупой", хотя это по факту не имеет значения. Есть вопрос - задавай, разбирайся в проблеме, а то потом будешь в монге хранить "неструктурированные неважные данные"

Dmitry Croft
Согласен, это я в твою поддержку скинул ссылку на ...

Чел назвал меня глупым, я ему по кд на вопросы отвечаю, которые в доке легко ищутся Ты чего лезешь?

21th
@oop_ru

Такой вопрос, я тут мб вклинюсь, но разве репозиторий не должен абстрагировать от конкретной бд и библиотеки? Тогда почему оно создается как я понял по документации - средствавми TypeORM

🅰️nimeCoder
Такой вопрос, я тут мб вклинюсь, но разве репозито...

я задавал кста этот вопрос у кого то, я перешлю ответ

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
3
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Карта сайта