Narrow some types from object to JsonObject in C# models

This commit is contained in:
Rory&
2026-07-05 04:22:26 +02:00
parent c641b45e58
commit c79f584dc7
4 changed files with 16 additions and 12 deletions
@@ -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<JsonObject>(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<JsonObject>(member.Collectibles), // TODO: schema,
DisplayNameStyles = JsonSerializer.Deserialize<DisplayNameStyle>(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<JsonObject>(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<JsonObject>(member.Collectibles), // TODO: schema
DisplayNameStyles = JsonSerializer.Deserialize<DisplayNameStyle>(member.DisplayNameStyles ?? "null"),
Bio = string.IsNullOrWhiteSpace(member.Bio) ? null : member.Bio,
Nick = string.IsNullOrWhiteSpace(member.Nick) ? null : member.Nick,
@@ -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<JsonObject>(user.AvatarDecorationData), // TODO: schema
Banner = user.Banner,
Bot = user.Bot,
Collectibles = user.Collectibles,
Collectibles = string.IsNullOrWhiteSpace(user.Collectibles) ? null : JsonSerializer.Deserialize<JsonObject>(user.Collectibles), // TODO: schema
DisplayNameStyles = JsonSerializer.Deserialize<DisplayNameStyle>(user.DisplayNameStyles ?? "null"),
// GlobalName = x.GlobalName,
PrimaryGuild = user.PrimaryGuild,
PrimaryGuild = string.IsNullOrWhiteSpace(user.PrimaryGuild) ? null : JsonSerializer.Deserialize<JsonObject>(user.PrimaryGuild), // TODO: schema
PublicFlags = user.PublicFlags,
System = user.System,
};
@@ -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; }
@@ -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; }