32 lines
935 B
C#
32 lines
935 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 Colour UserColour => Colour.FromMisuzu(UserColourRaw);
|
|
}
|
|
}
|