Added file disable feature

- Redesigned login page
This commit is contained in:
2024-06-04 00:34:41 +02:00
parent 1462e141ad
commit 5f3304674f
6 changed files with 66 additions and 12 deletions

View File

@ -1,11 +1,13 @@
package de.w665.sharepulse.rest.mappings;
import de.w665.sharepulse.SharepulseApplication;
import de.w665.sharepulse.db.repo.FileUploadRepository;
import de.w665.sharepulse.db.repo.UserLoginRepository;
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.rest.ro.FileDeleteRequest;
import de.w665.sharepulse.rest.ro.UserEditRequest;
import de.w665.sharepulse.service.AuthenticationService;
import de.w665.sharepulse.service.FileCleanupService;
@ -27,12 +29,14 @@ public class Administration extends SecureApiRestController {
private final AuthenticationService authenticationService;
private final FileCleanupService fileCleanupService;
private final UserLoginRepository userLoginRepository;
private final FileUploadRepository fileUploadRepository;
public Administration(UserRepository userRepository, AuthenticationService authenticationService, FileCleanupService fileCleanupService, UserLoginRepository userLoginRepository) {
public Administration(UserRepository userRepository, AuthenticationService authenticationService, FileCleanupService fileCleanupService, UserLoginRepository userLoginRepository, FileUploadRepository fileUploadRepository) {
this.userRepository = userRepository;
this.authenticationService = authenticationService;
this.fileCleanupService = fileCleanupService;
this.userLoginRepository = userLoginRepository;
this.fileUploadRepository = fileUploadRepository;
}
@GetMapping("/statistics")
@ -107,4 +111,16 @@ public class Administration extends SecureApiRestController {
List<FileUpload> files = fileCleanupService.deleteFiles();
return ResponseEntity.ok(files);
}
@PutMapping("/files/disable")
public ResponseEntity<Object> disableFileUploads(@RequestBody FileDeleteRequest fdr, HttpServletRequest request) {
Optional<FileUpload> optionalFileUpload = fileUploadRepository.retrieveFileUploadByFileId(fdr.getFileId());
if(optionalFileUpload.isEmpty()) {
return ResponseEntity.badRequest().body("File not found");
}
FileUpload fileUpload = optionalFileUpload.get();
fileUpload.setDisabled(true);
fileUploadRepository.updateFileUpload(fileUpload);
return ResponseEntity.ok("File " + fdr.getFileId() + " disabled successfully.");
}
}

View File

@ -0,0 +1,14 @@
package de.w665.sharepulse.rest.ro;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@NoArgsConstructor
@Getter
@Setter
@ToString
public class FileDeleteRequest {
private String fileId;
}