diff --git a/src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/responses/FileResponse.java b/src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/responses/FileResponse.java new file mode 100644 index 0000000..dd8bbd0 --- /dev/null +++ b/src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/responses/FileResponse.java @@ -0,0 +1,12 @@ +package com.institutosemprealerta.semprealerta.domain.ports.out.responses; + +import java.time.LocalDateTime; + +public record FileResponse( + long id, + String fileName, + String fileDownloadUri, + String fileType, + LocalDateTime uploadDate +) { +} diff --git a/src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/UserResponse.java b/src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/responses/UserResponse.java similarity index 90% rename from src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/UserResponse.java rename to src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/responses/UserResponse.java index d931ef0..0b1b14a 100644 --- a/src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/UserResponse.java +++ b/src/main/java/com/institutosemprealerta/semprealerta/domain/ports/out/responses/UserResponse.java @@ -1,10 +1,9 @@ -package com.institutosemprealerta.semprealerta.domain.ports.out; +package com.institutosemprealerta.semprealerta.domain.ports.out.responses; import com.institutosemprealerta.semprealerta.infrastructure.entity.user.Address; import com.institutosemprealerta.semprealerta.infrastructure.entity.user.Contact; import com.institutosemprealerta.semprealerta.infrastructure.entity.user.User; import com.institutosemprealerta.semprealerta.infrastructure.entity.user.UserRoles; -import jakarta.persistence.Embedded; import java.time.LocalDate; diff --git a/src/main/java/com/institutosemprealerta/semprealerta/infrastructure/controllers/FilesStorageController.java b/src/main/java/com/institutosemprealerta/semprealerta/infrastructure/controllers/FilesStorageController.java index cf61676..84af0e4 100644 --- a/src/main/java/com/institutosemprealerta/semprealerta/infrastructure/controllers/FilesStorageController.java +++ b/src/main/java/com/institutosemprealerta/semprealerta/infrastructure/controllers/FilesStorageController.java @@ -1,6 +1,8 @@ package com.institutosemprealerta.semprealerta.infrastructure.controllers; import com.institutosemprealerta.semprealerta.application.service.StorageService; +import com.institutosemprealerta.semprealerta.domain.model.File; +import com.institutosemprealerta.semprealerta.domain.ports.out.responses.FileResponse; import jakarta.servlet.http.HttpServletRequest; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; @@ -25,14 +27,15 @@ public FilesStorageController(StorageService storageService) { } @PostMapping("/upload") - public ResponseEntity uploadFile(@RequestParam("file") MultipartFile file) { + public ResponseEntity uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("file_type") String fileType) { - String fileName = storageService.store(file); + String fileName = storageService.store(file, fileType); String fileDownloadUri = ServletUriComponentsBuilder.fromCurrentContextPath() .path("/api/v1/files/download/") .path(fileName) .toUriString(); + return ResponseEntity.ok("File uploaded successfully, file name: " + fileName + " on path: " + fileDownloadUri); } @@ -61,10 +64,8 @@ public ResponseEntity downloadFile( } @GetMapping("/list") - public ResponseEntity> listFiles() throws IOException { - List fileNames = storageService.loadAll() - .map(path -> path.getFileName().toString()) - .toList(); + public ResponseEntity> listFiles() throws IOException { + List fileNames = storageService.loadAll(); return ResponseEntity.ok(fileNames); }