ReadingBySeriesDto
Totals for one series, most-read first.
Distinct books of the series read in the window.
Read-throughs finished in the window. Can exceed books only when a
book was genuinely re-read inside the window.
duration objectrequired
Reading time split by how it was arrived at.
Deliberately two numbers rather than one. Time from the compatibility surfaces is reconstructed from the gaps between their writes: it undercounts and cannot see reading done from a downloaded book at all. Presenting a combined figure is fine; hiding that part of it is an estimate is not.
Milliseconds reconstructed server-side. An underestimate.
900000Milliseconds reported by a client that measured its own reading.
5400000Convenience sum of the two, so clients do not each reimplement it.
6300000True on the single row that gathers reading whose book has since been
deleted from the server. That time still counts towards every total,
but which series it belonged to is no longer known. Its books and
booksFinished are always 0: both count distinct books, and deleted
books cannot be told apart.
Null on the removed-from-library row.
Null on the removed-from-library row.
Berserk{
"books": 0,
"booksFinished": 0,
"duration": {
"inferredMs": 900000,
"measuredMs": 5400000,
"totalMs": 6300000
},
"pagesRead": 0,
"removedFromLibrary": true,
"seriesId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"seriesName": "Berserk",
"sessions": 0
}