2024-03-20 23:16:24 -04:00

58 lines
2.1 KiB
C#

using System.Text.Json.Serialization;
using JacobTechEncryption.Enums;
using Luski.Shared.PublicServers.V1.Enums;
namespace Luski.Shared.PublicServers.V1.ClientToServer.HTTP;
public class ChannelPostCTS : CTS
{
[JsonInclude]
[JsonPropertyName("parent")]
public long Parent { get; set; }
[JsonInclude]
[JsonPropertyName("color")]
public string Color { get; set; } = string.Empty;
[JsonInclude]
[JsonPropertyName("type")]
public ChannelType Type { get; set; } = ChannelType.TextAndVoice;
[JsonInclude]
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
[JsonInclude]
[JsonPropertyName("description")]
public string Description { get; set; } = string.Empty;
[JsonInclude]
[JsonPropertyName("role_overrides")]
public UserRoleOverrideCTS[] RoleOverrides { get; set; } = Array.Empty<UserRoleOverrideCTS>();
[JsonInclude]
[JsonPropertyName("member_overrides")]
public UserOverrideCTS[] UserOverrides { get; set; } = Array.Empty<UserOverrideCTS>();
[JsonInclude]
[JsonPropertyName("title_encryption_key")]
public long TitleEncryptionKey { get; set; }
[JsonInclude]
[JsonPropertyName("description_encryption_key")]
public long DescriptionEncryptionKey { get; set; }
[JsonInclude]
[JsonPropertyName("encryption_keys")]
public long[] EncryptionKeys { get; set; } = Array.Empty<long>();
[JsonInclude]
[JsonPropertyName("title_encoder_type")]
public EncoderType TitleEncoderType { get; set; }
[JsonInclude]
[JsonPropertyName("description_encoder_type")]
public EncoderType DescriptionEncoderType { get; set; }
[JsonInclude]
[JsonPropertyName("encoder_types")]
public EncoderType[] EncoderTypes { get; set; } = Array.Empty<EncoderType>();
[JsonInclude]
[JsonPropertyName("picture_type")]
public PictureType PictureType { get; set; }
}
[JsonSerializable(typeof(ChannelPostCTS))]
[JsonSourceGenerationOptions(
GenerationMode = JsonSourceGenerationMode.Default,
PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase,
WriteIndented = false)]
public partial class ChannelPostCTSContext : JsonSerializerContext;