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