2024-08-27 10:57:46 -04:00

43 lines
1.4 KiB
C#

using System.Text.Json.Serialization;
using JacobTechEncryption.Enums;
namespace Luski.Shared.PublicServers.V1.ServerToClient.HTTP;
public class MessageSTC : STC
{
[JsonInclude]
[JsonPropertyName("id")]
public long ID { get; set; }
[JsonInclude]
[JsonPropertyName("timestamp")]
public long Timestamp { get; set; }
[JsonInclude]
[JsonPropertyName("channel_id")]
public long ChannelID { get; set; }
[JsonInclude]
[JsonPropertyName("author_id")]
public long AuthorID { get; set; }
[JsonInclude]
[JsonPropertyName("profile_id")]
public long ProfileID { get; set; }
[JsonInclude]
[JsonPropertyName("context")]
public string Context { get; set; } = string.Empty;
[JsonInclude]
[JsonPropertyName("encryption_key")]
public long EncryptionKey { get; set; }
[JsonInclude]
[JsonPropertyName("files")]
public ServerFileInfoSTC[] Files { get; set; } = Array.Empty<ServerFileInfoSTC>();
[JsonInclude]
[JsonPropertyName("encoder_type")]
public EncoderType EncoderType { get; set; }
}
[JsonSerializable(typeof(MessageSTC))]
[JsonSourceGenerationOptions(
GenerationMode = JsonSourceGenerationMode.Default,
PropertyNamingPolicy = JsonKnownNamingPolicy.Unspecified,
WriteIndented = false,
DefaultIgnoreCondition = JsonIgnoreCondition.Never)]
public partial class MessageSTCContext : JsonSerializerContext;