Added delete all files
This commit is contained in:
@ -2,16 +2,20 @@ package de.w665.sharepulse.rest.mappings;
|
||||
|
||||
import de.w665.sharepulse.SharepulseApplication;
|
||||
import de.w665.sharepulse.db.repo.UserRepository;
|
||||
import de.w665.sharepulse.model.FileUpload;
|
||||
import de.w665.sharepulse.model.User;
|
||||
import de.w665.sharepulse.rest.SecureApiRestController;
|
||||
import de.w665.sharepulse.service.AuthenticationService;
|
||||
import de.w665.sharepulse.service.FileCleanupService;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@ -21,15 +25,19 @@ public class Administration extends SecureApiRestController {
|
||||
|
||||
private final UserRepository userRepository;
|
||||
private final AuthenticationService authenticationService;
|
||||
private final FileCleanupService fileCleanupService;
|
||||
|
||||
public Administration(UserRepository userRepository, AuthenticationService authenticationService) {
|
||||
public Administration(UserRepository userRepository, AuthenticationService authenticationService, FileCleanupService fileCleanupService) {
|
||||
this.userRepository = userRepository;
|
||||
this.authenticationService = authenticationService;
|
||||
this.fileCleanupService = fileCleanupService;
|
||||
}
|
||||
|
||||
@GetMapping("/statistics")
|
||||
public ResponseEntity<Object> getStatistics(HttpServletRequest request) {
|
||||
|
||||
// TODO: FIX LAST LOGIN
|
||||
|
||||
String token = request.getHeader("Authorization");
|
||||
token = token.substring(7);
|
||||
String username = authenticationService.getClaimValue(token, "username", String.class);
|
||||
@ -47,4 +55,10 @@ public class Administration extends SecureApiRestController {
|
||||
log.debug("Received statistics request");
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
@DeleteMapping("/files")
|
||||
public ResponseEntity<Object> deleteFiles(HttpServletRequest request) {
|
||||
List<FileUpload> files = fileCleanupService.deleteFiles();
|
||||
return ResponseEntity.ok(files);
|
||||
}
|
||||
}
|
||||
|
@ -33,4 +33,15 @@ public class FileCleanupService {
|
||||
log.debug("Moved file " + fileUpload.getFileId() + " to old_file_uploads table.");
|
||||
}
|
||||
}
|
||||
|
||||
public List<FileUpload> deleteFiles() {
|
||||
log.debug("Running cleanup. Clearing all files...");
|
||||
List<FileUpload> fileUploads = fileUploadRepository.findAll();
|
||||
for (FileUpload fileUpload : fileUploads) {
|
||||
fileService.deleteFile(fileUpload);
|
||||
expiredFileUploadRepository.insertExpiredFileUpload(fileUpload);
|
||||
log.debug("Moved file " + fileUpload.getFileId() + " to old_file_uploads table.");
|
||||
}
|
||||
return fileUploads;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user