using Microsoft.AspNetCore.Mvc.RazorPages;
namespace Dpz.Core.WebApi.Pages;
/// <summary>
///
/// </summary>
public class ChangeLogs(IHybridCachingProvider hybridCachingProvider) : PageModel
{
/// <summary>
///
/// </summary>
public string ChangeLog { get; set; }
/// <summary>
/// get
/// </summary>
public async Task OnGetAsync()
{
var key = $"CHANGELOG-{Assembly.GetEntryAssembly()?.GetName().Version?.ToString()}";
var cache = await hybridCachingProvider.GetAsync<string>(key);
if (!cache.IsNull && cache.HasValue)
{
ChangeLog = cache.Value;
}
var changLogFilePath =
Path.Combine(Path.GetDirectoryName(typeof(Program).Assembly.Location) ?? "", "CHANGELOG.md");
if (System.IO.File.Exists(changLogFilePath))
{
ChangeLog = await System.IO.File.ReadAllTextAsync(changLogFilePath);
await hybridCachingProvider.SetAsync(key, ChangeLog, TimeSpan.FromDays(7));
}
}
}