Fixed Live User Data Mapper throwing MalformedJsonException!

This commit is contained in:
kohlerpop1
2024-02-28 21:03:00 -05:00
parent d3004d76c1
commit 15c642297c
6 changed files with 79 additions and 51 deletions

View File

@@ -1,6 +1,8 @@
package io.github.jwdeveloper.tiktok.common;
import com.google.gson.*;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Optional;
import java.util.function.Function;
@@ -11,6 +13,8 @@ public class ActionResult<T> {
private boolean success = true;
private T content;
private String message;
@Accessors(chain = true, fluent = true)
private ActionResult<?> previous;
protected ActionResult(T object) {
this.content = object;
@@ -41,8 +45,9 @@ public class ActionResult<T> {
public boolean hasMessage() {
return message != null;
}
public String toStack() {
return hasMessage() ? " - "+message : "";
public boolean hasPrevious() {
return previous != null;
}
public boolean hasContent() {
@@ -84,4 +89,18 @@ public class ActionResult<T> {
public static <T> ActionResult<T> failure() {
return failure(null);
}
public JsonObject toJson() {
JsonObject map = new JsonObject();
map.addProperty("success", success);
map.add("content", new Gson().toJsonTree(content));
map.addProperty("message", message);
map.add("previous", hasPrevious() ? previous.toJson() : null);
return map;
}
@Override
public String toString() {
return "ActionResult: "+new Gson().newBuilder().setPrettyPrinting().create().toJson(toJson());
}
}

View File

@@ -1,5 +1,8 @@
package io.github.jwdeveloper.tiktok.common;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.util.Arrays;
import java.util.stream.Collectors;
@@ -7,6 +10,8 @@ public class ActionResultBuilder<T>
{
private final T content;
private String message;
@Setter @Accessors(fluent = true, chain = true)
private ActionResult<?> previous;
public ActionResultBuilder(T content) {
this.content = content;
@@ -18,10 +23,10 @@ public class ActionResultBuilder<T>
}
public ActionResult<T> success() {
return ActionResult.success(content, message);
return ActionResult.success(content, message).previous(previous);
}
public ActionResult<T> failure() {
return ActionResult.success(content, message);
return ActionResult.success(content, message).previous(previous);
}
}