fix: tri "derniers ajoutés" utilise created_at au lieu de updated_at
Le tri par date d'ajout utilisait updated_at qui est écrasé à chaque rescan de l'indexer, empêchant les livres/séries récemment ajoutés de remonter en premier. Utilise maintenant created_at qui reflète la vraie date d'ajout. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -180,7 +180,7 @@ pub async fn list_books(
|
|||||||
);
|
);
|
||||||
|
|
||||||
let order_clause = if query.sort.as_deref() == Some("latest") {
|
let order_clause = if query.sort.as_deref() == Some("latest") {
|
||||||
"b.updated_at DESC".to_string()
|
"b.created_at DESC".to_string()
|
||||||
} else {
|
} else {
|
||||||
"b.volume NULLS LAST, REGEXP_REPLACE(LOWER(b.title), '[0-9].*$', ''), COALESCE((REGEXP_MATCH(LOWER(b.title), '\\d+'))[1]::int, 0), b.title ASC".to_string()
|
"b.volume NULLS LAST, REGEXP_REPLACE(LOWER(b.title), '[0-9].*$', ''), COALESCE((REGEXP_MATCH(LOWER(b.title), '\\d+'))[1]::int, 0), b.title ASC".to_string()
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -458,7 +458,7 @@ pub async fn list_all_series(
|
|||||||
);
|
);
|
||||||
|
|
||||||
let series_order_clause = if query.sort.as_deref() == Some("latest") {
|
let series_order_clause = if query.sort.as_deref() == Some("latest") {
|
||||||
"sc.latest_updated_at DESC".to_string()
|
"sc.latest_created_at DESC".to_string()
|
||||||
} else {
|
} else {
|
||||||
"REGEXP_REPLACE(LOWER(sc.name), '[0-9].*$', ''), COALESCE((REGEXP_MATCH(LOWER(sc.name), '\\d+'))[1]::int, 0), sc.name ASC".to_string()
|
"REGEXP_REPLACE(LOWER(sc.name), '[0-9].*$', ''), COALESCE((REGEXP_MATCH(LOWER(sc.name), '\\d+'))[1]::int, 0), sc.name ASC".to_string()
|
||||||
};
|
};
|
||||||
@@ -470,7 +470,7 @@ pub async fn list_all_series(
|
|||||||
COALESCE(NULLIF(series, ''), 'unclassified') as name,
|
COALESCE(NULLIF(series, ''), 'unclassified') as name,
|
||||||
id,
|
id,
|
||||||
library_id,
|
library_id,
|
||||||
updated_at,
|
created_at,
|
||||||
ROW_NUMBER() OVER (
|
ROW_NUMBER() OVER (
|
||||||
PARTITION BY COALESCE(NULLIF(series, ''), 'unclassified')
|
PARTITION BY COALESCE(NULLIF(series, ''), 'unclassified')
|
||||||
ORDER BY
|
ORDER BY
|
||||||
@@ -488,7 +488,7 @@ pub async fn list_all_series(
|
|||||||
sb.library_id,
|
sb.library_id,
|
||||||
COUNT(*) as book_count,
|
COUNT(*) as book_count,
|
||||||
COUNT(brp.book_id) FILTER (WHERE brp.status = 'read') as books_read_count,
|
COUNT(brp.book_id) FILTER (WHERE brp.status = 'read') as books_read_count,
|
||||||
MAX(sb.updated_at) as latest_updated_at
|
MAX(sb.created_at) as latest_created_at
|
||||||
FROM sorted_books sb
|
FROM sorted_books sb
|
||||||
LEFT JOIN book_reading_progress brp ON brp.book_id = sb.id AND ${user_id_p}::uuid IS NOT NULL AND brp.user_id = ${user_id_p}
|
LEFT JOIN book_reading_progress brp ON brp.book_id = sb.id AND ${user_id_p}::uuid IS NOT NULL AND brp.user_id = ${user_id_p}
|
||||||
GROUP BY sb.name, sb.library_id
|
GROUP BY sb.name, sb.library_id
|
||||||
|
|||||||
Reference in New Issue
Block a user