4d5cc120d1
DESIGN.md §9.6 now puts the current season at the top: seasons descend by number within a series (season 0 lands last under plain numeric descending) and episodes descend within each season. Changed the two queries in load_seasons; the SPA renders this order as given. arr-compat checked and untouched: it reads seasons with its own ORDER BY number query straight from the database, never through arr-api, and SeasonResource carries season_number, which Jellyseerr matches on rather than position. Sonarr's real API also returns seasons ascending, so the shim keeps the contract it emulates. The existing vanished-flag test indexed seasons positionally; it now looks them up by number so it tests the flag, not the order. New test asserts [2, 1, 0] for seasons and descending episodes within each. .sqlx regenerated via just db-prepare. just ci green locally.
45 lines
1013 B
JSON
45 lines
1013 B
JSON
{
|
|
"db_name": "SQLite",
|
|
"query": "SELECT id AS \"id!: i64\", series_id AS \"series_id!: i64\", number AS \"number!: i64\", tracked AS \"tracked!: bool\", vanished AS \"vanished!: bool\" FROM seasons WHERE series_id = ? ORDER BY number DESC",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"name": "id!: i64",
|
|
"ordinal": 0,
|
|
"type_info": "Integer"
|
|
},
|
|
{
|
|
"name": "series_id!: i64",
|
|
"ordinal": 1,
|
|
"type_info": "Integer"
|
|
},
|
|
{
|
|
"name": "number!: i64",
|
|
"ordinal": 2,
|
|
"type_info": "Integer"
|
|
},
|
|
{
|
|
"name": "tracked!: bool",
|
|
"ordinal": 3,
|
|
"type_info": "Integer"
|
|
},
|
|
{
|
|
"name": "vanished!: bool",
|
|
"ordinal": 4,
|
|
"type_info": "Integer"
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Right": 1
|
|
},
|
|
"nullable": [
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
]
|
|
},
|
|
"hash": "f52980596624a03ae4c704926a443c5665c865f9d3d3699105790fe09d8b3fc9"
|
|
}
|