diff --git a/extra/admin-api/Models/Spacebar.Models.Generic/User.cs b/extra/admin-api/Models/Spacebar.Models.Generic/User.cs
index 428794af..ad0028d8 100644
--- a/extra/admin-api/Models/Spacebar.Models.Generic/User.cs
+++ b/extra/admin-api/Models/Spacebar.Models.Generic/User.cs
@@ -1,10 +1,12 @@
+using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.Text.Json.Serialization;
namespace Spacebar.Models.Generic;
[DebuggerDisplay("{Id} ({Username}#{Discriminator})")]
-public class PartialUser {
+public class PartialUser
+{
[JsonPropertyName("id"), JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
public required long Id { get; set; }
@@ -26,8 +28,8 @@ public class PartialUser {
[JsonPropertyName("collectibles")]
public object? Collectibles { get; set; }
- [JsonPropertyName("display_name_styles")]
- public object? DisplayNameStyles { get; set; }
+ [JsonPropertyName("display_name_styles"), JsonIgnore(Condition = JsonIgnoreCondition.Never)]
+ public DisplayNameStyle? DisplayNameStyles { get; set; }
[JsonPropertyName("primary_guild")]
public object? PrimaryGuild { get; set; }
@@ -46,4 +48,43 @@ public class PartialUser {
[JsonPropertyName("public_flags")]
public ulong? PublicFlags { get; set; }
+}
+
+public class DisplayNameStyle
+{
+ [JsonPropertyName("font_id")]
+ public Font FontId { get; set; } = Font.Default;
+
+ [JsonPropertyName("effect_id")]
+ public Effect EffectId { get; set; } = Effect.Solid;
+
+ [JsonPropertyName("colors"), MaxLength(2)]
+ public List<int> Colors { get; set; } = [];
+
+ // https://docs.discord.food/resources/user#display-name-font - unsure if these are just really close or directly used by discord while being renamed...
+ public enum Font
+ {
+ Bangers = 1,
+ BioRhyme = 2,
+ CherryBomb = 3,
+ Chicle = 4,
+ Compagnon = 5,
+ MuseoModerno = 6,
+ NeoCastel = 7,
+ Pixelify = 8,
+ Ribes = 9,
+ Sinistre = 10,
+ Default = 11,
+ ZillaSlab = 12
+ }
+
+ public enum Effect
+ {
+ Solid = 1,
+ Gradient = 2,
+ Neon = 3,
+ Toon = 4,
+ Pop = 5,
+ Glow = 6
+ }
}
\ No newline at end of file
|