Coverage Summary for Class: SyncDatabase (com.georgeci.moneysurfer.sync.db)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| SyncDatabase |
100%
(1/1)
|
100%
(1/1)
|
|
100%
(1/1)
|
100%
(2/2)
|
package com.georgeci.moneysurfer.sync.db
import androidx.room.ConstructedBy
import androidx.room.Database
import androidx.room.RoomDatabase
import androidx.room.RoomDatabaseConstructor
import com.georgeci.moneysurfer.sync.db.dao.PendingMutationDao
import com.georgeci.moneysurfer.sync.db.dao.SyncMetaDao
import com.georgeci.moneysurfer.sync.db.entity.PendingMutationEntity
import com.georgeci.moneysurfer.sync.db.entity.SyncMetaEntity
@Database(
entities = [
SyncMetaEntity::class,
PendingMutationEntity::class,
],
// v2: pending_mutations dropped the separate status / createdAt indices for one
// composite. Destructive fallback is fine here — the outbox is transient.
version = 2,
)
@ConstructedBy(SyncDatabaseConstructor::class)
abstract class SyncDatabase : RoomDatabase() {
abstract fun syncMetaDao(): SyncMetaDao
abstract fun pendingMutationDao(): PendingMutationDao
}
@Suppress("KotlinNoActualForExpect")
expect object SyncDatabaseConstructor : RoomDatabaseConstructor<SyncDatabase> {
override fun initialize(): SyncDatabase
}