Featured tags per persona (/api/v1/featured_tags, suggestions, tags/:name/feature, accounts' featured tags, max 10),
listed at /tattoos as Hashtags and sent as Add/Remove{Hashtag} to followers on the featured collection, as Mastodon
sends them; remote accounts' tags received and read from featuredTags. Endorsements (pin/endorse) and private notes
(PersonaNote) kept per persona and never federated; the relationship's notifying, languages, endorsed and note, with
follow's notify (status notifications) and languages (home filter). Reading preferences set on /clientapi. Suggestions
v1/v2 with dismissals and staff picks, never the persona or a sibling. conversation events on the direct stream.
translate, annual reports and the admin API answer. New collections backed up and removed with their persona.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WpVCoDeM1qUTRp4fXQdfof
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
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 string Text { get; set; }//a moderation warning's reason
|
|
[MongoDB.Bson.Serialization.Attributes.BsonIgnoreIfNull]
|
|
public string WarningAction { get; set; }//a warning from this server's staff: Mastodon's AccountWarning action (silence, suspend, delete_statuses)
|
|
[MongoDB.Bson.Serialization.Attributes.BsonIgnoreIfNull]
|
|
public List<string> StatusIds { get; set; }//the posts a warning is about, when more than PostId
|
|
public bool IsRead { get; set; }
|
|
public bool Filtered { get; set; }//held back by the persona's notification policy, in a NotificationRequest
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
}
|
|
|
|
public enum NotificationType
|
|
{
|
|
Mention,
|
|
Follow,
|
|
FollowRequest,
|
|
Favourite,
|
|
Reblog,
|
|
Update,
|
|
Poll,
|
|
Reaction,
|
|
Quote,
|
|
ModerationWarning,
|
|
Status//a new post of an account the persona follows with notify (R8)
|
|
}
|
|
}
|