UserDatabaseBuilder

class UserDatabaseBuilder(userId: UserIDEntity, val sqlDriver: SqlDriver, dispatcher: CoroutineDispatcher, platformDatabaseData: PlatformDatabaseData, isEncrypted: Boolean, val dbInvalidationController: DbInvalidationController, initializeSelfUser: Boolean = true)

Constructors

Link copied to clipboard
internal constructor(userId: UserIDEntity, sqlDriver: SqlDriver, dispatcher: CoroutineDispatcher, platformDatabaseData: PlatformDatabaseData, isEncrypted: Boolean, dbInvalidationController: DbInvalidationController, initializeSelfUser: Boolean = true)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
internal val database: UserDatabase
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
internal val sqlDriver: SqlDriver
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun close()

Stop and await all database users before closing. Failed native cleanup must never appear successful on retry.

Link copied to clipboard
fun dbFileLocation(): String?
Link copied to clipboard
fun nuke(): Boolean

drops DB connection and delete the DB file

Link copied to clipboard

Requery retained observers after the NSE may have committed changes through its own driver.

Link copied to clipboard
suspend fun <T> writeMessageEffects(block: suspend MessageEffectDAOs.() -> T): T

Apply ordered receiving effects on the writer connection. The supplied DAOs use the same dispatcher for reads and writes, so native transactions never hop to a reader thread. Local file cleanup may run before its SQL references are removed. Callers awaiting network work here must supply a fixed thread dispatcher for the native SQLite driver (as the NSE does).