Iceshrimp.NET/Iceshrimp.Backend/Controllers/Mastodon/Schemas/Entities/PollEntity.cs

25 lines
No EOL
1.1 KiB
C#

using Iceshrimp.Shared.Helpers;
using J = System.Text.Json.Serialization.JsonPropertyNameAttribute;
namespace Iceshrimp.Backend.Controllers.Mastodon.Schemas.Entities;
public class PollEntity : IIdentifiable
{
[J("expires_at")] public required string? ExpiresAt { get; set; }
[J("expired")] public required bool Expired { get; set; }
[J("multiple")] public required bool Multiple { get; set; }
[J("votes_count")] public required int VotesCount { get; set; }
[J("voters_count")] public required int? VotersCount { get; set; }
[J("voted")] public required bool Voted { get; set; }
[J("own_votes")] public required int[] OwnVotes { get; set; }
[J("options")] public required List<PollOptionEntity> Options { get; set; }
[J("emojis")] public List<EmojiEntity> Emoji => []; //TODO
[J("id")] public required string Id { get; set; }
}
public class PollOptionEntity
{
[J("title")] public required string Title { get; set; }
[J("votes_count")] public required int VotesCount { get; set; }
}