+2
-2
@@ -1,4 +1,4 @@
|
|||||||
FROM gradle:8.14.2-jdk21 AS build
|
FROM gradle:8.14.2-jdk17 AS build
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ COPY . .
|
|||||||
|
|
||||||
RUN gradle --no-daemon clean build -x test
|
RUN gradle --no-daemon clean build -x test
|
||||||
|
|
||||||
FROM eclipse-temurin:21-jre
|
FROM eclipse-temurin:17-jre
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
|||||||
@@ -22,5 +22,5 @@ tasks.test {
|
|||||||
useJUnitPlatform()
|
useJUnitPlatform()
|
||||||
}
|
}
|
||||||
kotlin {
|
kotlin {
|
||||||
jvmToolchain(21)
|
jvmToolchain(17)
|
||||||
}
|
}
|
||||||
@@ -61,4 +61,13 @@ public class FileInfoUserResponse {
|
|||||||
|
|
||||||
@JsonProperty("protected_files_count")
|
@JsonProperty("protected_files_count")
|
||||||
private Long protectedFilesCount;
|
private Long protectedFilesCount;
|
||||||
|
|
||||||
|
@JsonProperty("protected_audio_files_count")
|
||||||
|
private Long protectedAudioFilesCount;
|
||||||
|
|
||||||
|
@JsonProperty("protected_video_files_count")
|
||||||
|
private Long protectedVideoFilesCount;
|
||||||
|
|
||||||
|
@JsonProperty("protected_image_files_count")
|
||||||
|
private Long protectedImageFilesCount;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,22 +27,25 @@ public class FileStatsService {
|
|||||||
.fileCount(calculateTotalCount(files))
|
.fileCount(calculateTotalCount(files))
|
||||||
.filesCheck(calculateByStatus(files, FileStatus.CHECKED))
|
.filesCheck(calculateByStatus(files, FileStatus.CHECKED))
|
||||||
.filesViolation(calculateByStatus(files, FileStatus.VIOLATION))
|
.filesViolation(calculateByStatus(files, FileStatus.VIOLATION))
|
||||||
|
.protectedFilesCount(protectedUserFiles(files))
|
||||||
|
|
||||||
.imagesSize(calculateMediaSize(files, FileType.IMAGE))
|
.imagesSize(calculateMediaSize(files, FileType.IMAGE))
|
||||||
.imagesCount(calculateMediaCount(files, FileType.IMAGE))
|
.imagesCount(calculateMediaCount(files, FileType.IMAGE))
|
||||||
.imagesCheck(calculateMediaByStatus(files, FileType.IMAGE, FileStatus.CHECKED))
|
.imagesCheck(calculateMediaByStatus(files, FileType.IMAGE, FileStatus.CHECKED))
|
||||||
.imagesViolations(calculateMediaByStatus(files, FileType.IMAGE, FileStatus.VIOLATION))
|
.imagesViolations(calculateMediaByStatus(files, FileType.IMAGE, FileStatus.VIOLATION))
|
||||||
|
.protectedImageFilesCount(protectedUserFiles(files, FileType.IMAGE))
|
||||||
|
|
||||||
.videosSize(calculateMediaSize(files, FileType.VIDEO))
|
.videosSize(calculateMediaSize(files, FileType.VIDEO))
|
||||||
.videosCount(calculateMediaCount(files, FileType.VIDEO))
|
.videosCount(calculateMediaCount(files, FileType.VIDEO))
|
||||||
.videosCheck(calculateMediaByStatus(files, FileType.VIDEO, FileStatus.CHECKED))
|
.videosCheck(calculateMediaByStatus(files, FileType.VIDEO, FileStatus.CHECKED))
|
||||||
.videosViolations(calculateMediaByStatus(files, FileType.VIDEO, FileStatus.VIOLATION))
|
.videosViolations(calculateMediaByStatus(files, FileType.VIDEO, FileStatus.VIOLATION))
|
||||||
|
.protectedVideoFilesCount(protectedUserFiles(files, FileType.VIDEO))
|
||||||
|
|
||||||
.audiosSize(calculateMediaSize(files, FileType.AUDIO))
|
.audiosSize(calculateMediaSize(files, FileType.AUDIO))
|
||||||
.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))
|
.protectedAudioFilesCount(protectedUserFiles(files, FileType.AUDIO))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,6 +53,11 @@ public class FileStatsService {
|
|||||||
return files.stream().filter(file -> file.getProtectionStatus() == ProtectionStatus.PROTECTED).count();
|
return files.stream().filter(file -> file.getProtectionStatus() == ProtectionStatus.PROTECTED).count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Long protectedUserFiles(List<FileEntity> files, FileType type) {
|
||||||
|
return files.stream().filter(file -> file.getProtectionStatus() == ProtectionStatus.PROTECTED &&
|
||||||
|
file.getMimeType().equals(type.getDisplayName())).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