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/Profile.java | |
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/Profile.java')
-rw-r--r-- | src/main/java/com/juick/www/api/activity/Profile.java | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/src/main/java/com/juick/www/api/activity/Profile.java b/src/main/java/com/juick/www/api/activity/Profile.java index d815c9d6..101c59f9 100644 --- a/src/main/java/com/juick/www/api/activity/Profile.java +++ b/src/main/java/com/juick/www/api/activity/Profile.java @@ -19,39 +19,23 @@ package com.juick.www.api.activity; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.juick.ActivityPubManager; +import com.juick.CommandsManager; +import com.juick.model.CommandResult; import com.juick.model.Message; import com.juick.model.User; +import com.juick.service.MessagesService; +import com.juick.service.UserService; +import com.juick.service.activities.*; +import com.juick.util.HttpBadRequestException; import com.juick.util.HttpForbiddenException; +import com.juick.util.HttpNotFoundException; import com.juick.util.formatters.PlainTextFormatter; -import com.juick.model.CommandResult; -import com.juick.ActivityPubManager; -import com.juick.CommandsManager; import com.juick.www.api.activity.helpers.ProfileUriBuilder; import com.juick.www.api.activity.model.Activity; import com.juick.www.api.activity.model.Context; -import com.juick.www.api.activity.model.activities.Announce; -import com.juick.www.api.activity.model.activities.Block; -import com.juick.www.api.activity.model.activities.Create; -import com.juick.www.api.activity.model.activities.Delete; -import com.juick.www.api.activity.model.activities.Flag; -import com.juick.www.api.activity.model.activities.Follow; -import com.juick.www.api.activity.model.activities.Like; -import com.juick.www.api.activity.model.activities.Undo; -import com.juick.www.api.activity.model.activities.Update; -import com.juick.www.api.activity.model.objects.Actor; -import com.juick.www.api.activity.model.objects.Note; -import com.juick.www.api.activity.model.objects.OrderedCollection; -import com.juick.www.api.activity.model.objects.OrderedCollectionPage; -import com.juick.www.api.activity.model.objects.Person; -import com.juick.util.HttpBadRequestException; -import com.juick.util.HttpNotFoundException; -import com.juick.service.MessagesService; -import com.juick.service.UserService; -import com.juick.service.activities.AnnounceEvent; -import com.juick.service.activities.DirectMessageEvent; -import com.juick.service.activities.FollowEvent; -import com.juick.service.activities.UndoAnnounceEvent; -import com.juick.service.activities.UndoFollowEvent; +import com.juick.www.api.activity.model.activities.*; +import com.juick.www.api.activity.model.objects.*; import com.overzealous.remark.Remark; import io.swagger.v3.oas.annotations.Parameter; import org.apache.commons.io.IOUtils; @@ -59,7 +43,6 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; -import org.springframework.cache.annotation.CacheEvict; import org.springframework.context.ApplicationEventPublisher; import org.springframework.core.convert.ConversionService; import org.springframework.http.HttpStatus; @@ -373,11 +356,6 @@ public class Profile { applicationEventPublisher.publishEvent(new AnnounceEvent(this, activity.getActor(), messageUri)); return new ResponseEntity<>(CommandResult.fromString("Like/announce request accepted"), HttpStatus.OK); } - if (activity instanceof Flag) { - URI actor = URI.create(activity.getActor()); - logger.info("{} flag some objects: {}", actor, activity.getObject()); - return new ResponseEntity<>(CommandResult.fromString("Report accepted"), HttpStatus.ACCEPTED); - } if (activity instanceof Update) { if (activity.getObject() instanceof Person && activity.getActor().equals(activity.getObject().getId())) { @@ -417,6 +395,10 @@ public class Profile { return new ResponseEntity<>(CommandResult.fromString("Delete request accepted"), HttpStatus.ACCEPTED); } } + } else if (context instanceof Flag flag) { + URI actor = URI.create(flag.getActor()); + logger.info("{} flagged some objects: {}, reason: {}", actor, String.join(", ", flag.getObject()), flag.getContent()); + return new ResponseEntity<>(CommandResult.fromString("Report accepted"), HttpStatus.ACCEPTED); } else { return new ResponseEntity<>(CommandResult.fromString("Can't parse"), HttpStatus.BAD_REQUEST); } |