mirror of
https://github.com/RoastSlav/quickdrop.git
synced 2025-12-30 19:20:14 -06:00
minor refactoring
This commit is contained in:
@@ -3,7 +3,6 @@ package org.rostislav.quickdrop.controller;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.rostislav.quickdrop.model.FileEntity;
|
||||
import org.rostislav.quickdrop.service.FileService;
|
||||
import org.rostislav.quickdrop.util.FileUtils;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -15,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.rostislav.quickdrop.util.FileUtils.getDownloadLink;
|
||||
import static org.rostislav.quickdrop.util.FileUtils.populateModelAttributes;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/file")
|
||||
@@ -41,9 +40,7 @@ public class FileViewController {
|
||||
@GetMapping("/{uuid}")
|
||||
public String filePage(@PathVariable String uuid, Model model, HttpServletRequest request) {
|
||||
FileEntity fileEntity = fileService.getFile(uuid);
|
||||
model.addAttribute("file", fileEntity);
|
||||
model.addAttribute("downloadLink", getDownloadLink(request, fileEntity));
|
||||
model.addAttribute("fileSize", FileUtils.formatFileSize(fileEntity.size));
|
||||
populateModelAttributes(fileEntity, model, request);
|
||||
|
||||
return "fileView";
|
||||
}
|
||||
@@ -51,9 +48,7 @@ public class FileViewController {
|
||||
@GetMapping("/uploaded/{uuid}")
|
||||
public String uploadedFile(@PathVariable String uuid, Model model, HttpServletRequest request) {
|
||||
FileEntity fileEntity = fileService.getFile(uuid);
|
||||
model.addAttribute("file", fileEntity);
|
||||
model.addAttribute("fileSize", FileUtils.formatFileSize(fileEntity.size));
|
||||
model.addAttribute("downloadLink", getDownloadLink(request, fileEntity));
|
||||
populateModelAttributes(fileEntity, model, request);
|
||||
|
||||
return "fileUploaded";
|
||||
}
|
||||
@@ -64,10 +59,11 @@ public class FileViewController {
|
||||
}
|
||||
|
||||
@PostMapping("/extend/{id}")
|
||||
public String extendFile(@PathVariable Long id, Model model) {
|
||||
public String extendFile(@PathVariable Long id, Model model, HttpServletRequest request) {
|
||||
fileService.extendFile(id);
|
||||
|
||||
model.addAttribute("file", fileService.getFile(id));
|
||||
FileEntity fileEntity = fileService.getFile(id);
|
||||
populateModelAttributes(fileEntity, model, request);
|
||||
return "fileView";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ public class ScheduleService {
|
||||
this.fileService = fileService;
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 0 2 * * *")
|
||||
@Scheduled(cron = "${file.deletion.cron}")
|
||||
public void deleteOldFiles() {
|
||||
logger.info("Deleting old files");
|
||||
LocalDate thresholdDate = LocalDate.now().minusDays(maxFileAge);
|
||||
|
||||
@@ -2,8 +2,10 @@ package org.rostislav.quickdrop.util;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.rostislav.quickdrop.model.FileEntity;
|
||||
import org.springframework.ui.Model;
|
||||
|
||||
public class FileUtils {
|
||||
|
||||
public static String formatFileSize(long size) {
|
||||
String[] units = {"B", "KB", "MB", "GB", "TB"};
|
||||
int unitIndex = 0;
|
||||
@@ -18,4 +20,10 @@ public class FileUtils {
|
||||
public static String getDownloadLink(HttpServletRequest request, FileEntity fileEntity) {
|
||||
return request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/file/" + fileEntity.uuid;
|
||||
}
|
||||
|
||||
public static void populateModelAttributes(FileEntity fileEntity, Model model, HttpServletRequest request) {
|
||||
model.addAttribute("file", fileEntity);
|
||||
model.addAttribute("fileSize", FileUtils.formatFileSize(fileEntity.size));
|
||||
model.addAttribute("downloadLink", getDownloadLink(request, fileEntity));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,5 +12,8 @@ spring.servlet.multipart.max-request-size=1024MB
|
||||
server.tomcat.connection-timeout=60000
|
||||
file.save.path=/files
|
||||
file.max.age=30
|
||||
logging.file.path=/var/log/quickdrop
|
||||
logging.file.name=quickdrop.log
|
||||
file.deletion.cron=0 0 2 * * *
|
||||
#logging.level.org.springframework=DEBUG
|
||||
#logging.level.org.hibernate=DEBUG
|
||||
@@ -45,7 +45,7 @@
|
||||
</form>
|
||||
|
||||
<h3>Link</h3>
|
||||
<p th:text="${downloadLink}"></p>
|
||||
<a th:href="@{${downloadLink}}"><p th:text="${downloadLink}"></p></a>
|
||||
|
||||
<h3>Download</h3>
|
||||
<p>
|
||||
|
||||
Reference in New Issue
Block a user