Add IBookRepository

This commit is contained in:
Thomas Andres Gomez 2021-05-11 15:22:35 +02:00
parent 6a0710572a
commit b89bbf69a9
10 changed files with 145 additions and 5 deletions

View file

@ -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

View file

@ -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
)

View file

@ -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
)

View file

@ -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)

View file

@ -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)
}