dev
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-01-26 14:43:57 +07:00
parent 4c8c4bb5c1
commit 329000d284
4 changed files with 21 additions and 4 deletions
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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)