diff --git a/src/main/java/sh/rhiobet/lalafin/advent/AdventAccessService.java b/src/main/java/sh/rhiobet/lalafin/advent/AdventAccessService.java index b1ed66c..60008e9 100644 --- a/src/main/java/sh/rhiobet/lalafin/advent/AdventAccessService.java +++ b/src/main/java/sh/rhiobet/lalafin/advent/AdventAccessService.java @@ -8,7 +8,6 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.inject.Named; import sh.rhiobet.lalafin.access.AccessService; -import sh.rhiobet.lalafin.advent.AdventConfiguration.AdventEvent; import sh.rhiobet.lalafin.path.Path; @ApplicationScoped @@ -22,7 +21,7 @@ public class AdventAccessService implements AccessService { public boolean checkAccess(Path path) { String pathUri = path.getURI(); - Optional matchingAdvent = adventConfiguration.events().stream() + Optional matchingAdvent = adventConfiguration.events().stream() .filter(e -> pathUri.startsWith(e.path())) .findFirst(); @@ -31,7 +30,7 @@ public class AdventAccessService implements AccessService { } String dayString = pathUri.replaceAll( - "^" + Pattern.quote(matchingAdvent.get().path()) + "/?($1)\\.?[^.]*$", + "^" + Pattern.quote(matchingAdvent.get().path()) + "/?([^.]+)\\.?[^.]*$", "$1"); try { int day = Integer.parseInt(dayString); diff --git a/src/main/java/sh/rhiobet/lalafin/file/FileRoleAccessService.java b/src/main/java/sh/rhiobet/lalafin/file/FileRoleAccessService.java index b02cb91..9c231e9 100644 --- a/src/main/java/sh/rhiobet/lalafin/file/FileRoleAccessService.java +++ b/src/main/java/sh/rhiobet/lalafin/file/FileRoleAccessService.java @@ -7,8 +7,6 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.inject.Named; import sh.rhiobet.lalafin.access.AccessService; -import sh.rhiobet.lalafin.api.configuration.FileApiConfiguration; -import sh.rhiobet.lalafin.api.configuration.FileApiConfiguration.Route; import sh.rhiobet.lalafin.path.Path; @ApplicationScoped @@ -18,11 +16,11 @@ public class FileRoleAccessService implements AccessService { SecurityIdentity securityIdentity; @Inject - FileApiConfiguration fileApiConfiguration; + FileConfiguration fileConfiguration; public boolean checkAccess(Path path) { String pathUri = path.getURI(); - List matchingRoutes = fileApiConfiguration.routes().stream() + List matchingRoutes = fileConfiguration.routes().stream() .filter(r -> pathUri.startsWith(r.path())) .toList(); diff --git a/src/main/java/sh/rhiobet/lalafin/path/ZipEntryPath.java b/src/main/java/sh/rhiobet/lalafin/path/ZipEntryPath.java index 5f1ca29..40d3226 100644 --- a/src/main/java/sh/rhiobet/lalafin/path/ZipEntryPath.java +++ b/src/main/java/sh/rhiobet/lalafin/path/ZipEntryPath.java @@ -78,6 +78,7 @@ public final class ZipEntryPath implements Path { if (zipEntry != null) { return new ZipEntryInputStream(zipFile, zipFile.getInputStream(zipEntry)); } else { + zipFile.close(); throw new IOException("Zip entry does not exist."); } } else {