42 lines
1.2 KiB
C#
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())
|
|
;
|
|
}
|
|
} |