diff --git a/src/main/java/com/rudakova/media_archive/dto/NotificationDto.java b/src/main/java/com/rudakova/media_archive/dto/NotificationDto.java index 8d2417d4f7741cfa480ed5af3cf72cfddf0ec8a2..4743ee45eb2fff8a6dcc3d033d43cf75fe6b2372 100644 --- a/src/main/java/com/rudakova/media_archive/dto/NotificationDto.java +++ b/src/main/java/com/rudakova/media_archive/dto/NotificationDto.java @@ -1,5 +1,7 @@ package com.rudakova.media_archive.dto; +import java.time.Instant; +import java.time.temporal.ChronoUnit; import java.util.UUID; public class NotificationDto { @@ -10,6 +12,8 @@ public class NotificationDto { private String address = "https://archive.viditory.com/api/notification"; + private long expiration = Instant.now().plus(2, ChronoUnit.YEARS).toEpochMilli(); + public UUID getId() { return id; } @@ -34,6 +38,14 @@ public class NotificationDto { this.address = address; } + public long getExpiration() { + return expiration; + } + + public void setExpiration(long expiration) { + this.expiration = expiration; + } + @Override public String toString() { return "NotificationDto{" + diff --git a/src/main/java/com/rudakova/media_archive/google/GoogleService.java b/src/main/java/com/rudakova/media_archive/google/GoogleService.java index 2ed0b0f39c69d078bab342ec9da6ba91a72be37f..bb913f35cb42d087fa6d7ca8d4b5d80e2a6a8806 100644 --- a/src/main/java/com/rudakova/media_archive/google/GoogleService.java +++ b/src/main/java/com/rudakova/media_archive/google/GoogleService.java @@ -115,7 +115,7 @@ public class GoogleService { do { FileList result = service.files().list() - .setQ("'" + folderId + "' in parents") + .setQ("'" + folderId + "' in parents and trashed") .setPageToken(nextPageToken) .setFields("nextPageToken, files(id)") .execute(); diff --git a/src/main/java/com/rudakova/media_archive/web/NotificationController.java b/src/main/java/com/rudakova/media_archive/web/NotificationController.java index 810ce98d3f033d699798e5d97927a987e96ff83a..6ae7ad12c28c9ef880a4da7df3d625b60d454867 100644 --- a/src/main/java/com/rudakova/media_archive/web/NotificationController.java +++ b/src/main/java/com/rudakova/media_archive/web/NotificationController.java @@ -40,12 +40,8 @@ public class NotificationController { String id = uri.substring(uri.lastIndexOf("/")); if (state != null && state.equals("trash")) { List<String> ids = googleService.getFiles(id); - List<String> dbIds = fileRepository.findIdByParents(id); - List<String> trashIds = dbIds.stream() - .filter(dbId -> !ids.contains(dbId)) - .collect(Collectors.toList()); - LOG.info("Deleted from google: {}", trashIds); - for (String trashId : trashIds) { + LOG.info("Deleted from google: {}", ids); + for (String trashId : ids) { fileRepository.deleteById(trashId); } } else if (state != null && state.equals("update")) { diff --git a/target/MediaArchive-1.0-SNAPSHOT.jar b/target/MediaArchive-1.0-SNAPSHOT.jar index d339d29e452b2237bbef79c53192ad4f74ad0d36..c8d9723d5ba7c857cdaa1ec651091e2693f8b0f7 100644 Binary files a/target/MediaArchive-1.0-SNAPSHOT.jar and b/target/MediaArchive-1.0-SNAPSHOT.jar differ