diff options
author | Vitaly Takmazov | 2024-03-13 02:20:33 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2024-03-13 02:20:33 +0300 |
commit | e43b64a9ea8bf80ec62cd59ad4eed19b112f5093 (patch) | |
tree | ce32df17b96e5e1965d795e15b74b19f0f43d9c5 /src/main/java/com/juick/www/api/activity/model | |
parent | 46db0df06eacbc7c7812918683089835e29ae56c (diff) |
ActivityPub: handle Flag with multiple objects
TODO: refactor Activity to handle multiple objects
Diffstat (limited to 'src/main/java/com/juick/www/api/activity/model')
3 files changed, 45 insertions, 13 deletions
diff --git a/src/main/java/com/juick/www/api/activity/model/Context.java b/src/main/java/com/juick/www/api/activity/model/Context.java index cfcc9379..80694b7a 100644 --- a/src/main/java/com/juick/www/api/activity/model/Context.java +++ b/src/main/java/com/juick/www/api/activity/model/Context.java @@ -68,6 +68,8 @@ public class Context implements Serializable { private Image icon; private Instant published; + private String content; + @JsonDeserialize(using = LinkValueDeserializer.class) private String url; @@ -172,4 +174,12 @@ public class Context implements Serializable { public void setCc(List<String> cc) { this.cc = cc; } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } } diff --git a/src/main/java/com/juick/www/api/activity/model/activities/Flag.java b/src/main/java/com/juick/www/api/activity/model/activities/Flag.java index 2c61d344..1c37dec0 100644 --- a/src/main/java/com/juick/www/api/activity/model/activities/Flag.java +++ b/src/main/java/com/juick/www/api/activity/model/activities/Flag.java @@ -17,8 +17,40 @@ package com.juick.www.api.activity.model.activities; -import com.juick.www.api.activity.model.Activity; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.juick.www.api.activity.helpers.ActivityIdDeserializer; +import com.juick.www.api.activity.helpers.ContextDeserializer; +import com.juick.www.api.activity.model.Context; +import org.apache.commons.lang3.StringUtils; -public class Flag extends Activity { - +import java.util.List; +import java.util.UUID; + +public class Flag extends Context { + + @JsonDeserialize(using = ActivityIdDeserializer.class) + private String actor; + + public String getActor() { + return actor; + } + + public void setActor(String actor) { + this.actor = actor; + if (StringUtils.isEmpty(getId())) { + setId(String.format("%s#%s", this.actor, UUID.randomUUID())); + } + } + + @JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY) + private List<String> object; + + public List<String> getObject() { + return object; + } + + public void setObject(List<String> object) { + this.object = object; + } } diff --git a/src/main/java/com/juick/www/api/activity/model/objects/Note.java b/src/main/java/com/juick/www/api/activity/model/objects/Note.java index 465ad07c..6792c34e 100644 --- a/src/main/java/com/juick/www/api/activity/model/objects/Note.java +++ b/src/main/java/com/juick/www/api/activity/model/objects/Note.java @@ -24,7 +24,6 @@ import java.time.Instant; import java.util.List; public class Note extends Context { - private String content; private String attributedTo; private String inReplyTo; private List<Context> attachment; @@ -32,15 +31,6 @@ public class Note extends Context { private List<String> cc; private boolean sensitive; private Instant updated; - - public String getContent() { - return content; - } - - public void setContent(String content) { - this.content = content; - } - public String getAttributedTo() { return attributedTo; } |