Added change log to track updates to the database, for easier pinging from Syncer client.
29 lines
No EOL
843 B
C#
29 lines
No EOL
843 B
C#
using FreeTubeSync.Database;
|
|
using FreeTubeSync.Model.Database;
|
|
|
|
namespace FreeTubeSync.EndPoints;
|
|
|
|
public static class PingEndpoint
|
|
{
|
|
public static void MapPingEndpoints(this WebApplication app)
|
|
{
|
|
var group = app.MapGroup("ping");
|
|
group.MapGet("/", async (CancellationToken token) =>
|
|
{
|
|
await Task.Delay(10);
|
|
var dict = new { AppVersion = "0.1.3" };
|
|
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 };
|
|
return Results.Ok(dict);
|
|
});
|
|
}
|
|
} |