diff options
Diffstat (limited to 'src/main/java/com/juick/server/ActivityPubManager.java')
-rw-r--r-- | src/main/java/com/juick/server/ActivityPubManager.java | 11 |
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; + } } |