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 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 } }