package com.suno.android.common_db.di import android.content.Context import androidx.room.Room import com.suno.android.common_db.database.SunoAppDatabase import com.suno.android.common_db.database.daos.ClipsDao import com.suno.android.common_db.database.daos.PlaylistsDao import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) class DatabaseModule { @Provides @Singleton fun provideRoomDb( @ApplicationContext context: Context, ): SunoAppDatabase = Room.databaseBuilder( context, SunoAppDatabase::class.java, "suno-db", ).fallbackToDestructiveMigration( dropAllTables = true, ).build() @Provides @Singleton fun providePlaylistsDao( appDatabase: SunoAppDatabase, ): PlaylistsDao = appDatabase.playlistsDao() @Provides @Singleton fun provideClipsDao( appDatabase: SunoAppDatabase, ): ClipsDao = appDatabase.clipsDao() }