Files
Pilz.Updating/Pilz.Updating/UpdatePackageInfo.cs
2024-11-25 10:53:01 +01:00

42 lines
1.2 KiB
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Pilz.Json;
namespace Pilz.Updating;
public class UpdatePackageInfo(AppVersion version, string address)
{
public string? Name { get; set; }
[JsonConverter(typeof(AppVersionStringJsonConverter))]
public AppVersion Version { get; set; } = version;
public UpdateNotes Notes { get; } = new();
public string Address { get; set; } = address;
public string? ExePath { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public PackageAddressType AddressType { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public PackageType PackageType { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public UpdateType UpdateType { get; set; }
[Obsolete, JsonProperty]
private string Packagelink => GetAddress();
public string GetAddress()
{
return Address
.Replace("{appversion}", Version.ToString())
.Replace("{version}", Version.Version.ToString())
.Replace("{channelstr}", Version.Channel.ToString())
.Replace("{channel}", ((int)Version.Channel).ToString())
.Replace("{build}", Version.Build.ToString())
;
}
}