Files
SocialPub/PrivaPub/Models/Social/ScheduledStatus.cs
T

37 lines
1.2 KiB
C#
Raw Normal View History

using MongoDB.Entities;
namespace PrivaPub.Models.Social
{
//a post a persona wrote to be published later (Mastodon's scheduled statuses, owner decision 2026-10-04): what it
//asked for, kept as it asked, published by a PublishScheduled job at ScheduledAt. Nothing leaves before then.
public class ScheduledStatus : Entity
{
public string AvatarId { get; set; }
public DateTime ScheduledAt { get; set; }
public ScheduledParams Params { get; set; } = new();
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
}
public class ScheduledParams
{
public string Text { get; set; }
public string SpoilerText { get; set; }
public bool Sensitive { get; set; }
public string Visibility { get; set; }//public, unlisted, private, direct
public string InReplyToId { get; set; }
public string Language { get; set; }
public List<string> MediaIds { get; set; } = new();
public ScheduledPoll Poll { get; set; }
public string QuotedStatusId { get; set; }
public string QuotePolicy { get; set; }
public string Idempotency { get; set; }
}
public class ScheduledPoll
{
public List<string> Options { get; set; } = new();
public int ExpiresIn { get; set; }
public bool Multiple { get; set; }
public bool HideTotals { get; set; }
}
}