🧱 Add cloudflare realtime service

This commit is contained in:
2025-07-11 21:07:38 +08:00
parent 2a3918134f
commit 7b026eeae1
7 changed files with 458 additions and 316 deletions

View File

@ -229,7 +229,7 @@ public static class ServiceCollectionExtensions
services.AddScoped<WalletService>();
services.AddScoped<SubscriptionService>();
services.AddScoped<PaymentService>();
services.AddScoped<IRealtimeService, LivekitRealtimeService>();
services.AddRealtimeService(configuration);
services.AddScoped<WebReaderService>();
services.AddScoped<WebFeedService>();
services.AddScoped<AfdianPaymentHandler>();
@ -242,4 +242,22 @@ public static class ServiceCollectionExtensions
return services;
}
}
private static IServiceCollection AddRealtimeService(this IServiceCollection services, IConfiguration configuration)
{
var provider = configuration["Realtime:Provider"];
switch (provider)
{
case "Cloudflare":
services.AddHttpClient<IRealtimeService, CloudflareRealtimeService>();
break;
case "LiveKit":
services.AddScoped<IRealtimeService, LivekitRealtimeService>();
break;
default:
throw new NotSupportedException($"Realtime provider '{provider}' is not supported.");
}
return services;
}
}