package uk.silverlabs.silverdroid.data import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase import uk.silverlabs.silverdroid.data.model.InstalledApp import uk.silverlabs.silverdroid.data.model.PwaApp @Database( entities = [PwaApp::class, InstalledApp::class], version = 2, exportSchema = true ) abstract class PwaDatabase : RoomDatabase() { abstract fun pwaAppDao(): PwaAppDao abstract fun installedAppDao(): InstalledAppDao companion object { @Volatile private var INSTANCE: PwaDatabase? = null fun getInstance(context: Context): PwaDatabase { return INSTANCE ?: synchronized(this) { val instance = Room.databaseBuilder( context.applicationContext, PwaDatabase::class.java, "pwa_database" ) .fallbackToDestructiveMigration() .build() INSTANCE = instance instance } } } }