From e4c38a699ff9384fe64c595d25385e6ee36ae77b Mon Sep 17 00:00:00 2001 From: androidlover5842 Date: Tue, 27 Jan 2026 23:01:58 +0530 Subject: [PATCH] Prune room images missing files on list --- .../trisolarisserver/controller/RoomImages.kt | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/RoomImages.kt b/src/main/kotlin/com/android/trisolarisserver/controller/RoomImages.kt index 7586edd..1f98f20 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/RoomImages.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/RoomImages.kt @@ -55,8 +55,26 @@ class RoomImages( @AuthenticationPrincipal principal: MyPrincipal? ): List { ensureRoom(propertyId, roomId) - return roomImageRepo.findByRoomIdOrdered(roomId) - .map { it.toResponse(publicBaseUrl) } + val images = roomImageRepo.findByRoomIdOrdered(roomId).toMutableList() + if (images.isEmpty()) return emptyList() + val missing = mutableListOf() + val present = mutableListOf() + for (img in images) { + val originalExists = Files.exists(Paths.get(img.originalPath)) + if (!originalExists) { + missing.add(img) + try { + Files.deleteIfExists(Paths.get(img.thumbnailPath)) + } catch (_: Exception) { + } + } else { + present.add(img) + } + } + if (missing.isNotEmpty()) { + roomImageRepo.deleteAll(missing) + } + return present.map { it.toResponse(publicBaseUrl) } } @PostMapping