Skip to content

Commit

Permalink
feat: add file controller
Browse files Browse the repository at this point in the history
  • Loading branch information
MatheusVict committed Feb 26, 2024
1 parent 90bdb84 commit 883754f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -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
) {
}
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -25,14 +27,15 @@ public FilesStorageController(StorageService storageService) {
}

@PostMapping("/upload")
public ResponseEntity<String> uploadFile(@RequestParam("file") MultipartFile file) {
public ResponseEntity<String> 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);
}

Expand Down Expand Up @@ -61,10 +64,8 @@ public ResponseEntity<Resource> downloadFile(
}

@GetMapping("/list")
public ResponseEntity<List<String>> listFiles() throws IOException {
List<String> fileNames = storageService.loadAll()
.map(path -> path.getFileName().toString())
.toList();
public ResponseEntity<List<FileResponse>> listFiles() throws IOException {
List<FileResponse> fileNames = storageService.loadAll();

return ResponseEntity.ok(fileNames);
}
Expand Down

0 comments on commit 883754f

Please sign in to comment.