feat(core): add atomic receive history cleanup

This commit is contained in:
2026-07-12 04:15:11 +02:00
parent 5580ae7fe9
commit 757966379b
5 changed files with 231 additions and 0 deletions

View File

@@ -146,6 +146,7 @@ interface CoreGateway {
suspend fun receiveIntoSecurityScopedDirectory(ticket: String, outputDirectoryUrl: String, receiverName: String): Result<Unit>
suspend fun cancel(transferId: ULong): Result<Unit>
suspend fun delete(transferId: ULong): Result<Unit>
suspend fun clearReceiveHistory(): Result<ULong>
suspend fun receiverRequests(transferId: ULong): Result<List<ReceiverRequestModel>>
suspend fun respondReceiverRequest(requestId: String, accepted: Boolean, reason: String? = null): Result<Unit>
suspend fun refresh(): Result<Unit>

View File

@@ -173,6 +173,12 @@ class CoreRepository(
_signals.tryEmit(CoreSignal.ReceiverHistoryChanged(transferId))
}
override suspend fun clearReceiveHistory(): Result<ULong> = runCore {
val deleted = requireCore().deleteReceiveHistory()
refreshSnapshot()
deleted
}
override suspend fun receiverRequests(transferId: ULong): Result<List<ReceiverRequestModel>> = runCore {
requireCore().listReceiverRequests(transferId).map(ReceiverRequest::toModel)
}