1. Изменил сущность уведомлений. Добавил дату регистрации уведомления.
2. Добавил миграцию.
3. Изменил репозитории. Убрал метод для обновления коллекции уведомлений.
4. Поправил запрос для отправки уведомлений и метод контроллера.
5. Поправил логику обновления уведомления. Теперь обновление состояния уведомления происходит в транспорте, после успешной отправки уведомления.
1. Адаптировал EmailService под сервис транспорта отправки уведомлений по Email
2. Заменил использование EmailService на NotificationService
3. Поправил тесты
4. Создал запрос для отправки уведомлений
1. Поправил обновление отправленных уведомлений.
2. Поправил ConnectionManager. Переименовал сервис, удалил абстракцию, так как предполагается только одна реализация.
3. При маппинге из dto в сущность для уведомления добавил игнорирование категории и пользователя.
4. Изменил жизенный цикл зависимости для отправителя.
5. Добавил в репозиторий метод для обновления коллекции уведомлений.
6. Поправил Hub, Id пользователя можно получать внутри хаба.
7. Поправил NotificationRequest + метод BuildQuery в NotificationRepository
1. Добавил новый метод в контроллер.
2. В репозитории сделал проверку на наличие справки для страницы.
3. В методах контроллера добавил фильтрацию для id категории.
1. Поменял время жизни для отправителей уведомлений.
2. Добавил метод в контроллере для получения уведомления по Id.
3. Поправил хаб уведомлений
4. Небольшие фиксы в репозитории и сервисах
Основная проблема была в том, что после редактирования списка компаний для скважины не сбрасывался кэш. Я добавил вызов метода DropCacheRelationCompanyWell и сделал небольшой рефакторинг метода обновления.
1. Контроллер для фактических категорий
2. Дополнил TrajectoryGeoDto, некоторые параметры траекторий могу совпадать. Принял решение вынести это в базовый класс
3. Рефакторинг репозитория