Add IBookRepository
This commit is contained in:
parent
6a0710572a
commit
b89bbf69a9
10 changed files with 145 additions and 5 deletions
|
|
@ -29,6 +29,7 @@ abstract class BibLibDatabase : RoomDatabase() {
|
|||
abstract fun genreDao(): GenreDao
|
||||
abstract fun languageDao(): LanguageDao
|
||||
abstract fun seriesDao(): SeriesDao
|
||||
abstract fun crossRefDao(): CrossRefDao
|
||||
|
||||
companion object {
|
||||
const val VERSION = 1
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.pixelized.biblib.database.data.BookDbo
|
|||
@Entity(primaryKeys = [BookDbo.ID, AuthorDbo.ID])
|
||||
data class BookAuthorCrossRef(
|
||||
@ColumnInfo(name = BookDbo.ID)
|
||||
val bookId: String,
|
||||
val bookId: Int,
|
||||
@ColumnInfo(name = AuthorDbo.ID)
|
||||
val authorId: String
|
||||
)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.pixelized.biblib.database.data.GenreDbo
|
|||
@Entity(primaryKeys = [BookDbo.ID, GenreDbo.ID])
|
||||
data class BookGenreCrossRef(
|
||||
@ColumnInfo(name = BookDbo.ID)
|
||||
val bookId: String,
|
||||
val bookId: Int,
|
||||
@ColumnInfo(name = GenreDbo.ID)
|
||||
val genreId: String
|
||||
)
|
||||
|
|
@ -10,8 +10,8 @@ interface BookDao {
|
|||
@Query("SELECT * FROM ${BookDbo.TABLE}")
|
||||
fun getAll(): List<BookRelation>
|
||||
|
||||
@Insert
|
||||
fun update(vararg books: BookDbo)
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
fun insert(vararg books: BookDbo)
|
||||
|
||||
@Delete
|
||||
fun delete(book: BookDbo)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
package com.pixelized.biblib.database.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import com.pixelized.biblib.database.crossref.BookAuthorCrossRef
|
||||
import com.pixelized.biblib.database.crossref.BookGenreCrossRef
|
||||
|
||||
@Dao
|
||||
interface CrossRefDao {
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
fun insert(vararg bookAuthor: BookAuthorCrossRef)
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
fun insert(vararg bookGenre: BookGenreCrossRef)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue