From 08ba9ae758ce7080cb133c9d26eca4986c70f458 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 8 Dec 2024 21:04:13 +0800 Subject: [PATCH] :sparkles: Notify poster with avatar --- pkg/internal/services/accounts.go | 5 +++-- pkg/internal/services/posts.go | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/internal/services/accounts.go b/pkg/internal/services/accounts.go index e48bb77..43a6996 100644 --- a/pkg/internal/services/accounts.go +++ b/pkg/internal/services/accounts.go @@ -28,7 +28,7 @@ func ModifyPosterVoteCount(user models.Publisher, isUpvote bool, delta int) erro return database.C.Save(&user).Error } -func NotifyPosterAccount(pub models.Publisher, post models.Post, title, body string, subtitle ...string) error { +func NotifyPosterAccount(pub models.Publisher, post models.Post, title, body, topic string, subtitle ...string) error { if pub.AccountID == nil { return nil } @@ -38,13 +38,14 @@ func NotifyPosterAccount(pub models.Publisher, post models.Post, title, body str } err := authkit.NotifyUser(gap.Nx, uint64(*pub.AccountID), pushkit.Notification{ - Topic: "interactive.feedback", + Topic: topic, Title: title, Subtitle: subtitle[0], Body: body, Priority: 4, Metadata: map[string]any{ "related_post": TruncatePostContent(post), + "avatar": pub.Avatar, }, }) if err != nil { diff --git a/pkg/internal/services/posts.go b/pkg/internal/services/posts.go index 5201da7..ddc492a 100644 --- a/pkg/internal/services/posts.go +++ b/pkg/internal/services/posts.go @@ -348,6 +348,7 @@ func NewPost(user models.Publisher, item models.Post) (models.Post, error) { op, "Post got replied", fmt.Sprintf("%s (%s) replied your post (#%d).", user.Nick, user.Name, op.ID), + "interactive.reply", fmt.Sprintf("%s replied you", user.Nick), ) if err != nil { @@ -431,6 +432,7 @@ func ReactPost(user authm.Account, reaction models.Reaction) (bool, models.React op, "Post got reacted", fmt.Sprintf("%s (%s) reacted your post a %s.", user.Nick, user.Name, reaction.Symbol), + "interactive.feedback", fmt.Sprintf("%s reacted you", user.Nick), ) if err != nil {