AppDatabase.kt
- package com.louisfn.somovie.data.database
- import androidx.room.Database
- import androidx.room.RoomDatabase
- import androidx.room.TypeConverters
- import com.louisfn.somovie.data.database.converter.*
- import com.louisfn.somovie.data.database.dao.*
- import com.louisfn.somovie.data.database.entity.*
- @Database(
- entities = [
- RemoteKeyEntity::class,
- MovieEntity::class,
- MovieImageEntity::class,
- MovieGenreCrossRefEntity::class,
- MovieProductionCompanyCrossRefEntity::class,
- MovieProductionCountryEntity::class,
- GenreEntity::class,
- ActorEntity::class,
- CrewMemberEntity::class,
- CompanyEntity::class,
- PersonEntity::class,
- ExploreEntity::class,
- YoutubeVideoEntity::class,
- WatchlistEntity::class,
- ],
- version = 1,
- )
- @TypeConverters(
- ExploreCategoryConverter::class,
- LocalDateConverter::class,
- InstantConverter::class,
- DurationConverter::class,
- RemoteKeyTypeConverter::class,
- OffsetDateTimeConverter::class,
- )
- internal abstract class AppDatabase : RoomDatabase() {
- abstract fun remoteKeyDao(): RemoteKeyDao
- abstract fun movieDao(): MovieDao
- abstract fun movieImageDao(): MovieImageDao
- abstract fun movieGenreCrossRefDao(): MovieGenreCrossRefDao
- abstract fun movieProductionCompanyCrossRefDao(): MovieProductionCompanyCrossRefDao
- abstract fun genreDao(): GenreDao
- abstract fun actorDao(): ActorDao
- abstract fun crewMemberDao(): CrewMemberDao
- abstract fun companyDao(): CompanyDao
- abstract fun productionCountryDao(): ProductionCountryDao
- abstract fun personDao(): PersonDao
- abstract fun exploreDao(): ExploreDao
- abstract fun youtubeVideoDao(): YoutubeVideoDao
- abstract fun watchListDao(): WatchlistDao
- }