aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/server/ActivityPubManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/juick/server/ActivityPubManager.java')
-rw-r--r--src/main/java/com/juick/server/ActivityPubManager.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/com/juick/server/ActivityPubManager.java b/src/main/java/com/juick/server/ActivityPubManager.java
index 2fa663eb..76ab677a 100644
--- a/src/main/java/com/juick/server/ActivityPubManager.java
+++ b/src/main/java/com/juick/server/ActivityPubManager.java
@@ -15,6 +15,7 @@ import com.juick.server.api.activity.model.objects.Image;
import com.juick.server.api.activity.model.objects.Mention;
import com.juick.server.api.activity.model.objects.Note;
import com.juick.server.api.activity.model.objects.Person;
+import com.juick.server.util.HttpBadRequestException;
import com.juick.server.util.HttpUtils;
import com.juick.service.MessagesService;
import com.juick.service.SocialService;
@@ -355,4 +356,14 @@ public class ActivityPubManager implements ActivityListener, NotificationListene
}
});
}
+ public User personToUser(URI uri) throws HttpBadRequestException {
+ Person person = (Person) signatureManager.getContext(uri).orElseThrow(HttpBadRequestException::new);
+ User user = new User();
+ user.setUri(URI.create(person.getId()));
+ user.setName(person.getPreferredUsername());
+ if (person.getIcon() != null) {
+ user.setAvatar(person.getIcon().getUrl());
+ }
+ return user;
+ }
}