diff --git a/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/Member.cs b/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/Member.cs index 040da7d72..48f894c62 100644 --- a/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/Member.cs +++ b/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/Member.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using System.Text.Json.Nodes; using Spacebar.Models.Generic; namespace Spacebar.DataMappings.Generic; @@ -10,10 +11,10 @@ public static class MemberExtensions return new() { User = partialUser ?? member.IdNavigation.ToPartialUser(), - AvatarDecorationData = member.AvatarDecorationData, + AvatarDecorationData = string.IsNullOrWhiteSpace(member.AvatarDecorationData) ? null : JsonSerializer.Deserialize(member.AvatarDecorationData), // TODO: schema Avatar = string.IsNullOrWhiteSpace(member.Avatar) ? null : member.Avatar, Banner = string.IsNullOrWhiteSpace(member.Banner) ? null : member.Banner, - Collectibles = member.Collectibles, + Collectibles = string.IsNullOrWhiteSpace(member.Collectibles) ? null : JsonSerializer.Deserialize(member.Collectibles), // TODO: schema, DisplayNameStyles = JsonSerializer.Deserialize(member.DisplayNameStyles ?? "null"), Bio = string.IsNullOrWhiteSpace(member.Bio) ? null : member.Bio, Nick = string.IsNullOrWhiteSpace(member.Nick) ? null : member.Nick, @@ -52,10 +53,10 @@ public static class MemberExtensions return new() { User = partialUser ?? member.IdNavigation.ToPartialUser(), - AvatarDecorationData = member.AvatarDecorationData, + AvatarDecorationData = string.IsNullOrWhiteSpace(member.AvatarDecorationData) ? null : JsonSerializer.Deserialize(member.AvatarDecorationData), // TODO: schema Avatar = string.IsNullOrWhiteSpace(member.Avatar) ? null : member.Avatar, Banner = string.IsNullOrWhiteSpace(member.Banner) ? null : member.Banner, - Collectibles = member.Collectibles, + Collectibles = string.IsNullOrWhiteSpace(member.Collectibles) ? null : JsonSerializer.Deserialize(member.Collectibles), // TODO: schema DisplayNameStyles = JsonSerializer.Deserialize(member.DisplayNameStyles ?? "null"), Bio = string.IsNullOrWhiteSpace(member.Bio) ? null : member.Bio, Nick = string.IsNullOrWhiteSpace(member.Nick) ? null : member.Nick, diff --git a/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/User.cs b/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/User.cs index 3672599f3..457544fdc 100644 --- a/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/User.cs +++ b/extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/User.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using System.Text.Json.Nodes; using Spacebar.Models.Generic; namespace Spacebar.DataMappings.Generic; @@ -14,13 +15,13 @@ public static class User Username = user.Username, AccentColor = user.AccentColor, Avatar = user.Avatar, - AvatarDecorationData = user.AvatarDecorationData, + AvatarDecorationData = string.IsNullOrWhiteSpace(user.AvatarDecorationData) ? null : JsonSerializer.Deserialize(user.AvatarDecorationData), // TODO: schema Banner = user.Banner, Bot = user.Bot, - Collectibles = user.Collectibles, + Collectibles = string.IsNullOrWhiteSpace(user.Collectibles) ? null : JsonSerializer.Deserialize(user.Collectibles), // TODO: schema DisplayNameStyles = JsonSerializer.Deserialize(user.DisplayNameStyles ?? "null"), // GlobalName = x.GlobalName, - PrimaryGuild = user.PrimaryGuild, + PrimaryGuild = string.IsNullOrWhiteSpace(user.PrimaryGuild) ? null : JsonSerializer.Deserialize(user.PrimaryGuild), // TODO: schema PublicFlags = user.PublicFlags, System = user.System, }; diff --git a/extra/admin-api/Models/Spacebar.Models.Generic/Member.cs b/extra/admin-api/Models/Spacebar.Models.Generic/Member.cs index 749b0988e..bb01fc47d 100644 --- a/extra/admin-api/Models/Spacebar.Models.Generic/Member.cs +++ b/extra/admin-api/Models/Spacebar.Models.Generic/Member.cs @@ -1,6 +1,7 @@ using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Text.Json; +using System.Text.Json.Nodes; using System.Text.Json.Serialization; namespace Spacebar.Models.Generic; @@ -21,10 +22,10 @@ public class Member public string? Avatar { get; set; } [JsonPropertyName("avatar_decoration_data")] - public object? AvatarDecorationData { get; set; } + public JsonObject? AvatarDecorationData { get; set; } [JsonPropertyName("collectibles")] - public object? Collectibles { get; set; } + public JsonObject? Collectibles { get; set; } [JsonPropertyName("display_name_styles"), JsonIgnore(Condition = JsonIgnoreCondition.Never)] public DisplayNameStyle? DisplayNameStyles { get; set; } diff --git a/extra/admin-api/Models/Spacebar.Models.Generic/User.cs b/extra/admin-api/Models/Spacebar.Models.Generic/User.cs index ad0028d82..aa512621f 100644 --- a/extra/admin-api/Models/Spacebar.Models.Generic/User.cs +++ b/extra/admin-api/Models/Spacebar.Models.Generic/User.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Diagnostics; +using System.Text.Json.Nodes; using System.Text.Json.Serialization; namespace Spacebar.Models.Generic; @@ -23,16 +24,16 @@ public class PartialUser public string? Avatar { get; set; } [JsonPropertyName("avatar_decoration_data")] - public object? AvatarDecorationData { get; set; } + public JsonObject? AvatarDecorationData { get; set; } [JsonPropertyName("collectibles")] - public object? Collectibles { get; set; } + public JsonObject? Collectibles { get; set; } [JsonPropertyName("display_name_styles"), JsonIgnore(Condition = JsonIgnoreCondition.Never)] public DisplayNameStyle? DisplayNameStyles { get; set; } [JsonPropertyName("primary_guild")] - public object? PrimaryGuild { get; set; } + public JsonObject? PrimaryGuild { get; set; } [JsonPropertyName("bot")] public bool? Bot { get; set; }