Skip to content

Commit c6f9159

Browse files
committed
refactor: provide NoteDatabase to RoomNoteDAO instead of NoteRoomDao
- Update `RoomNoteDAO` to accept a `NoteDatabase` provider instead of a direct `NoteRoomDao` provider, ensuring the DAO is retrieved from the current database instance. - Update `JvmTestSafeRepo`, `AndroidSafeRepo`, `IosSafeRepo`, `JvmSafeRepo`, and `WebSafeRepo` to pass the database reference when instantiating `RoomNoteDAO`.
1 parent f9c345c commit c6f9159

6 files changed

Lines changed: 7 additions & 7 deletions

File tree

core/data/db-room/src/androidHostTest/kotlin/com/softartdev/notedelight/JvmTestSafeRepo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class JvmTestSafeRepo : SafeRepo() {
2121
private set
2222

2323
override val noteDAO: NoteDAO
24-
get() = RoomNoteDAO(noteDatabase::noteDao)
24+
get() = RoomNoteDAO(this@JvmTestSafeRepo::noteDatabase)
2525

2626
override val dbPath: String = ":memory:"
2727

core/data/db-room/src/androidMain/kotlin/com/softartdev/notedelight/repository/AndroidSafeRepo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class AndroidSafeRepo(private val context: Context) : SafeRepo() {
2828
}
2929

3030
override val noteDAO: NoteDAO
31-
get() = RoomNoteDAO(noteDatabase::noteDao)
31+
get() = RoomNoteDAO(this@AndroidSafeRepo::noteDatabase)
3232

3333
override val dbPath: String
3434
get() = context.getDatabasePath(DB_NAME).absolutePath

core/data/db-room/src/commonMain/kotlin/com/softartdev/notedelight/db/RoomNoteDAO.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import kotlinx.coroutines.flow.map
77
import com.softartdev.notedelight.db.Note as NoteDBO
88

99
class RoomNoteDAO(
10-
private val delegateProvider: () -> NoteRoomDao,
10+
private val dbProvider: () -> NoteDatabase,
1111
) : NoteDAO {
1212

1313
private val delegate: NoteRoomDao
14-
get() = delegateProvider()
14+
get() = dbProvider().noteDao()
1515

1616
override val listFlow: Flow<List<Note>>
1717
get() = delegate.getNotes().map(List<NoteDBO>::toModel)

core/data/db-room/src/iosMain/kotlin/com/softartdev/notedelight/repository/IosSafeRepo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class IosSafeRepo : SafeRepo() {
1919
get() = IosCipherUtils.getDatabaseState(DB_NAME)
2020

2121
override val noteDAO: NoteDAO
22-
get() = RoomNoteDAO(noteDatabase::noteDao)
22+
get() = RoomNoteDAO(this@IosSafeRepo::noteDatabase)
2323

2424
override val dbPath: String
2525
get() = IosCipherUtils.getDatabasePath(DB_NAME)

core/data/db-room/src/jvmMain/kotlin/com/softartdev/notedelight/repository/JvmSafeRepo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class JvmSafeRepo : SafeRepo() {
2222
get() = JvmCipherUtils.getDatabaseState(dbPath)
2323

2424
override val noteDAO: NoteDAO
25-
get() = RoomNoteDAO(noteDatabase::noteDao)
25+
get() = RoomNoteDAO(this@JvmSafeRepo::noteDatabase)
2626

2727
override val dbPath: String
2828
get() = dbPathOverride ?: FilePathResolver().invoke()

core/data/db-room/src/wasmJsMain/kotlin/com/softartdev/notedelight/repository/WebSafeRepo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class WebSafeRepo : SafeRepo() {
2020
private set
2121

2222
override val noteDAO: NoteDAO
23-
get() = RoomNoteDAO(noteDatabase::noteDao)
23+
get() = RoomNoteDAO(this@WebSafeRepo::noteDatabase)
2424

2525
override val dbPath: String = DB_NAME
2626

0 commit comments

Comments
 (0)