Initial commit

This commit is contained in:
2023-04-07 18:08:49 -04:00
commit 6967e6ca18
12 changed files with 995 additions and 0 deletions

42
GitHubRelease.cs Normal file
View File

@@ -0,0 +1,42 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Globalization;
namespace ChrisKaczor.ApplicationUpdate
{
public partial class GitHubRelease
{
[JsonProperty("tag_name")]
public string? TagName { get; set; }
[JsonProperty("assets")]
public List<Asset>? Assets { get; set; }
}
public class Asset
{
[JsonProperty("created_at")]
public DateTimeOffset? CreatedAt { get; set; }
[JsonProperty("browser_download_url")]
public string? BrowserDownloadUrl { get; set; }
}
public partial class GitHubRelease
{
public static GitHubRelease? FromJson(string json) => JsonConvert.DeserializeObject<GitHubRelease>(json, Converter.Settings);
}
internal class Converter
{
public static readonly JsonSerializerSettings Settings = new()
{
MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
DateParseHandling = DateParseHandling.None,
Converters =
{
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
}
};
}
}