Skip to content

Commit c79f584

Browse files
Narrow some types from object to JsonObject in C# models
1 parent c641b45 commit c79f584

4 files changed

Lines changed: 16 additions & 12 deletions

File tree

extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/Member.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Text.Json;
2+
using System.Text.Json.Nodes;
23
using Spacebar.Models.Generic;
34

45
namespace Spacebar.DataMappings.Generic;
@@ -10,10 +11,10 @@ public static Member ToPublicMember(this Models.Db.Models.Member member, Partial
1011
return new()
1112
{
1213
User = partialUser ?? member.IdNavigation.ToPartialUser(),
13-
AvatarDecorationData = member.AvatarDecorationData,
14+
AvatarDecorationData = string.IsNullOrWhiteSpace(member.AvatarDecorationData) ? null : JsonSerializer.Deserialize<JsonObject>(member.AvatarDecorationData), // TODO: schema
1415
Avatar = string.IsNullOrWhiteSpace(member.Avatar) ? null : member.Avatar,
1516
Banner = string.IsNullOrWhiteSpace(member.Banner) ? null : member.Banner,
16-
Collectibles = member.Collectibles,
17+
Collectibles = string.IsNullOrWhiteSpace(member.Collectibles) ? null : JsonSerializer.Deserialize<JsonObject>(member.Collectibles), // TODO: schema,
1718
DisplayNameStyles = JsonSerializer.Deserialize<DisplayNameStyle>(member.DisplayNameStyles ?? "null"),
1819
Bio = string.IsNullOrWhiteSpace(member.Bio) ? null : member.Bio,
1920
Nick = string.IsNullOrWhiteSpace(member.Nick) ? null : member.Nick,
@@ -52,10 +53,10 @@ public static MemberWithPresence ToPublicMemberWithPresence(this Models.Db.Model
5253
return new()
5354
{
5455
User = partialUser ?? member.IdNavigation.ToPartialUser(),
55-
AvatarDecorationData = member.AvatarDecorationData,
56+
AvatarDecorationData = string.IsNullOrWhiteSpace(member.AvatarDecorationData) ? null : JsonSerializer.Deserialize<JsonObject>(member.AvatarDecorationData), // TODO: schema
5657
Avatar = string.IsNullOrWhiteSpace(member.Avatar) ? null : member.Avatar,
5758
Banner = string.IsNullOrWhiteSpace(member.Banner) ? null : member.Banner,
58-
Collectibles = member.Collectibles,
59+
Collectibles = string.IsNullOrWhiteSpace(member.Collectibles) ? null : JsonSerializer.Deserialize<JsonObject>(member.Collectibles), // TODO: schema
5960
DisplayNameStyles = JsonSerializer.Deserialize<DisplayNameStyle>(member.DisplayNameStyles ?? "null"),
6061
Bio = string.IsNullOrWhiteSpace(member.Bio) ? null : member.Bio,
6162
Nick = string.IsNullOrWhiteSpace(member.Nick) ? null : member.Nick,

extra/admin-api/DataMappings/Spacebar.DataMappings.Generic/User.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Text.Json;
2+
using System.Text.Json.Nodes;
23
using Spacebar.Models.Generic;
34

45
namespace Spacebar.DataMappings.Generic;
@@ -14,13 +15,13 @@ public static PartialUser ToPartialUser(this Models.Db.Models.User user)
1415
Username = user.Username,
1516
AccentColor = user.AccentColor,
1617
Avatar = user.Avatar,
17-
AvatarDecorationData = user.AvatarDecorationData,
18+
AvatarDecorationData = string.IsNullOrWhiteSpace(user.AvatarDecorationData) ? null : JsonSerializer.Deserialize<JsonObject>(user.AvatarDecorationData), // TODO: schema
1819
Banner = user.Banner,
1920
Bot = user.Bot,
20-
Collectibles = user.Collectibles,
21+
Collectibles = string.IsNullOrWhiteSpace(user.Collectibles) ? null : JsonSerializer.Deserialize<JsonObject>(user.Collectibles), // TODO: schema
2122
DisplayNameStyles = JsonSerializer.Deserialize<DisplayNameStyle>(user.DisplayNameStyles ?? "null"),
2223
// GlobalName = x.GlobalName,
23-
PrimaryGuild = user.PrimaryGuild,
24+
PrimaryGuild = string.IsNullOrWhiteSpace(user.PrimaryGuild) ? null : JsonSerializer.Deserialize<JsonObject>(user.PrimaryGuild), // TODO: schema
2425
PublicFlags = user.PublicFlags,
2526
System = user.System,
2627
};

extra/admin-api/Models/Spacebar.Models.Generic/Member.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.Diagnostics;
22
using System.Diagnostics.CodeAnalysis;
33
using System.Text.Json;
4+
using System.Text.Json.Nodes;
45
using System.Text.Json.Serialization;
56

67
namespace Spacebar.Models.Generic;
@@ -21,10 +22,10 @@ public class Member
2122
public string? Avatar { get; set; }
2223

2324
[JsonPropertyName("avatar_decoration_data")]
24-
public object? AvatarDecorationData { get; set; }
25+
public JsonObject? AvatarDecorationData { get; set; }
2526

2627
[JsonPropertyName("collectibles")]
27-
public object? Collectibles { get; set; }
28+
public JsonObject? Collectibles { get; set; }
2829

2930
[JsonPropertyName("display_name_styles"), JsonIgnore(Condition = JsonIgnoreCondition.Never)]
3031
public DisplayNameStyle? DisplayNameStyles { get; set; }

extra/admin-api/Models/Spacebar.Models.Generic/User.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.ComponentModel.DataAnnotations;
22
using System.Diagnostics;
3+
using System.Text.Json.Nodes;
34
using System.Text.Json.Serialization;
45

56
namespace Spacebar.Models.Generic;
@@ -23,16 +24,16 @@ public class PartialUser
2324
public string? Avatar { get; set; }
2425

2526
[JsonPropertyName("avatar_decoration_data")]
26-
public object? AvatarDecorationData { get; set; }
27+
public JsonObject? AvatarDecorationData { get; set; }
2728

2829
[JsonPropertyName("collectibles")]
29-
public object? Collectibles { get; set; }
30+
public JsonObject? Collectibles { get; set; }
3031

3132
[JsonPropertyName("display_name_styles"), JsonIgnore(Condition = JsonIgnoreCondition.Never)]
3233
public DisplayNameStyle? DisplayNameStyles { get; set; }
3334

3435
[JsonPropertyName("primary_guild")]
35-
public object? PrimaryGuild { get; set; }
36+
public JsonObject? PrimaryGuild { get; set; }
3637

3738
[JsonPropertyName("bot")]
3839
public bool? Bot { get; set; }

0 commit comments

Comments
 (0)