diff --git a/frontend/src/app/download/download.component.html b/frontend/src/app/download/download.component.html
index 6ba7fc4..2bd21fd 100644
--- a/frontend/src/app/download/download.component.html
+++ b/frontend/src/app/download/download.component.html
@@ -15,6 +15,18 @@
Download
-
Files are available for a limited time. Ensure the code or link is correct.
+ Files are available for a limited time. Ensure the code or link is correct and the file is still downloadable.
+
diff --git a/src/main/java/de/w665/sharepulse/db/RethinkDBService.java b/src/main/java/de/w665/sharepulse/db/RethinkDBService.java
index 879e9c8..91390d9 100644
--- a/src/main/java/de/w665/sharepulse/db/RethinkDBService.java
+++ b/src/main/java/de/w665/sharepulse/db/RethinkDBService.java
@@ -3,18 +3,13 @@ package de.w665.sharepulse.db;
import com.rethinkdb.RethinkDB;
import com.rethinkdb.gen.exc.ReqlOpFailedError;
import com.rethinkdb.net.Connection;
-import com.rethinkdb.net.Result;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
-import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicReference;
-
@Slf4j
@Service
public class RethinkDBService {
@@ -24,6 +19,9 @@ public class RethinkDBService {
private final RethinkDB r;
private final Connection connection;
+ @Value("${sharepulse.auto-reset-on-startup}")
+ private boolean autoResetOnStartup;
+
@Autowired
public RethinkDBService(RethinkDBConfig config, RethinkDBConnector connector) {
this.config = config;
@@ -66,9 +64,12 @@ public class RethinkDBService {
r.db(config.getDatabase()).tableCreate("file_uploads").run(connection).stream();
log.debug("Table 'file_uploads' created successfully.");
} catch (ReqlOpFailedError e) {
- log.debug("Table 'file_uploads' already exists. Clearing content...");
- r.db(config.getDatabase()).table("file_uploads").delete().run(connection);
- log.debug("Table 'file_uploads' cleared successfully.");
+ log.debug("Table 'file_uploads' already exists.");
+ if(autoResetOnStartup) {
+ log.debug("Clearing content...");
+ r.db(config.getDatabase()).table("file_uploads").delete().run(connection);
+ log.debug("Table 'file_uploads' cleared successfully.");
+ }
}
// rethinkdb check if table id_store exists
diff --git a/src/main/java/de/w665/sharepulse/rest/mappings/Download.java b/src/main/java/de/w665/sharepulse/rest/mappings/Download.java
index 3733f2c..b534780 100644
--- a/src/main/java/de/w665/sharepulse/rest/mappings/Download.java
+++ b/src/main/java/de/w665/sharepulse/rest/mappings/Download.java
@@ -8,7 +8,6 @@ import de.w665.sharepulse.service.FileService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.InputStreamResource;
-import org.springframework.core.io.Resource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@@ -71,4 +70,16 @@ public class Download extends ApiRestController {
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(resource);
}
+
+ @GetMapping("/download-info")
+ public ResponseEntity