fix: sort /teams/{id}/evolutions by current_tier desc, current_value desc (#116)
Closes #116 The endpoint was returning results in player_id insertion order, causing /evo status in Discord to show a wall of T0/value-0 cards before any progressed players. Sort by current_tier DESC, current_value DESC so the most-evolved cards always appear first. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
87f46a1bfd
commit
0953a45b9f
@ -1544,8 +1544,8 @@ async def list_team_evolutions(
|
||||
Joins EvolutionCardState → EvolutionTrack (for card_type filtering and
|
||||
threshold context) and EvolutionCardState → Player (for player_name),
|
||||
both eager-loaded in a single query. Results are paginated via
|
||||
page/per_page (1-indexed pages); items are ordered by player_id for
|
||||
stable ordering.
|
||||
page/per_page (1-indexed pages); items are ordered by current_tier DESC,
|
||||
current_value DESC so the most-progressed cards appear first.
|
||||
|
||||
Query parameters:
|
||||
card_type -- filter to states whose track.card_type matches (e.g. 'batter', 'sp')
|
||||
@ -1572,7 +1572,10 @@ async def list_team_evolutions(
|
||||
.switch(EvolutionCardState)
|
||||
.join(Player)
|
||||
.where(EvolutionCardState.team == team_id)
|
||||
.order_by(EvolutionCardState.player_id)
|
||||
.order_by(
|
||||
EvolutionCardState.current_tier.desc(),
|
||||
EvolutionCardState.current_value.desc(),
|
||||
)
|
||||
)
|
||||
|
||||
if card_type is not None:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user