Партии: оптимистичная блокировка (version) — устаревшие правки/отмена отклоняются (фикс гонки завершить-vs-отменить)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -192,6 +192,8 @@ class MatchFinish(BaseModel):
|
||||
participants: list[MatchFinishParticipant]
|
||||
win_reason: WinReason
|
||||
overall_comment: str | None = None
|
||||
# Оптимистичная блокировка: версия партии, которую видел клиент (см. MatchRead.version).
|
||||
expected_version: str | None = None
|
||||
|
||||
|
||||
# Полный участник (правка завершённой партии админом).
|
||||
@@ -208,6 +210,7 @@ class MatchUpdate(BaseModel):
|
||||
overall_comment: str | None = None
|
||||
win_reason: WinReason | None = None
|
||||
participants: list[ParticipantInput] | None = None
|
||||
expected_version: str | None = None # оптимистичная блокировка
|
||||
|
||||
|
||||
class MatchParticipantRead(BaseModel):
|
||||
@@ -242,6 +245,7 @@ class MatchRead(BaseModel):
|
||||
overall_comment: str | None = None
|
||||
created_by: int
|
||||
can_modify: bool = False # может ли текущий зритель править/завершать партию
|
||||
version: str # для оптимистичной блокировки (iso updated_at); клиент шлёт обратно
|
||||
participants: list[MatchParticipantRead] = []
|
||||
attachments: list[AttachmentRead] = []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user