package ru.notesapp.di
import android.content.Context
import androidx.room.Room
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import ru.notesapp.data.local.AppDatabase
import ru.notesapp.data.local.MIGRATION_1_2
import ru.notesapp.data.local.NoteDao
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
object DatabaseModule {
@Provides
@Singleton
fun provideAppDatabase(@ApplicationContext ctx: Context): AppDatabase =
Room.databaseBuilder(
ctx,
AppDatabase::class.java,
"notes_database"
)
.addMigrations(MIGRATION_1_2)
.build()
@Provides
@Singleton
fun provideNoteDao(db: AppDatabase): NoteDao = db.noteDao()
}