SSE: не рассылать ratings на правки без влияния на рейтинг; событие group при смене настроек группы

- notify.match_changed получил флаг ratings: фото (игрок и админ) его не шлют, правка
  партии — только если изменились входы рейтинга (match_service.rating_inputs до/после).
- PATCH /api/groups/{id} публикует group — переименование и правило 9 раундов видны
  остальным участникам сразу.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 13:52:44 +03:00
co-authored by Claude Opus 5.5
parent 0b33b442e9
commit ef0e75aef2
6 changed files with 97 additions and 9 deletions
+6 -3
View File
@@ -32,12 +32,15 @@ def _ratings_changed(session: Session, notified: list[int]) -> None:
hub.publish(ids, {"type": "ratings"})
def match_changed(session: Session, match: Match) -> None:
def match_changed(session: Session, match: Match, *, ratings: bool = True) -> None:
"""Партия изменилась — уведомить всех участников её группы, а если она завершена —
и остальных игроков (_ratings_changed)."""
и остальных игроков (_ratings_changed).
ratings=False — правка, которая рейтинг не двигает (фото, комментарий): тогда
остальным игрокам незачем перезапрашивать все рейтинговые витрины."""
members = _group_member_ids(session, match.group_id)
hub.publish(members, {"type": "match", "match_id": match.id, "group_id": match.group_id})
if match.status == "finished":
if ratings and match.status == "finished":
_ratings_changed(session, members)