minor refactoring

This commit is contained in:
Rostislav Raykov
2024-10-07 01:03:10 +03:00
parent 4144f65f53
commit ec51b8c39a
5 changed files with 19 additions and 12 deletions

View File

@@ -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";
}
}

View File

@@ -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);

View File

@@ -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));
}
}

View File

@@ -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

View File

@@ -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>