This commit is contained in:
@@ -6,13 +6,15 @@ import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.soune.nocopy.dto.file.CheckStatus;
|
||||
import ru.soune.nocopy.entity.file.FileEntity;
|
||||
import ru.soune.nocopy.entity.file.ProtectionStatus;
|
||||
import ru.soune.nocopy.entity.user.ProtectedFileCheck;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.repository.FileEntityRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.file.CheckCounterService;
|
||||
import ru.soune.nocopy.service.file.FileStorageService;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -28,6 +30,12 @@ public class FileController {
|
||||
@Autowired
|
||||
private FileEntityRepository fileRepository;
|
||||
|
||||
@Autowired
|
||||
private CheckCounterService checkCounterService;
|
||||
|
||||
@Autowired
|
||||
private UserRepository userRepository;
|
||||
|
||||
@GetMapping("/public/{fileId}")
|
||||
public ResponseEntity<Resource> getPublicFile(
|
||||
@PathVariable String fileId) throws IOException {
|
||||
@@ -47,4 +55,21 @@ public class FileController {
|
||||
"inline; filename=\"" + fileEntity.getOriginalFileName() + "\"")
|
||||
.body(resource);
|
||||
}
|
||||
|
||||
@GetMapping("check-file/status/{userId}")
|
||||
public ResponseEntity<CheckStatus> getStatus(@PathVariable Long userId) {
|
||||
CheckStatus status = checkCounterService.getCurrentStatus(userId);
|
||||
|
||||
return ResponseEntity.ok(status);
|
||||
}
|
||||
|
||||
@PostMapping("check-file/update-limit/{userId}/{limit}")
|
||||
public ResponseEntity<ProtectedFileCheck> getStatus(@PathVariable Long userId, @PathVariable Integer limit) {
|
||||
User user = userRepository.findById(userId).orElseThrow();
|
||||
ProtectedFileCheck protectedFileCheck = checkCounterService.updateLimit(user, limit);
|
||||
|
||||
return ResponseEntity
|
||||
.ok()
|
||||
.body(protectedFileCheck);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user