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