freetubesync/FreeTubeSync/EndPoints/PingEndpoint.cs

29 lines
913 B
C#
Raw Normal View History

using FreeTubeSync.Database;
namespace FreeTubeSync.EndPoints;
public static class PingEndpoint
{
public static void MapPingEndpoints(this WebApplication app)
{
var group = app.MapGroup("ping");
group.MapGet("/", async (DataContext dbContext, CancellationToken token) =>
{
await dbContext.CleanupChangeLogAsync(token);
var dict = new { AppVersion = "0.1.5" };
return Results.Ok(dict);
});
group.MapGet("/lastUpdated", async (DataContext dbContext, CancellationToken token) =>
{
var log = await dbContext.GetLatestChangeAsync(token);
if (log == null)
return Results.NotFound();
var dict = new { LastUpdated = log.ChangeTime };
await dbContext.CleanupChangeLogAsync(token);
return Results.Ok(dict);
});
}
}