Daniel Schädler
e26bc50ce3
Merge remote-tracking branch 'origin/master' into codex/tur-223-match-metadata
2026-05-04 17:41:24 +02:00
Daniel Schädler
0cbcb64066
feat(matches): add match metadata updates
2026-05-04 15:10:11 +02:00
Daniel Schädler
794f835148
fix(tournaments): keep owner data out metadata
...
Tournament metadata remains optional and tournament-scoped.
2026-05-04 14:55:48 +02:00
Daniel Schädler
9b10cc12d2
feat(tournaments): add metadata fields
...
Add typed tournament metadata to API payloads and follower sync.
2026-05-04 14:43:20 +02:00
Daniel Schädler
54975d969b
Merge remote-tracking branch 'origin/master' into codex/tur-30-transaction-log
2026-04-30 14:07:12 +02:00
Daniel Schädler
21e1463b64
feat: add tournament transaction log
2026-04-30 10:04:56 +02:00
Daniel Schädler
2b63e61475
fix(sync): protect follower sync tokens
...
Store read-only receiver tokens as keyed digests and expose only sync_auth_configured in owner responses. Keep leader push tokens write-only in API responses because outbound sync still needs to send them.
Refs TUR-84
2026-04-30 09:32:37 +02:00
Daniel Schädler
3008b9fd50
TUR-137 add timer reasons
2026-04-28 12:28:01 +02:00
Daniel Schädler
acdef9f5b4
feat(beamers): replace asset URLs with config
...
Add beamer config JSON, drop obsolete asset URL fields, and narrow display_state to the new beamer API states. Migration maps legacy display states to supported values and initializes config to {}.
2026-04-26 16:13:12 +02:00
Daniel Schädler
35e66f6aeb
Keep group identity in live match payload
2026-04-24 16:12:43 +02:00
Daniel Schädler
63757c6b5c
Add live tournament match websockets
2026-04-24 13:47:19 +02:00
Daniel Schädler
e9ef73c230
refactor: rename timer db column
2026-04-24 11:39:26 +02:00
Daniel Schädler
8b17bc0608
Merge remote-tracking branch 'origin/codex/tur-55-tur-56-timer-websocket' into codex/tur-55-tur-56-timer-websocket
...
# Conflicts:
# README.md
2026-04-24 10:15:14 +02:00
Daniel Schädler
69bd43b288
refactor: rename timer API field to timestamp
2026-04-24 10:13:44 +02:00
Daniel Schädler
b0bbbb8ce5
Merge branch 'master' into 'codex/tur-55-tur-56-timer-websocket'
...
# Conflicts:
# e2e/lib/action_cable_client.rb
# tasks.py
2026-04-23 21:57:14 +00:00
Daniel Schädler
afff813994
feat: add timer modes and websocket updates
2026-04-23 23:29:03 +02:00
Daniel Schädler
7151976d26
feat: add backend beamer live updates
2026-04-23 14:35:16 +02:00
Daniel Schädler
7d65e4df82
feat: track team action list completion
2026-04-22 16:51:17 +02:00
Daniel Schädler
2019d0d029
test: hide sync metadata from public show
2026-04-20 19:48:10 +02:00
Daniel Schädler
4b3b825895
Add sync params to Tournament Serializer
2026-04-19 13:51:16 +02:00
Daniel Schädler
761bb8daea
Simplify default beamer handling
2026-04-16 13:02:40 +02:00
Tobias Huber
58267b6b3a
Fix timer timezone handling
2026-04-14 07:10:51 +02:00
Tobias Huber
19f744daeb
Add Beamer entity with CRUD API and name-based lookup
...
New Beamer model scoped to tournaments for multi-projector display control.
Includes migration, validations, serializer, controller with by_name
fallback endpoint, routing, and full RSpec test coverage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 07:10:44 +02:00
Daniel Schädler
4713a020fa
Implement TUR-58 group stage decider matches
2026-04-12 19:13:52 +02:00
Daniel Schädler
eedafe1276
Add ranking decision metadata for group scores
2026-04-12 17:47:28 +02:00
Daniel Schädler
34814a837a
Merge remote-tracking branch 'origin/master' into annotate_advancing_teams
2025-03-14 13:27:03 +01:00
Daniel Schädler
963812cb0c
Annotate advancing teams that advance from group stage
2025-03-14 13:23:10 +01:00
Daniel Schädler
f7dc8411f4
Include timer_end in TournamentSerializer
2025-03-14 12:44:22 +01:00
Daniel Schädler
4a8cb71fc4
Add and calculate position to sort group_scores by
2024-04-07 21:17:45 +02:00
Daniel Schädler
1084d836c1
Implement sorting correctly with <=> operator
2024-04-07 18:07:55 +02:00
Daniel Schädler
86651169e9
Sort group scores correctly in backend
2024-04-07 17:24:42 +02:00
Daniel Schädler
94aaa2d8f4
Add missing end of class
2022-06-25 16:57:14 +02:00
Daniel Schädler
d18efbac96
Remove bets instead of just commenting
2022-06-12 21:42:01 +00:00
Daniel Schädler
40edc85562
Disable bet serialization when matches are requested
2022-05-29 23:58:12 +02:00
Thor77
28d047b1bf
Include parent group/stage in .index
2019-11-06 15:58:10 +01:00
Thor77
041ee4ab2c
Include bets in match resource
2019-06-18 18:51:55 +02:00
Thor77
123649a4f4
Add collection serializer for bets
2019-06-18 18:51:55 +02:00
Thor77
6d12f889c5
Add Bet serializer
2019-06-17 13:48:50 +02:00
Daniel Schädler
2e336262aa
Add state to stage
...
This state is required to stop the group stage and trigger playoff
generation, it is (for now) irrelevant for anything other than that.
2019-06-13 13:21:24 +02:00
Daniel Schädler
f5b610703c
Add two new parameters to tournament
...
instant_finalists_amount is the amount of teams that instantly are in
the finals after the group stage ends.
intermediate_round_participants_amount is the amount of teams that have
a chance to advance after group stage but must play a relegation game to
actually do so.
Both of these values need to match, so that
instant_finalists_amount + (intermediate_round_participants_amount / 2)
is a power of 2. Or to be more precise, the power of two that is saved
in playoff_teams_amount of the tournament.
2019-06-13 13:21:24 +02:00
Thor77
91fe9dba16
Add winner attribute to match serializer
2019-05-28 23:18:55 +02:00
Thor77
5126e5ae76
Add position to MatchSerializer
2018-12-11 17:14:43 +01:00
Thor77
d1bc3de6b0
Add owner_username attribute to Tournament
...
displaying the username of the user owning the tournament
2018-12-11 17:14:43 +01:00
Thor77
e3bbe2b773
Include description only in full Tournament
2018-12-11 17:12:55 +01:00
Thor77
baf1acc10b
Include team-relation in MatchScoreSerializer
2018-12-11 17:12:55 +01:00
Thor77
2f4df349c0
Add GroupScore, Group and StageSerializer
2018-12-11 17:12:55 +01:00
Thor77
bfe1c07fdc
Include id-attribute for all serializers
2018-12-11 17:12:55 +01:00
Thor77
25b558105a
Serialize has_one match relation
2018-11-30 14:42:12 +01:00
Daniel Schädler
68f9b3b2b3
Change Score to MatchScore & MatchScore score attribute to points
...
This is done to improve the naming and therefore make things easier to understand.
2018-11-30 14:15:48 +01:00
Thor77
d1f66b18d4
Add tournament serializers
...
SimpleTournamentSerializer excludes relationships and should be used for
listings
2018-11-25 22:55:48 +01:00