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
29 lines
1.2 KiB
C#
29 lines
1.2 KiB
C#
using MongoDB.Entities;
|
|
|
|
namespace PrivaPub.Models.Social
|
|
{
|
|
public class Following : Entity
|
|
{
|
|
public string AvatarId { get; set; }//the local follower: a persona, or the server's reader of feeds (FollowerKind)
|
|
public PrivaPub.Models.Federation.LocalActorKind? FollowerKind { get; set; }//null for a persona
|
|
public string TargetActorURI { get; set; }
|
|
public string TargetAccountId { get; set; }//Avatar.ID, Group.ID or ForeignAvatar.ID
|
|
public bool TargetIsLocal { get; set; }
|
|
public string TargetInboxURL { get; set; }
|
|
public FollowState State { get; set; }
|
|
public string FollowActivityURI { get; set; }
|
|
public bool ShowReblogs { get; set; } = true;
|
|
public bool Notify { get; set; }//Mastodon's notify (R8): a `status` notification for each new post of the account
|
|
public List<string> Languages { get; set; }//Mastodon's languages (R8): only its posts in these reach the home; null, every language
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
public int Resent { get; set; }//how many times a request still unanswered was sent again (FollowService.ResendPending)
|
|
public DateTime? ResentAt { get; set; }
|
|
}
|
|
|
|
public enum FollowState
|
|
{
|
|
Requested,
|
|
Accepted
|
|
}
|
|
}
|