Files
server/extra/admin-api/Models/Spacebar.Models.Gateway/GuildMEmberEvents.cs
T

42 lines
1.5 KiB
C#

using System.Text.Json.Serialization;
using Spacebar.Models.Generic;
namespace Spacebar.Models.Gateway;
public class GuildMemberEvents {
public class Add : Member {
[JsonPropertyName("guild_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public long GuildId { get; set; }
}
public class Update {
[JsonPropertyName("guild_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public long GuildId { get; set; }
[JsonPropertyName("user")]
public PartialUser User { get; set; } // TODO: not partial
[JsonPropertyName("roles"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public List<long> Roles { get; set; }
[JsonPropertyName("nick")]
public string? Nick { get; set; }
[JsonPropertyName("joined_at")]
public DateTime? JoinedAt { get; set; }
[JsonPropertyName("premium_since")]
public DateTime? PremiumSince { get; set; } // TODO serialise as unix?
[JsonPropertyName("pending")]
public bool? Pending { get; set; }
}
public class Remove {
[JsonPropertyName("guild_id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public long GuildId { get; set; }
[JsonPropertyName("user")]
public PartialUser User { get; set; } // TODO: not partial
}
}