feat: add post like
This commit is contained in:
@@ -39,6 +39,13 @@ type Post struct {
|
||||
// after the repo returns posts; always false for anonymous viewers.
|
||||
// Drives the post-card "Reshare ↔ Send" swap on the frontend.
|
||||
ViewerHasReshared bool `json:"viewer_has_reshared"`
|
||||
|
||||
// Likes. LikesCount is the effective total = the denormalized
|
||||
// posts.likes_count plus any still-pending Redis delta (hydrated by the
|
||||
// like layer). ViewerHasLiked reflects the calling user's membership row;
|
||||
// false for anonymous viewers.
|
||||
LikesCount int `json:"likes_count"`
|
||||
ViewerHasLiked bool `json:"viewer_has_liked"`
|
||||
}
|
||||
|
||||
// PostImage represents one attached image on a post.
|
||||
@@ -167,6 +174,13 @@ type Notification struct {
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
ReadAt *time.Time `json:"read_at,omitempty"`
|
||||
|
||||
// Aggregation: for post_like, PostID is the liked post and ActorCount is
|
||||
// how many likers have aggregated into this single row (the frontend
|
||||
// renders "X and N-1 others liked your post"). Other kinds: PostID nil,
|
||||
// ActorCount 1.
|
||||
PostID *string `json:"post_id,omitempty"`
|
||||
ActorCount int `json:"actor_count"`
|
||||
|
||||
ActorName *string `json:"actor_name,omitempty"`
|
||||
ActorHandle *string `json:"actor_handle,omitempty"`
|
||||
ActorAvatar *string `json:"actor_avatar_url,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user