2022-11-18 18:01:11 +01:00

64 lines
1.7 KiB
Kotlin

package com.github.libretube.db
import androidx.room.AutoMigration
import androidx.room.Database
import androidx.room.RoomDatabase
import com.github.libretube.db.dao.CustomInstanceDao
import com.github.libretube.db.dao.LocalSubscriptionDao
import com.github.libretube.db.dao.PlaylistBookmarkDao
import com.github.libretube.db.dao.SearchHistoryDao
import com.github.libretube.db.dao.WatchHistoryDao
import com.github.libretube.db.dao.WatchPositionDao
import com.github.libretube.db.obj.CustomInstance
import com.github.libretube.db.obj.LocalSubscription
import com.github.libretube.db.obj.PlaylistBookmark
import com.github.libretube.db.obj.SearchHistoryItem
import com.github.libretube.db.obj.WatchHistoryItem
import com.github.libretube.db.obj.WatchPosition
@Database(
entities = [
WatchHistoryItem::class,
WatchPosition::class,
SearchHistoryItem::class,
CustomInstance::class,
LocalSubscription::class,
PlaylistBookmark::class
],
version = 8,
autoMigrations = [
AutoMigration(from = 7, to = 8)
]
)
abstract class AppDatabase : RoomDatabase() {
/**
* Watch History
*/
abstract fun watchHistoryDao(): WatchHistoryDao
/**
* Watch Positions
*/
abstract fun watchPositionDao(): WatchPositionDao
/**
* Search History
*/
abstract fun searchHistoryDao(): SearchHistoryDao
/**
* Custom Instances
*/
abstract fun customInstanceDao(): CustomInstanceDao
/**
* Local Subscriptions
*/
abstract fun localSubscriptionDao(): LocalSubscriptionDao
/**
* Bookmarked Playlists
*/
abstract fun playlistBookmarkDao(): PlaylistBookmarkDao
}