Initial commit2
This commit is contained in:
57
app/src/main/java/com/novayaplaneta/di/DatabaseModule.kt
Normal file
57
app/src/main/java/com/novayaplaneta/di/DatabaseModule.kt
Normal file
@@ -0,0 +1,57 @@
|
||||
package com.novayaplaneta.di
|
||||
|
||||
import android.content.Context
|
||||
import androidx.room.Room
|
||||
import com.novayaplaneta.data.local.NewPlanetDatabase
|
||||
import com.novayaplaneta.data.local.dao.ChatMessageDao
|
||||
import com.novayaplaneta.data.local.dao.RewardDao
|
||||
import com.novayaplaneta.data.local.dao.ScheduleDao
|
||||
import com.novayaplaneta.data.local.dao.TaskDao
|
||||
import com.novayaplaneta.data.local.dao.UserDao
|
||||
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)
|
||||
object DatabaseModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideDatabase(@ApplicationContext context: Context): NewPlanetDatabase {
|
||||
return Room.databaseBuilder(
|
||||
context,
|
||||
NewPlanetDatabase::class.java,
|
||||
"newplanet_database"
|
||||
).build()
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideUserDao(database: NewPlanetDatabase): UserDao {
|
||||
return database.userDao()
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideScheduleDao(database: NewPlanetDatabase): ScheduleDao {
|
||||
return database.scheduleDao()
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideTaskDao(database: NewPlanetDatabase): TaskDao {
|
||||
return database.taskDao()
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideRewardDao(database: NewPlanetDatabase): RewardDao {
|
||||
return database.rewardDao()
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideChatMessageDao(database: NewPlanetDatabase): ChatMessageDao {
|
||||
return database.chatMessageDao()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user