From 23db8681d3708727bd58e2a676cf2d1e02c081cb Mon Sep 17 00:00:00 2001 From: RhiobeT Date: Wed, 22 Apr 2026 13:26:26 +0200 Subject: [PATCH] Small fixes --- .../advent/thumbnail/AdventThumbnailPathPlugin.java | 6 +++--- .../rhiobet/lalafin/core/path/model/PathFactory.java | 11 ++--------- .../lalafin/file/model/FileMetadataService.java | 4 ---- .../sh/rhiobet/lalafin/file/rest/FilePrivateAPI.java | 9 ++++++++- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/main/java/sh/rhiobet/lalafin/advent/thumbnail/AdventThumbnailPathPlugin.java b/src/main/java/sh/rhiobet/lalafin/advent/thumbnail/AdventThumbnailPathPlugin.java index 1f508af..a990fe9 100644 --- a/src/main/java/sh/rhiobet/lalafin/advent/thumbnail/AdventThumbnailPathPlugin.java +++ b/src/main/java/sh/rhiobet/lalafin/advent/thumbnail/AdventThumbnailPathPlugin.java @@ -11,15 +11,15 @@ import jakarta.decorator.Delegate; import jakarta.inject.Inject; import jakarta.inject.Named; import sh.rhiobet.lalafin.advent.access.AdventAccessService; -import sh.rhiobet.lalafin.api.configuration.FileApiConfiguration; import sh.rhiobet.lalafin.core.path.model.Path; import sh.rhiobet.lalafin.core.path.model.PathAccessor; import sh.rhiobet.lalafin.core.path.plugin.PathPlugin; +import sh.rhiobet.lalafin.file.configuration.FileConfiguration; @Decorator public class AdventThumbnailPathPlugin extends PathAccessor implements PathPlugin { @Inject - FileApiConfiguration fileApiConfiguration; + FileConfiguration fileConfiguration; @Inject @Named("file/thumbnail") @@ -37,7 +37,7 @@ public class AdventThumbnailPathPlugin extends PathAccessor implements PathPlugi Optional thumbnailAbsolutePath = getDefaultThumbnailPath(path); if (thumbnailAbsolutePath.isPresent()) { - java.nio.file.Path rootFolderPath = Paths.get(this.fileApiConfiguration.directory()); + java.nio.file.Path rootFolderPath = Paths.get(this.fileConfiguration.directory()); return Optional.of( "/" + rootFolderPath.resolve("file").relativize(thumbnailAbsolutePath.get()) .toString()); diff --git a/src/main/java/sh/rhiobet/lalafin/core/path/model/PathFactory.java b/src/main/java/sh/rhiobet/lalafin/core/path/model/PathFactory.java index 1cf97b8..b8b4f2f 100644 --- a/src/main/java/sh/rhiobet/lalafin/core/path/model/PathFactory.java +++ b/src/main/java/sh/rhiobet/lalafin/core/path/model/PathFactory.java @@ -1,28 +1,21 @@ package sh.rhiobet.lalafin.core.path.model; import jakarta.enterprise.context.ApplicationScoped; -import jakarta.inject.Inject; import jakarta.ws.rs.core.PathSegment; import java.net.URLDecoder; import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; import java.util.List; -import sh.rhiobet.lalafin.api.configuration.FileApiConfiguration; import sh.rhiobet.lalafin.core.path.exception.InvalidPathException; @ApplicationScoped public class PathFactory { - @Inject - FileApiConfiguration fileApiConfiguration; - - public Path toPath(List names) throws InvalidPathException { + public Path toPath(List names, java.nio.file.Path rootFolderPath) + throws InvalidPathException { if (hasEncodedPathSeparator(names)) { throw new InvalidPathException("Some path segments contain illegal characters."); } else { - java.nio.file.Path rootFolderPath = Paths.get(this.fileApiConfiguration.directory()); - int zipIndex = -1; for (int i = 0; i < names.size(); i++) { if (names.get(i).getPath().endsWith(".zip")) { diff --git a/src/main/java/sh/rhiobet/lalafin/file/model/FileMetadataService.java b/src/main/java/sh/rhiobet/lalafin/file/model/FileMetadataService.java index 5ca8940..ef5bdf7 100644 --- a/src/main/java/sh/rhiobet/lalafin/file/model/FileMetadataService.java +++ b/src/main/java/sh/rhiobet/lalafin/file/model/FileMetadataService.java @@ -9,7 +9,6 @@ import sh.rhiobet.lalafin.LalafinConfiguration; import sh.rhiobet.lalafin.api.internal.redis.FileTokenProvider; import sh.rhiobet.lalafin.core.path.model.Path; import sh.rhiobet.lalafin.core.path.plugin.PathPlugin; -import sh.rhiobet.lalafin.file.ThumbnailService; import sh.rhiobet.lalafin.file.configuration.FileConfiguration; @ApplicationScoped @@ -20,9 +19,6 @@ public class FileMetadataService { @Inject FileConfiguration fileConfiguration; - @Inject - ThumbnailService thumbnailService; - @Inject @Named("file/thumbnail") PathPlugin thumbnailPathPlugin; diff --git a/src/main/java/sh/rhiobet/lalafin/file/rest/FilePrivateAPI.java b/src/main/java/sh/rhiobet/lalafin/file/rest/FilePrivateAPI.java index 466e92f..877488e 100644 --- a/src/main/java/sh/rhiobet/lalafin/file/rest/FilePrivateAPI.java +++ b/src/main/java/sh/rhiobet/lalafin/file/rest/FilePrivateAPI.java @@ -1,5 +1,6 @@ package sh.rhiobet.lalafin.file.rest; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; @@ -15,12 +16,16 @@ import io.quarkus.security.Authenticated; import sh.rhiobet.lalafin.core.access.AccessService; import sh.rhiobet.lalafin.core.path.exception.InvalidPathException; import sh.rhiobet.lalafin.core.path.model.PathFactory; +import sh.rhiobet.lalafin.file.configuration.FileConfiguration; import sh.rhiobet.lalafin.file.model.FileInfoBase; import sh.rhiobet.lalafin.file.model.FileMetadataService; @Authenticated @Path("/v1/api/private/file") public class FilePrivateAPI { + @Inject + FileConfiguration fileConfiguration; + @Inject FileMetadataService fileMetadataService; @@ -41,9 +46,11 @@ public class FilePrivateAPI { @Path("/{names: .+}") @Produces(MediaType.APPLICATION_JSON) public Response getFileInfo(List names) { + java.nio.file.Path rootFolderPath = Paths.get(this.fileConfiguration.directory()); + sh.rhiobet.lalafin.core.path.model.Path path; try { - path = this.pathFactory.toPath(names); + path = this.pathFactory.toPath(names, rootFolderPath); } catch (InvalidPathException ignored) { return Response.status(Response.Status.BAD_REQUEST).build(); }