better library organization
This commit is contained in:
1 parent
06b4614cbe
commit
ddf68c1e6a
3 files changed
+236
-126
No files matched your search
@@ -698,7 +698,11 @@ private class JdbcBookFileRepository(private val connection: Connection) : BookF
|
||||
LEFT JOIN books b ON b.id = f.book_id
|
||||
WHERE f.duplicate_of_file_id IS NULL
|
||||
ORDER BY
|
||||
CASE WHEN f.reading_status = 'READING' THEN 0 ELSE 1 END,
|
||||
CASE
|
||||
WHEN f.reading_status = 'READING' THEN 0
|
||||
WHEN f.reading_status = 'NOT_INTERESTED' THEN 2
|
||||
ELSE 1
|
||||
END,
|
||||
CASE WHEN f.reading_status = 'READING' THEN f.last_read_at END DESC NULLS LAST,
|
||||
LOWER(COALESCE(NULLIF(b.title, ''), NULLIF(f.original_filename, ''), f.id)),
|
||||
f.id
|
||||
|
||||
@@ -158,8 +158,8 @@ class H2LibraryDatabaseTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun listsReadingBooksFirstThenSortsByTitle() {
|
||||
val db = H2LibraryDatabase.openMemory("listsReadingBooksFirstThenSortsByTitle")
|
||||
fun listsReadingBooksFirstNotInterestedLastThenSortsByTitle() {
|
||||
val db = H2LibraryDatabase.openMemory("listsReadingBooksFirstNotInterestedLastThenSortsByTitle")
|
||||
val now = 1_700_000_000_000L
|
||||
|
||||
db.transaction {
|
||||
@@ -168,6 +168,7 @@ class H2LibraryDatabaseTest {
|
||||
Triple("book-alpha", "Alpha", BookReadingStatus.READ),
|
||||
Triple("book-gamma", "Gamma", BookReadingStatus.READING),
|
||||
Triple("book-aardvark", "Aardvark", BookReadingStatus.READING),
|
||||
Triple("book-omega", "Omega", BookReadingStatus.NOT_INTERESTED),
|
||||
).forEachIndexed { index, (bookId, title, status) ->
|
||||
books.upsert(
|
||||
BookRecord(
|
||||
@@ -194,7 +195,7 @@ class H2LibraryDatabaseTest {
|
||||
}
|
||||
|
||||
assertEquals(
|
||||
listOf("Aardvark", "Gamma", "Alpha", "Beta"),
|
||||
listOf("Aardvark", "Gamma", "Alpha", "Beta", "Omega"),
|
||||
db.files.listLibraryFiles().map { it.title },
|
||||
)
|
||||
db.close()
|
||||
|
||||
Reference in new issue
Block a user