@@ -31,4 +31,5 @@ public class FileEntityResponse {
|
||||
private String downloadUrl;
|
||||
private boolean existsOnDisk;
|
||||
private Integer supportId;
|
||||
private String protectStatus;
|
||||
}
|
||||
|
||||
@@ -58,4 +58,7 @@ public class FileInfoUserResponse {
|
||||
|
||||
@JsonProperty("audios_violations")
|
||||
private Integer audiosViolations;
|
||||
|
||||
@JsonProperty("protected_files_count")
|
||||
private Long protectedFilesCount;
|
||||
}
|
||||
|
||||
@@ -340,6 +340,7 @@ public class FileEntityService {
|
||||
.downloadUrl("/api/v" + version + "/files/download/" + fileEntity.getId())
|
||||
.existsOnDisk(existsOnDisk)
|
||||
.supportId(fileEntity.getSupportId())
|
||||
.protectStatus(fileEntity.getProtectionStatus().toString())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import ru.soune.nocopy.dto.file.FileInfoUserResponse;
|
||||
import ru.soune.nocopy.entity.file.FileEntity;
|
||||
import ru.soune.nocopy.entity.file.FileStatus;
|
||||
import ru.soune.nocopy.entity.file.FileType;
|
||||
import ru.soune.nocopy.entity.file.ProtectionStatus;
|
||||
import ru.soune.nocopy.repository.FileEntityRepository;
|
||||
|
||||
import java.util.List;
|
||||
@@ -41,8 +42,14 @@ public class FileStatsService {
|
||||
.audiosCount(calculateMediaCount(files, FileType.AUDIO))
|
||||
.audiosCheck(calculateMediaByStatus(files, FileType.AUDIO, FileStatus.CHECKED))
|
||||
.audiosViolations(calculateMediaByStatus(files, FileType.AUDIO, FileStatus.VIOLATION))
|
||||
.protectedFilesCount(protectedUserFiles(files))
|
||||
.build();
|
||||
}
|
||||
|
||||
private Long protectedUserFiles(List<FileEntity> files) {
|
||||
return files.stream().filter(file -> file.getProtectionStatus() == ProtectionStatus.PROTECTED).count();
|
||||
}
|
||||
|
||||
private Long calculateTotalSize(List<FileEntity> files) {
|
||||
return files.stream()
|
||||
.filter(file -> file.getStatus() != FileStatus.DELETED)
|
||||
|
||||
Reference in New Issue
Block a user