From 329000d2843be327b37cc8a58b7b700887d067cc Mon Sep 17 00:00:00 2001 From: vladp Date: Mon, 26 Jan 2026 14:43:57 +0700 Subject: [PATCH] dev --- Dockerfile | 4 ++-- referral/build.gradle.kts | 2 +- .../ru/soune/nocopy/dto/file/FileInfoUserResponse.java | 9 +++++++++ .../ru/soune/nocopy/service/file/FileStatsService.java | 10 +++++++++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 03d3325..c2b3f2c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM gradle:8.14.2-jdk21 AS build +FROM gradle:8.14.2-jdk17 AS build WORKDIR /app @@ -6,7 +6,7 @@ COPY . . RUN gradle --no-daemon clean build -x test -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:17-jre WORKDIR /app diff --git a/referral/build.gradle.kts b/referral/build.gradle.kts index c0cc540..c023bdc 100644 --- a/referral/build.gradle.kts +++ b/referral/build.gradle.kts @@ -22,5 +22,5 @@ tasks.test { useJUnitPlatform() } kotlin { - jvmToolchain(21) + jvmToolchain(17) } \ No newline at end of file diff --git a/src/main/java/ru/soune/nocopy/dto/file/FileInfoUserResponse.java b/src/main/java/ru/soune/nocopy/dto/file/FileInfoUserResponse.java index 9c1e19a..9304af2 100644 --- a/src/main/java/ru/soune/nocopy/dto/file/FileInfoUserResponse.java +++ b/src/main/java/ru/soune/nocopy/dto/file/FileInfoUserResponse.java @@ -61,4 +61,13 @@ public class FileInfoUserResponse { @JsonProperty("protected_files_count") 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; } diff --git a/src/main/java/ru/soune/nocopy/service/file/FileStatsService.java b/src/main/java/ru/soune/nocopy/service/file/FileStatsService.java index 8e7e163..8e98f13 100644 --- a/src/main/java/ru/soune/nocopy/service/file/FileStatsService.java +++ b/src/main/java/ru/soune/nocopy/service/file/FileStatsService.java @@ -27,22 +27,25 @@ public class FileStatsService { .fileCount(calculateTotalCount(files)) .filesCheck(calculateByStatus(files, FileStatus.CHECKED)) .filesViolation(calculateByStatus(files, FileStatus.VIOLATION)) + .protectedFilesCount(protectedUserFiles(files)) .imagesSize(calculateMediaSize(files, FileType.IMAGE)) .imagesCount(calculateMediaCount(files, FileType.IMAGE)) .imagesCheck(calculateMediaByStatus(files, FileType.IMAGE, FileStatus.CHECKED)) .imagesViolations(calculateMediaByStatus(files, FileType.IMAGE, FileStatus.VIOLATION)) + .protectedImageFilesCount(protectedUserFiles(files, FileType.IMAGE)) .videosSize(calculateMediaSize(files, FileType.VIDEO)) .videosCount(calculateMediaCount(files, FileType.VIDEO)) .videosCheck(calculateMediaByStatus(files, FileType.VIDEO, FileStatus.CHECKED)) .videosViolations(calculateMediaByStatus(files, FileType.VIDEO, FileStatus.VIOLATION)) + .protectedVideoFilesCount(protectedUserFiles(files, FileType.VIDEO)) .audiosSize(calculateMediaSize(files, FileType.AUDIO)) .audiosCount(calculateMediaCount(files, FileType.AUDIO)) .audiosCheck(calculateMediaByStatus(files, FileType.AUDIO, FileStatus.CHECKED)) .audiosViolations(calculateMediaByStatus(files, FileType.AUDIO, FileStatus.VIOLATION)) - .protectedFilesCount(protectedUserFiles(files)) + .protectedAudioFilesCount(protectedUserFiles(files, FileType.AUDIO)) .build(); } @@ -50,6 +53,11 @@ public class FileStatsService { return files.stream().filter(file -> file.getProtectionStatus() == ProtectionStatus.PROTECTED).count(); } + private Long protectedUserFiles(List files, FileType type) { + return files.stream().filter(file -> file.getProtectionStatus() == ProtectionStatus.PROTECTED && + file.getMimeType().equals(type.getDisplayName())).count(); + } + private Long calculateTotalSize(List files) { return files.stream() .filter(file -> file.getStatus() != FileStatus.DELETED)