first commit

This commit is contained in:
Zeeshaun
2026-04-20 18:15:08 +00:00
commit c98e158e26
111 changed files with 77565 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
using Fragalytics.Web;
using Fragalytics.Web.Infrastructure;
using Fragalytics.Web.Services;
using Fragalytics.RenderWorker.Services;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
var builder = Host.CreateApplicationBuilder(args);
builder.Configuration.AddJsonFile("appsettings.json", optional: true);
builder.Services.Configure<FragalyticsOptions>(builder.Configuration.GetSection("Fragalytics"));
builder.Services.AddSingleton<JsonAppStore>();
builder.Services.AddSingleton<ClipMediaService>();
builder.Services.AddSingleton<IClipRenderBackend>(serviceProvider =>
{
var options = serviceProvider.GetRequiredService<IOptions<FragalyticsOptions>>().Value;
return options.RenderWorker.Backend.Equals("sample-copy", StringComparison.OrdinalIgnoreCase)
? new SampleCopyRenderBackend(serviceProvider.GetRequiredService<IOptions<FragalyticsOptions>>())
: throw new InvalidOperationException($"Unknown render backend '{options.RenderWorker.Backend}'.");
});
builder.Services.AddSingleton<RenderCoordinator>();
builder.Services.AddHostedService<RenderWorkerHostedService>();
await builder.Build().RunAsync();