using System.Collections.Generic;
using System.Runtime.InteropServices.JavaScript;
namespace API.DTOs.Update;
///
/// Update Notification denoting a new release available for user to update to
///
public sealed record UpdateNotificationDto
{
///
/// Current installed Version
///
public required string CurrentVersion { get; init; }
///
/// Semver of the release version
/// 0.4.3
///
public required string UpdateVersion { get; set; }
///
/// Release body in HTML
///
public required string UpdateBody { get; init; }
///
/// Title of the release
///
public required string UpdateTitle { get; set; }
///
/// Github Url
///
public required string UpdateUrl { get; set; }
///
/// If this install is within Docker
///
public bool IsDocker { get; init; }
///
/// Is this a pre-release
///
public bool IsPrerelease { get; init; }
///
/// Date of the publish
///
public required string PublishDate { get; set; }
///
/// Is the server on a nightly within this release
///
public bool IsOnNightlyInRelease { get; set; }
///
/// Is the server on an older version
///
public bool IsReleaseNewer { get; set; }
///
/// Is the server on this version
///
public bool IsReleaseEqual { get; set; }
public IList Added { get; set; }
public IList Removed { get; set; }
public IList Changed { get; set; }
public IList Fixed { get; set; }
public IList Theme { get; set; }
public IList Developer { get; set; }
public IList Api { get; set; }
public IList FeatureRequests { get; set; }
public IList KnownIssues { get; set; }
///
/// The part above the changelog part
///
public string BlogPart { get; set; }
}