namespace PlotLine.Models;

public sealed class ProjectRestorePoint
{
    public int ProjectRestorePointID { get; set; }
    public int ProjectID { get; set; }
    public string ProjectName { get; set; } = string.Empty;
    public string RestorePointName { get; set; } = string.Empty;
    public string RestorePointType { get; set; } = "Manual";
    public DateTime CreatedDateUtc { get; set; }
    public string? JsonData { get; set; }
    public long JsonSizeBytes { get; set; }
    public string? Notes { get; set; }
}

public sealed class ProjectRestorePointDownload
{
    public string FileName { get; init; } = string.Empty;
    public string ContentType { get; init; } = "application/json";
    public string Json { get; init; } = string.Empty;
}

public sealed class ProjectRestoreResult
{
    public bool Succeeded { get; init; }
    public string Message { get; init; } = string.Empty;
    public ProjectRestorePoint? SafetyBackup { get; init; }
}
