33 lines
940 B
C#
33 lines
940 B
C#
|
using System;
|
|||
|
using System.Text.Json.Serialization;
|
|||
|
|
|||
|
namespace SharpChat.Misuzu {
|
|||
|
public class MisuzuBanInfo {
|
|||
|
[JsonPropertyName("is_ban")]
|
|||
|
public bool IsBanned { get; set; }
|
|||
|
|
|||
|
[JsonPropertyName("user_id")]
|
|||
|
public string UserId { get; set; }
|
|||
|
|
|||
|
[JsonPropertyName("ip_addr")]
|
|||
|
public string RemoteAddress { get; set; }
|
|||
|
|
|||
|
[JsonPropertyName("is_perma")]
|
|||
|
public bool IsPermanent { get; set; }
|
|||
|
|
|||
|
[JsonPropertyName("expires")]
|
|||
|
public DateTimeOffset ExpiresAt { get; set; }
|
|||
|
|
|||
|
// only populated in list request
|
|||
|
[JsonPropertyName("user_name")]
|
|||
|
public string UserName { get; set; }
|
|||
|
|
|||
|
[JsonPropertyName("user_colour")]
|
|||
|
public int UserColourRaw { get; set; }
|
|||
|
|
|||
|
public bool HasExpired => !IsPermanent && DateTimeOffset.UtcNow >= ExpiresAt;
|
|||
|
|
|||
|
public ChatColour UserColour => ChatColour.FromMisuzu(UserColourRaw);
|
|||
|
}
|
|||
|
}
|