Skip to content

Add workout likes (local + federation) #4

Description

@solargate

Allow authenticated users to like/unlike any workout they can see in the feed: own workouts, followed local users, and federated workouts from followed remote actors.

Requirements

  • API: like/unlike endpoints; enforce feed access (reuse CanAccessWorkout + federated feed visibility)
  • Storage: persist likes per (workout owner/key, workout id, liker) for local and inbox-cached federated workouts
  • Federation (ActivityPub):
    • deliver Like / Undo when a local user likes a remote workout (or when appropriate for local workouts with remote followers)
    • handle inbound Like / Undo in the inbox processor
    • map likes to federated workout object IDs consistently with existing Create/Delete delivery
  • Responses: like_count, liked_by_me on feed/workout payloads (local + federated)
  • UI: like button + count in feed and workout detail (EN/RU/DE)
  • Tests: backend (service, access control, inbox/delivery); Flutter as needed

Out of scope

  • Push/email notifications to workout owner

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions