Commit Graph
57 Commits
Author SHA1 Message Date
skettiks ef995422dd refactor: обновить use case слои и интеграцию Jellyfin 2026-05-22 14:43:26 +03:00
skettiks 0dca1f7031 - добавлена модель персональных весов рекомендаций с нормализацией и ограничениями
- добавлена миграция для user_recommendation_weights и breakdown-полей recommendation_events
- рекомендации теперь используют пользовательские score/vector веса
- feedback ACCEPTED/REJECTED обновляет score-веса пользователя по последней рекомендации
- добавлен API для чтения и ручного обновления весов рекомендаций
- добавлен onboarding endpoint для начальной калибровки пользователя
- добавлены стили рекомендаций: balanced, quality first, mood first, discovery, similar to favorites
- onboarding сохраняет предпочтения, лайки/дизлайки, библиотеку, просмотренные фильмы и стартовые веса
- добавлены метрика обновления весов и расширенные smoke/unit тесты
2026-05-21 17:05:26 +03:00
skettiks a615450896 Пофиксил проблемы сборки 2026-05-21 14:57:41 +03:00
skettiks 00f53bc949 Реализована рекомендательная система: добавлены гибридный скоринг фильмов, события рекомендаций, accept/reject endpoints, watchUrl для Jellyfin, API DTO ответа и логирование выдачи рекомендаций. 2026-05-21 13:58:14 +03:00
50923e2e5a fix: address PR review thread issues
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/d4d6ebbb-2508-484e-accf-c891be54750f

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-20 18:33:34 +00:00
ITQ d0860cf137 integrations(jellyfin): add event ingestion and sync scaffolding + migration 2026-05-20 16:57:53 +03:00
ITQ 5f2a6d12ac core: restore compilation and tests (ports, DTOs, repo fixes, metrics) 2026-05-20 16:57:19 +03:00
ITQ ea7e66c1a0 <type>(scope): <description>
[body]

[footer(s)]
2026-05-20 03:38:30 +03:00
ITQ a48463b723 feat(ports): extended and actualized repository interfaces 2026-05-20 03:35:25 +03:00
ITQandGitHub 4fa6b5e873 Merge branch 'develop' into feat/extend-data-structures-48 2026-05-20 03:30:08 +03:00
ITQ b94599a652 style(): yet another formatting improvements 2026-05-20 03:24:37 +03:00
ITQ 967c1b818c chore(style): reformatted some files 2026-05-20 02:58:26 +03:00
ITQ 432659500b feat(domain): extended and actualized domain models 2026-05-20 02:57:46 +03:00
ITQ 8e89fe5f7f feat(entities): actualized entities and added new 2026-05-20 02:51:39 +03:00
ITQ 54305f7d16 chore(persistence): actualized jdbc adapters according to new data structures 2026-05-20 02:51:09 +03:00
skettiksandGitHub e956c058ac add Film observability with trace id and metrics (#44)
* add Film observability with trace id and metrics

* test: provide meter registry in FilmServiceTest
2026-05-19 16:13:10 +03:00
skettiks a4f99bbe8a * Синхронизировал UserEntity и UserRepository с актуальной моделью User и контрактом UserRepositoryPort: убрал устаревшую логику с password и исправил невалидные override.
* Убрал конфликтующие gRPC-зависимости, которые тянули несовместимый runtime/test stack.
* Сделал Flyway-миграцию `V2` с OAuth2-индексом совместимой с H2.
* Отключил security-фильтры в controller-тестах через `MockMvc`, чтобы убрать редиректы на авторизацию и нестабильные падения тестов.
* Восстановил локальный запуск и стабилизировал тестовый контур.
2026-05-15 21:18:46 +03:00
d4dbc108c8 fix: resolve CI compile failure and complete OAuth2 review fixes
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/62eaa8e4-560b-4737-be4b-478f1a4c484a

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-14 21:01:25 +03:00
Elena Ponomarevaandskettiks aecf19aa11 изменила название папки и убрала лишние импорты 2026-05-14 21:00:46 +03:00
Elena Ponomarevaandskettiks 82a0cec1cc дописала security 2026-05-14 21:00:46 +03:00
skettiks a10737a7f7 Исправлена сборка проекта после слияния с develop
Проблема:
- После слияния с develop возникли конфликты в реализации OAuth2
- Две ветки независимо реализовали OAuth2 функциональность по-разному
- Сборка проекта падала из-за отсутствия зависимостей OAuth2

Изменения:
- Временно отключена OAuth2 зависимость в build.gradle.kts
- Перенесен OAuth2 код в папку security.disabled для сохранения
- Добавлены исключения security.disabled из компиляции, ktlint и detekt
- Удалена миграция V2__add_oauth2_fields.sql (OAuth2 поля теперь в V1)
- Удалено поле password из User domain модели
- Обновлены репозитории и сервисы для работы с новой схемой БД

Результат:
- Проект успешно собирается (./gradlew build)
- Все 35 тестов проходят
- OAuth2 код сохранен для будущего использования
2026-05-14 21:00:06 +03:00
skettiks cf7e3411da - Перенесён OAuth2UserInfo.kt из adapters/security/ в application/ports/input/security/; обновлены импорты во всех зависимых файла
- В UserPrincipal.kt заменён star import java.util.* на явный java.util.UUID.

- В YandexOAuth2UserInfo.kt и VkOAuth2UserInfo.kt убрана аннотация @Suppress("UNCHECKED_CAST")

- В build.gradle.kts хардкод версии заменён на version catalog

- Из CustomOAuth2UserService.kt удалены комментарии на русском языке
2026-05-14 20:57:58 +03:00
skettiks 166c5be863 Исправлена V1 миграция - добавлена запятая после email
Реализован saveWithOAuth2() в UserRepository
Реализован findByProviderAndProviderId() в UserRepository
Обновлен CustomOAuth2UserService для использования OAuth2 методов
Исправил package declaration во всех 7 OAuth2 файлах
2026-05-14 20:57:58 +03:00
Elena Ponomarevaandskettiks 06e2b50ba5 OAuth2 (без тестов и ошибка с java) 2026-05-14 20:50:22 +03:00
glasharkandGitHub d8e59e2d12 Merge branch 'develop' into feat/spring-tests 2026-05-08 22:36:48 +03:00
267ecfef62 fix: keep removeFilm expression body with 204 response
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/42b7a686-07a7-41f5-baf7-737b968e12cf

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-08 17:52:48 +00:00
22025326e7 fix: align search test and available-films error handling
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/42b7a686-07a7-41f5-baf7-737b968e12cf

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-08 17:52:01 +00:00
47ff6d80bf merge: sync develop into feat/spring-tests
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/42b7a686-07a7-41f5-baf7-737b968e12cf

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-08 17:50:42 +00:00
e91ebb7bd0 fix: resolve detekt/ktlint issues blocking CI
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/42b7a686-07a7-41f5-baf7-737b968e12cf

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-08 17:48:57 +00:00
ITQ d9f45a9e4c style(format): run ktlint format 2026-05-03 21:08:43 +03:00
ITQandGitHub 9c7a562323 Merge branch 'develop' into hotfix/fix-ci 2026-05-03 20:18:25 +03:00
glasharkandGitHub f30488a3d1 Merge branch 'develop' into feat/spring-tests 2026-05-03 20:08:31 +03:00
ITQ 02d3f4580d fix(repository): temporary schema fix before #32 PR merge 2026-05-03 19:47:31 +03:00
ITQ 1d8e3dd4e1 style(format): reformatted with ktlint 2026-05-03 19:14:02 +03:00
ITQandGitHub 4f26ac23bf Merge pull request #19 from devitq/feat/controllers-add-missing-endpoints
feat: controllers add missing endpoints
2026-05-03 15:28:41 +03:00
b7a246e0b4 fix: address copilot review issues - explicit imports, trailing commas, 404 for not-found search, tests for available-films endpoint
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/60cd9b1b-e3e1-46a1-bfd9-04a75bd0d569

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-03 12:02:31 +00:00
Elena Ponomareva f563c3e7cf исправления 2026-04-24 23:47:56 +03:00
Elena Ponomareva 8120294d47 исправление 2026-04-24 22:55:56 +03:00
skettiks acd8f9fb01 Создан AuthProvider enum с провайдерами GOOGLE, YANDEX, VK
Создана UserEntity в adapters/persistence/entity с полями для OAuth
Добавлены extension-функции маппинга toDomain() и toEntity()
Обновлен UserRepository — использует UserEntity и добавлен метод findByProviderAndProviderId()
Созданы юнит тест - UserEntityMappingTest.kt
2026-04-21 18:47:55 +03:00
Elena Ponomareva 8926e5b08c импорты 2026-04-21 00:19:14 +03:00
Elena Ponomareva 88837d2e18 дописала get в контроллерах 2026-04-19 16:06:44 +03:00
Elena Ponomareva d69419b90d поиск по названию в библиотеке пользователя / во всей бд 2026-04-19 14:03:34 +03:00
ITQ caabc59bf3 chore(repositories): refactored jdbc adapters and fixed security issues 2026-04-18 13:46:30 +03:00
ITQ dd36ecdcbd chore(web): refactored REST controllers 2026-04-18 13:16:17 +03:00
ITQ 4113c1a873 feat(web): added global exception handler 2026-04-18 13:15:09 +03:00
ITQ f72e9080dc chore(web): splitted each dto into separate file 2026-04-18 13:14:48 +03:00
ITQ eb4903ad15 chore(): refactored vibecode 2026-04-18 12:06:23 +03:00
ITQ 1aaa9942a7 feat(services): added domain exceptions to services 2026-04-18 12:05:48 +03:00
ITQ 31a549f600 feat(domain): added domain exceptions 2026-04-18 12:04:33 +03:00
ITQ bbdd879c69 chore(): removed spring service as it is deprecated 2026-04-18 12:01:46 +03:00