- Incoming reactions in all three shapes: Misskey and Sharkey Likes carrying an emoji (`content` or `_misskey_reaction`), Pleroma, Akkoma and Iceshrimp.NET EmojiReacts, and their Undo. Unicode reactions are one grapheme; custom ones need their Emoji tag and keep its image; `:name@host:` is read as `name`. A Like whose content is a heart stays a favourite. - Reactions are kept per account and emoji on our posts and on remote ones we hold, and the author of a local post gets a `pleroma:emoji_reaction` notification with the emoji. - Personas react through Pleroma's API (PUT/DELETE /api/v1/pleroma/statuses/:id/reactions/:emoji, GET for the list), which sends an EmojiReact (or its Undo) to the post's author. - Statuses carry `emoji_reactions` (read by Phanpy) and `pleroma.emoji_reactions`, with counts and whether the viewer reacted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
31 lines
670 B
C#
31 lines
670 B
C#
using MongoDB.Entities;
|
|
|
|
namespace PrivaPub.Models.Social
|
|
{
|
|
public class Notification : Entity
|
|
{
|
|
public string AvatarId { get; set; }
|
|
public NotificationType Type { get; set; }
|
|
public string FromAccountId { get; set; }
|
|
public string FromActorURI { get; set; }
|
|
public string PostId { get; set; }
|
|
public string DedupeKey { get; set; }
|
|
public string Emoji { get; set; }//a reaction's emoji
|
|
public string EmojiURL { get; set; }
|
|
public bool IsRead { get; set; }
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
}
|
|
|
|
public enum NotificationType
|
|
{
|
|
Mention,
|
|
Follow,
|
|
FollowRequest,
|
|
Favourite,
|
|
Reblog,
|
|
Update,
|
|
Poll,
|
|
Reaction
|
|
}
|
|
}
|