Daniel Schädler
4d9255354b
Reset sync retries on new snapshots
2026-04-14 21:34:04 +02:00
Daniel Schädler
8bdd7fd1be
Enqueue sync after transaction commit
2026-04-14 20:59:30 +02:00
Daniel Schädler
3cbeff617a
Allow follower takeover updates
2026-04-14 20:11:42 +02:00
Daniel Schädler
0ba86c84f0
Clear follower token on takeover
2026-04-14 18:29:30 +02:00
Daniel Schädler
871ad84a48
Reload tournament before sync snapshot
2026-04-14 15:49:02 +02:00
Daniel Schädler
8ab53fa854
Fix follower sync E2E helper
2026-04-14 14:27:34 +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
bbb1ad97ef
Make follower sync asynchronous
2026-04-13 20:54:28 +02:00
Daniel Schädler
133ebae847
Add read-only tournament follower sync
2026-04-13 20:32:34 +02:00
Daniel Schädler
b02857782f
Restore legacy 403 for unauthenticated match updates
2026-04-12 19:38:35 +02:00
Daniel Schädler
4713a020fa
Implement TUR-58 group stage decider matches
2026-04-12 19:13:52 +02:00
Daniel Schädler
6d21dad5d7
Fix final match completion after group stage
2026-04-12 18:07:08 +02:00
Daniel Schädler
eedafe1276
Add ranking decision metadata for group scores
2026-04-12 17:47:28 +02:00
Daniel Schädler
7cef4a9b5e
Fix group score direct comparison tiebreak
2026-04-12 17:03:33 +02:00
Daniel Schädler
c8b0f1a7a3
Syntax improvements
2025-03-16 12:41:47 +01:00
Daniel Schädler
f00c5ac8dc
Merge branch 'annotate_advancing_teams' into 'master'
...
Annotate advancing teams
See merge request turniere/turniere-backend!28
2025-03-14 14:23:58 +00:00
Daniel Schädler
b1cc300d98
Merge branch 'first_vs_second_with_offset' into 'master'
...
First vs second with offset
See merge request turniere/turniere-backend!29
2025-03-14 12:35:17 +00: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
dd520089ec
Fix missing stages and teams in tournaments show
2025-03-14 13:22:52 +01:00
Daniel Schädler
f71c7ec57f
Merge branch 'timer' into 'master'
...
Timer
See merge request turniere/turniere-backend!30
2025-03-14 12:00:29 +00:00
Daniel Schädler
f7dc8411f4
Include timer_end in TournamentSerializer
2025-03-14 12:44:22 +01:00
Daniel Schädler
fafc4d3937
Rubocop
2025-03-13 12:35:27 +01:00
Daniel Schädler
5ab18063dd
Fix bug where uneven groups cause 500 when requesting beamer view
2025-03-13 12:34:05 +01:00
Daniel Schädler
16e65a3b03
Fix missing checks
2025-03-10 12:56:20 +01:00
Daniel Schädler
4d1e2c5164
Add option to also pass seconds to timer_end
2025-03-10 12:37:19 +01:00
Daniel Schädler
7b9a454cb6
Fix syntax in tournaments_controller.rb
2025-03-10 11:49:51 +01:00
Daniel Schädler
79bafec693
Add advancing teams into tournaments show endpoint
2025-03-09 21:05:41 +01:00
Daniel Schädler
bb61d514a0
Fix Utils call
2025-03-09 19:34:15 +01:00
Daniel Schädler
c5dd8beb00
Typo
2025-03-08 17:39:51 +01:00
Tobias Huber
3c1168212e
add timer_end to tournaments model
2025-03-08 17:08:48 +01:00
Daniel Schädler
cc04383191
Fix split and rotate in utils
2025-03-04 22:46:05 +01:00
Daniel Schädler
6fcdeac054
Move array splitting and rotating to utils
2025-03-04 21:34:16 +01:00
Tobias Huber
fdfea9100d
comments
2025-03-02 13:22:20 +01:00
Tobias Huber
5a7ff67e73
needs testing
2025-03-02 13:17:38 +01:00
Daniel Schädler
92acbbc221
Split up get_advancing_teams
2025-02-12 21:52:23 +01:00
Daniel Schädler
f36c7817d1
Add offset for second team to make rematches possible in finale only
2025-02-12 21:47:51 +01:00
Daniel Schädler
e70d16b688
Add special case for po2 teams in tournament and half advancing
2024-04-07 23:10:36 +02:00
Daniel Schädler
c35905b52a
Improve readability
2024-04-07 22:45:28 +02:00
Daniel Schädler
b072104241
Beautify code
2024-04-07 22:01:23 +02:00
Daniel Schädler
5d857c5d82
Remove position from comparison
2024-04-07 21:40:59 +02:00
Daniel Schädler
2705cd0bdb
Assign position directly
2024-04-07 21:21:17 +02: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
6432296391
Fix logging
2022-07-01 22:21:23 +02:00
Daniel Schädler
b609549659
Add logging if updating group scores fails
2022-07-01 20:19:57 +02:00
Daniel Schädler
a67ef86dca
Fix upcoming matches not returning for group stage
2022-06-29 22:48:54 +02:00
Daniel Schädler
8d438946fe
Merge branch 'master' into performance
2022-06-25 21:32:17 +02:00
Daniel Schädler
385e2554b2
Shuffle intermediate stage match position before populating stage below
2022-06-25 21:28:44 +02:00
Daniel Schädler
bbb8e209df
Update groups points at start and end of a match
2022-06-25 18:20:59 +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
Thor77
96abf0536a
Add simple health check
2022-06-10 19:18:08 +02:00
Daniel Schädler
40edc85562
Disable bet serialization when matches are requested
2022-05-29 23:58:12 +02:00
Daniel Schädler
ead6d4f475
TUR-9: Alter match filter for playoff stage to how it probably was meant to be
2022-05-20 09:41:01 +02:00
Daniel Schädler
afa9a26d93
Add documentation to upcoming matches filter
2022-05-20 09:27:54 +02:00
Daniel Schädler
22ab1eb69b
TUR-9: Remove unnecessary reject (this never did anything; there is no state "running")
2022-05-20 09:27:54 +02:00
Daniel Schädler
e184c76083
WIP
2022-05-20 09:27:53 +02:00
Daniel Schädler
dc0afbec14
TUR-22: Add documentation to match reordering
2022-05-20 00:25:02 +02:00
Daniel Schädler
0b6ad3f879
Improve group match order
2022-05-20 00:24:21 +02:00
Daniel Schädler
c3af6f9232
Rubocop -A
2021-08-15 14:31:50 +02:00
Daniel Schädler
1a96cefbc8
Guard clause to make Hound woof
2019-11-09 00:00:43 +01:00
Daniel Schädler
8c39fa9894
Manually sort position of groups of 4 teams
2019-11-08 23:51:23 +01:00
Thor77
28d047b1bf
Include parent group/stage in .index
2019-11-06 15:58:10 +01:00
Thor77
5343fcbd20
Recurisvely include all related objects
2019-11-06 11:38:24 +01:00
Daniel Schädler
b001817bac
Filter matches by state parameter
2019-10-26 00:34:04 +02:00
Daniel Schädler
33ccab8988
Return all matches also from groups
2019-10-26 00:32:14 +02:00
Daniel Schädler
a6b7a905a0
Return matches as children of tournament
2019-10-25 23:49:27 +02:00
Daniel Schädler
77c76b7a31
Add matches method to tournament
...
The method collects all matches from all stages
2019-10-25 23:47:38 +02:00
Thor77
d317585168
Add "simple" parameter to tournament show
2019-10-25 23:17:08 +02:00
Daniel Schädler
a2691b9f88
Cache group_score in variable in sort function
2019-06-18 22:35:17 +02:00
Daniel Schädler
b28561043e
Implement stages controller (GET UPDATE)
2019-06-18 22:22:10 +02:00
Daniel Schädler
54ab1570b1
Sort teams more explicitly and in the right order
2019-06-18 22:22:10 +02:00
Daniel Schädler
4925ea9d83
Make teams added to PlayoffStage configurable
2019-06-18 22:22:10 +02:00
Daniel Schädler
4e72d015ff
Implement method to check if stage is over
2019-06-18 19:22:05 +02:00
Daniel Schädler
bc0c7fddc3
Make match position randomizable
2019-06-18 19:22:05 +02:00
Daniel Schädler
88cbba440d
Implement methods to get teams sorted by their group scores
2019-06-18 19:22:05 +02:00
Daniel Schädler
c5780c2da3
Implement function to calculate the difference in points
2019-06-18 19:22:05 +02:00
Thor77
041ee4ab2c
Include bets in match resource
2019-06-18 18:51:55 +02:00
Thor77
f3b8fd4184
Use collection serializer
2019-06-18 18:51:55 +02:00
Thor77
123649a4f4
Add collection serializer for bets
2019-06-18 18:51:55 +02:00
Daniel Schädler
386155a690
Fix last Match not being stopped correctly
2019-06-18 14:09:29 +02:00
Thor77
2baefb9ae6
Associate teams only on interactor success
2019-06-18 13:29:31 +02:00
Thor77
3109308817
Fix teams not associated with created tournament
...
when choosing a group stage
2019-06-18 13:29:31 +02:00
Thor77
6640be1e9a
Add devise confirmable to user model
2019-06-18 12:27:00 +02:00
Thor77
fb2e7aa385
Add generated devise mailer views
2019-06-18 12:27:00 +02:00
Daniel Schädler
213867a827
Let context fail if population of match below fails
2019-06-17 15:02:30 +02:00
Daniel Schädler
e0da9ff7b5
Assign empty array if object_to_save is nil before pushing values to it
...
https://stackoverflow.com/questions/12163625/create-or-append-to-array-in-ruby
2019-06-17 15:02:30 +02:00
Daniel Schädler
c9e1e153df
Add interactor to advance all teams stuck in single team matches
...
After playoffs are created, before saving the stage this interactor
goes to the intermediate stage, looks for all the matches that are
:single_team matches and populates the match below with their respective
"winner".
2019-06-17 15:02:30 +02:00
Daniel Schädler
98319e9625
Assign :intermediate_stage to first stage if single_team matches present
2019-06-17 15:02:30 +02:00
Daniel Schädler
5f378f27b2
Correct position for :single_team matches
2019-06-17 15:02:30 +02:00
Daniel Schädler
36db03293e
Return a "winner" for :single_team matches
2019-06-17 15:02:30 +02:00
Daniel Schädler
8e3325bbfc
Simplify concatenation of empty stages
2019-06-17 15:02:30 +02:00
Thor77
914cfbd94d
Reword error on invalid match state
2019-06-17 13:48:50 +02:00
Thor77
175870ab42
Prevent betting on running/finished matches
2019-06-17 13:48:50 +02:00
Thor77
6d12f889c5
Add Bet serializer
2019-06-17 13:48:50 +02:00
Thor77
167a2116f1
Prevent duplicate bets on the same match
2019-06-17 13:48:50 +02:00
Thor77
76e301e920
Add BetsController
2019-06-17 13:48:49 +02:00