progress
This commit is contained in:
1 parent
3d165ee610
commit
e8bd1bcb97
9 files changed
+135
-57
No files matched your search
@@ -20,7 +20,11 @@ object BooksTable : IntIdTable("books") {
|
||||
var type = integer("type")
|
||||
var read = bool("read").default(false)
|
||||
var comments = varchar("comments", 255)
|
||||
var parentBook = optReference("parent_book_id", id)
|
||||
|
||||
// Dieses Buch ist Teil eines Sammelbands.
|
||||
// Null bedeutet: kein übergeordneter Sammelband.
|
||||
var parent = optReference("parent_id", id)
|
||||
|
||||
val cover = blob("cover").nullable()
|
||||
}
|
||||
|
||||
@@ -48,10 +52,12 @@ class BookDAO(id: EntityID<Int>) : IntEntity(id) {
|
||||
val tags by TagsToBookDAO referrersOn TagsToBookTable.bookId
|
||||
|
||||
// Verweis auf Sammelband (falls dieses Buch ein Teilroman ist)
|
||||
var parentBook by BookDAO optionalReferencedOn BooksTable.parentBook
|
||||
var parent by BookDAO optionalReferencedOn BooksTable.parent
|
||||
|
||||
// Enthaltene Einzelromane (falls dieses Buch der Sammelband ist)
|
||||
val containedBooks by BookDAO optionalReferrersOn BooksTable.parentBook
|
||||
val containedBooks by BookDAO optionalReferrersOn BooksTable.parent
|
||||
|
||||
val samplerEntry by SamplerDAO optionalBackReferencedOn SamplerTable.bookId
|
||||
}
|
||||
|
||||
fun bookDaoToModel(dao: BookDAO, includeChildren: Boolean = true): Book = Book(
|
||||
@@ -72,12 +78,15 @@ fun bookDaoToModel(dao: BookDAO, includeChildren: Boolean = true): Book = Book(
|
||||
series = if (dao.series != null) Series(dao.series!!.id.value, dao.series!!.name) else null,
|
||||
seriesIndex = dao.seriesIndex,
|
||||
|
||||
dao.parentBook?.id?.value,
|
||||
parentBookId = dao.parent?.id?.value,
|
||||
containedBooks = if (includeChildren) {
|
||||
dao.containedBooks.map { bookDaoToModel(it, includeChildren = false) }
|
||||
dao.containedBooks.map { child ->
|
||||
bookDaoToModel(child, includeChildren = false)
|
||||
}
|
||||
} else {
|
||||
emptyList()
|
||||
},
|
||||
isSampler = dao.samplerEntry != null,
|
||||
|
||||
artists = dao.artists.map {
|
||||
ArtistForBook(
|
||||
|
||||
Reference in new issue
Block a user