RemoteBackupChangeLogDAO

Data Access Object for tracking changes that need to be synced to remote backup. This changelog tracks WHAT changed, not the data itself. Actual data is fetched from existing DB tables when syncing.

Inheritors

Functions

Link copied to clipboard
abstract suspend fun getPendingChanges(): List<ChangeLogEntry>

Get all pending changes ordered by timestamp.

Link copied to clipboard
abstract suspend fun logConversationClear(conversationId: QualifiedIDEntity, timestampMs: Long)

Log a conversation clear event. This clears all existing entries for the conversation and adds a single clear event.

Link copied to clipboard
abstract suspend fun logConversationDelete(conversationId: QualifiedIDEntity, timestampMs: Long)

Log a conversation deletion event. This clears all existing entries for the conversation and adds a single delete event.

Link copied to clipboard
abstract suspend fun logMessageDelete(conversationId: QualifiedIDEntity, messageId: String, timestampMs: Long)

Log a message deletion event.

Link copied to clipboard
abstract suspend fun logMessageUpsert(conversationId: QualifiedIDEntity, messageId: String, timestampMs: Long)

Log a message upsert (create or edit) event.

Link copied to clipboard
abstract suspend fun logReactionsSync(conversationId: QualifiedIDEntity, messageId: String, timestampMs: Long)

Log a reactions sync event. This means "sync all reactions for this message" - when any reaction changes.

Link copied to clipboard
abstract suspend fun logReadReceiptsSync(conversationId: QualifiedIDEntity, messageId: String, timestampMs: Long)

Log a read receipts sync event. This means "sync all read receipts for this message" - when any receipt changes.