From 04d87ad5995c13b26425dc4e43b208380c6be0b2 Mon Sep 17 00:00:00 2001 From: lolodomo Date: Sun, 18 Aug 2024 13:26:08 +0200 Subject: [PATCH] [freeboxos] Restore enum in API response record DTO (MacOS file sharing) (#17284) Partial revert of #17203 Signed-off-by: Laurent Garnier --- .../internal/api/rest/AfpManager.java | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java b/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java index 4fbb9052aef..9ad0cf76de8 100644 --- a/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java +++ b/bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/AfpManager.java @@ -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 { } - 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 {