]> git.basschouten.com Git - openhab-addons.git/commitdiff
[freeboxos] Restore enum in API response record DTO (MacOS file sharing) (#17284)
authorlolodomo <lg.hc@free.fr>
Sun, 18 Aug 2024 11:26:08 +0000 (13:26 +0200)
committerGitHub <noreply@github.com>
Sun, 18 Aug 2024 11:26:08 +0000 (13:26 +0200)
Partial revert of #17203

Signed-off-by: Laurent Garnier <lg.hc@free.fr>
bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java

index 4fbb9052aef9f8434ff6a87bdc4ec2f351d584f6..9ad0cf76de89e67a5f1ba944d9dc6d40211c94cd 100644 (file)
@@ -19,6 +19,8 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.binding.freeboxos.internal.api.FreeboxException;
 import org.openhab.binding.freeboxos.internal.api.Response;
 
+import com.google.gson.annotations.SerializedName;
+
 /**
  * The {@link AfpManager} is the Java class used to handle api requests related to Afp shares
  *
@@ -31,8 +33,33 @@ public class AfpManager extends ConfigurableRest<AfpManager.Afp, AfpManager.Conf
     protected static class ConfigResponse extends Response<Afp> {
     }
 
-    protected static record Afp(boolean enabled, boolean guestAllow, String serverType, @Nullable String loginName,
+    protected static record Afp(boolean enabled, boolean guestAllow, ServerType serverType, @Nullable String loginName,
             @Nullable String loginPassword) {
+        private enum ServerType {
+            @SerializedName("powerbook")
+            POWERBOOK,
+            @SerializedName("powermac")
+            POWERMAC,
+            @SerializedName("macmini")
+            MACMINI,
+            @SerializedName("imac")
+            IMAC,
+            @SerializedName("macbook")
+            MACBOOK,
+            @SerializedName("macbookpro")
+            MACBOOKPRO,
+            @SerializedName("macbookair")
+            MACBOOKAIR,
+            @SerializedName("macpro")
+            MACPRO,
+            @SerializedName("appletv")
+            APPLETV,
+            @SerializedName("airport")
+            AIRPORT,
+            @SerializedName("xserve")
+            XSERVE,
+            UNKNOWN
+        }
     }
 
     public AfpManager(FreeboxOsSession session, UriBuilder uriBuilder) throws FreeboxException {