From 056160edd629372ff93619be7e130a26e2377f9b Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 16 Dec 2018 15:25:17 +0000
Subject: [PATCH] file lists...

---
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
index 8f3e88d..902848c 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/ArchivesRest.java
@@ -4,6 +4,7 @@
 import de.micromata.borgbutler.data.Archive;
 import de.micromata.borgbutler.data.Repository;
 import de.micromata.borgbutler.json.JsonUtils;
+import de.micromata.borgbutler.json.borg.BorgFilesystemItem;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -12,6 +13,7 @@
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
+import java.util.List;
 
 @Path("/archives")
 public class ArchivesRest {
@@ -39,16 +41,21 @@
     @Produces(MediaType.APPLICATION_JSON)
     /**
      *
-     * @param repo Name of repository ({@link Repository#getName()}.
-     * @param archive Id or name of archive.
+     * @param archiveId Id or name of archive.
+     * @param maxResultSize maximum number of file items to return (default is 50).
      * @param prettyPrinter If true then the json output will be in pretty format.
      * @return Repository (including list of archives) as json string.
      * @see JsonUtils#toJson(Object, boolean)
      */
-    public String getArchiveFileLIst(@QueryParam("repo") String repoName,
-                             @QueryParam("archive") String archiveIdOrName, @QueryParam("force") boolean force,
-                             @QueryParam("prettyPrinter") boolean prettyPrinter) {
-        Archive archive = ButlerCache.getInstance().getArchive(repoName, archiveIdOrName, force);
-        return JsonUtils.toJson(archive, prettyPrinter);
+    public String getArchiveFileLIst(@QueryParam("archiveId") String archiveId,
+                                     @QueryParam("maxResultSize") Integer maxResultSize,
+                                     @QueryParam("force") boolean force,
+                                     @QueryParam("prettyPrinter") boolean prettyPrinter) {
+        int maxSize = maxResultSize != null ? maxResultSize : 50;
+        List<BorgFilesystemItem> items = ButlerCache.getInstance().getArchiveContent(archiveId, maxSize);
+        if (items == null) {
+            return "";
+        }
+        return JsonUtils.toJson(items, prettyPrinter);
     }
 }

--
Gitblit v1.10.0