Skip to content

Commit

Permalink
Simplify usage of PresenceProperties
Browse files Browse the repository at this point in the history
  • Loading branch information
KubaZ2 committed Aug 9, 2023
1 parent 3d28220 commit 262dc8c
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 12 deletions.
6 changes: 3 additions & 3 deletions NetCord/Gateway/PresenceProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ namespace NetCord.Gateway;

public partial class PresenceProperties
{
public PresenceProperties(UserStatusType statusType, bool afk)
public PresenceProperties(UserStatusType statusType)
{
StatusType = statusType;
Afk = afk;
}

[JsonConverter(typeof(JsonConverters.MillisecondsNullableUnixDateTimeOffsetConverter))]
[JsonPropertyName("since")]
public int? Since { get; set; }
public DateTimeOffset? Since { get; set; }

[JsonPropertyName("activities")]
public IEnumerable<UserActivityProperties>? Activities { get; set; }
Expand Down
15 changes: 14 additions & 1 deletion NetCord/Gateway/UserActivityProperties.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,42 +16,55 @@ public UserActivityProperties(string name, UserActivityType type)
[JsonPropertyName("type")]
public UserActivityType Type { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("url")]
public string? Url { get; set; }

[JsonConverter(typeof(JsonConverters.MillisecondsUnixDateTimeOffsetConverter))]
[JsonPropertyName("created_at")]
public int CreatedAt { get; set; }
public DateTimeOffset CreatedAt { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("timestamps")]
public UserActivityTimestampsProperties? Timestamps { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("application_id")]
public ulong? ApplicationId { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("details")]
public string? Details { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("state")]
public string? State { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("emoji")]
public EmojiProperties? Emoji { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("party")]
public PartyProperties? Party { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("assets")]
public UserActivityAssetsProperties? Assets { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("secrets")]
public UserActivitySecretsProperties? Secrets { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("instance")]
public bool? Instance { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("flags")]
public UserActivityFlags? Flags { get; set; }

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("buttons")]
public IEnumerable<UserActivityButtonProperties>? Buttons { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,7 @@ public class MillisecondsNullableUnixDateTimeOffsetConverter : JsonConverter<Dat

public override void Write(Utf8JsonWriter writer, DateTimeOffset? value, JsonSerializerOptions options)
{
if (value.HasValue)
writer.WriteNumberValue(value.GetValueOrDefault().ToUnixTimeMilliseconds());
else
writer.WriteNullValue();
writer.WriteNumberValue(value.GetValueOrDefault().ToUnixTimeMilliseconds());
}
}

Expand All @@ -46,9 +43,6 @@ public class SecondsNullableUnixDateTimeOffsetConverter : JsonConverter<DateTime

public override void Write(Utf8JsonWriter writer, DateTimeOffset? value, JsonSerializerOptions options)
{
if (value.HasValue)
writer.WriteNumberValue(value.GetValueOrDefault().ToUnixTimeSeconds());
else
writer.WriteNullValue();
writer.WriteNumberValue(value.GetValueOrDefault().ToUnixTimeSeconds());
}
}

0 comments on commit 262dc8c

Please sign in to comment.