Этап
Открыта
Тип
Рефакторнинг
Приоритет
Повышенный
Трудоемкость
Обычная
Создана
Дата создания
18 дней назад
Назначена
Обновлена
18 дней назад

У нас есть сущности прикрепляемые не к чему-то конкретному, а к разным сущностям. В целом это распространенный паттерн, но есть проблемы. Когда прикрепляемая сущность создается, мы знаем к какому объекту её крепить, и храним в ней не тлько пару entityType/entityId, но и саму сущность. Она например используется для созданя активности, чтобы было понятно, что комментарий или файл не просто был создан, но был создан и прикреплен к задаче.
Но в дальнейшем, это сущности уже не существует, реляции на любую сущность нет, и хранить там нечего. пРи этом атрибут в сщности есть и активностьможет попытаться её использовать. Это нормлаьно работало для комментария, у которого одна активность - добавление нового. но например с файлом который можно удалить уже так не работает, и активность удаление файла пытается прикрепиться к тому, чего нет. а когда сделаем редактируемые комментарии, эта проблема появится и у них

Соответственно надо либо избавиться от неё в прикрепляемой сущности, и по месту искать источник (например в фабрике (точнее системе фабрик) для активности. Либо же сделать такой атрибут автозаполняемым как реляцию в момент использования. правда внутри сущности нельзя вызывать сервисы. так что этот вариант такой себе

Затрагивает tndt-77 (файлы), tndt-17 и tndt-73 (комментарии).
Связан с tndt-220 вероятно их хэндлерами и нужно искать ownerEntity по типу и id сущности.

Панель управления

Комментарии могут оставлять только авторизованные пользователи