package com.example.data.local import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase import com.example.data.model.AppNotification import com.example.data.model.Company import com.example.data.model.PublicWarning import com.example.data.model.ScamReport @Database( entities = [ Company::class, ScamReport::class, PublicWarning::class, AppNotification::class ], version = 1, exportSchema = false ) abstract class AppDatabase : RoomDatabase() { abstract fun companyDao(): CompanyDao abstract fun scamReportDao(): ScamReportDao abstract fun publicWarningDao(): PublicWarningDao abstract fun notificationDao(): NotificationDao companion object { @Volatile private var INSTANCE: AppDatabase? = null fun getDatabase(context: Context): AppDatabase { return INSTANCE ?: synchronized(this) { val instance = Room.databaseBuilder( context.applicationContext, AppDatabase::class.java, "satark_bd_database" ) .fallbackToDestructiveMigration() .build() INSTANCE = instance instance } } } }