Reconcile confirmed photo uploads with server state

This commit is contained in:
admin
2026-07-02 14:42:52 +02:00
parent 541dda292f
commit 705b8904a4
2 changed files with 2 additions and 6 deletions
@@ -39,10 +39,9 @@ interface PhotoUploadDao {
SELECT * FROM photo_uploads
WHERE routeId = :routeId
AND status = 'CONFIRMED'
AND clientRequestId IN (:clientRequestIds)
""",
)
suspend fun confirmedForServerPhotos(routeId: String, clientRequestIds: List<String>): List<PhotoUploadEntity>
suspend fun confirmedForRoute(routeId: String): List<PhotoUploadEntity>
@Query(
"""
@@ -80,10 +80,7 @@ class PhotoUploadOutbox(
}
suspend fun discardConfirmedServerPhotos(route: DriverRouteDto) {
val confirmedRequestIds = route.photos.mapNotNull { it.clientRequestId }.distinct()
if (confirmedRequestIds.isEmpty()) return
dao.confirmedForServerPhotos(route.id, confirmedRequestIds).forEach { upload ->
dao.confirmedForRoute(route.id).forEach { upload ->
File(upload.localPath).delete()
dao.delete(upload.clientRequestId)
}