From 4aa0285d00558ccec3e5a5f6978dfda820d866d6 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sun, 10 Feb 2019 15:40:05 +0000
Subject: [PATCH] Test button of BorgRepoConfig...

---
 borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/BorgRepoConfigsRest.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/BorgRepoConfigsRest.java b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/BorgRepoConfigsRest.java
index b2c0875..d80f327 100644
--- a/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/BorgRepoConfigsRest.java
+++ b/borgbutler-server/src/main/java/de/micromata/borgbutler/server/rest/BorgRepoConfigsRest.java
@@ -1,8 +1,12 @@
 package de.micromata.borgbutler.server.rest;
 
+import de.micromata.borgbutler.BorgCommandResult;
+import de.micromata.borgbutler.BorgCommands;
 import de.micromata.borgbutler.cache.ButlerCache;
 import de.micromata.borgbutler.config.BorgRepoConfig;
 import de.micromata.borgbutler.config.ConfigurationHandler;
+import de.micromata.borgbutler.data.Repository;
+import de.micromata.borgbutler.jobs.JobResult;
 import de.micromata.borgbutler.json.JsonUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -41,4 +45,18 @@
         repoConfig.copyFrom(newRepoConfig);
         ConfigurationHandler.getInstance().save();
     }
+
+    /**
+     * @param jsonRepoConfig All configuration value of the repo to check.
+     * @return Result of borg (tbd.).
+     */
+    @POST
+    @Path("check")
+    @Produces(MediaType.APPLICATION_JSON)
+    public String checkConfig(String jsonRepoConfig) {
+        log.info("Testing repo config: " + jsonRepoConfig);
+        BorgRepoConfig repoConfig = JsonUtils.fromJson(BorgRepoConfig.class, jsonRepoConfig);
+        BorgCommandResult<Repository> result = BorgCommands.info(repoConfig);
+        return result.getStatus() == JobResult.Status.OK ? "OK" : result.getError();
+    }
 }

--
Gitblit v1.10.0