Moar Fixes

This commit is contained in:
Tim Zöller 2026-01-03 20:39:57 +01:00
parent c9b982890a
commit bc63e0f16d
2 changed files with 23 additions and 2 deletions

View file

@ -119,10 +119,22 @@ public class ActivityPubController {
return ResponseEntity.notFound().build();
}
User user = userOpt.get();
String outboxUrl = baseUrl + "/users/" + username + "/outbox";
// TODO: Fetch actual activities from database
OrderedCollection collection = OrderedCollection.empty(outboxUrl);
// Count public activities for this user
// Mastodon and other ActivityPub servers primarily use the totalItems count
long activityCount = activityRepository.countByUserIdAndVisibility(
user.getId(),
Activity.Visibility.PUBLIC
);
OrderedCollection collection = OrderedCollection.builder()
.context("https://www.w3.org/ns/activitystreams")
.type("OrderedCollection")
.id(outboxUrl)
.totalItems((int) activityCount)
.build();
return ResponseEntity.ok(collection);
}

View file

@ -88,6 +88,15 @@ public interface ActivityRepository extends JpaRepository<Activity, UUID> {
*/
long countByUserId(UUID userId);
/**
* Count activities for a user by visibility.
*
* @param userId the user ID
* @param visibility the visibility level
* @return count of activities
*/
long countByUserIdAndVisibility(UUID userId, Activity.Visibility visibility);
/**
* Find an activity by ID and user ID.
*