40 lines
No EOL
1.6 KiB
C#
40 lines
No EOL
1.6 KiB
C#
using LANCommander.SDK.Abstractions;
|
|
using LANCommander.SDK.Extensions;
|
|
using LANCommander.SDK.Plugins;
|
|
using LANCommander.SDK.Services;
|
|
using LANCommander.Server.Clients;
|
|
using LANCommander.Server.ImportExport.Extensions;
|
|
using LANCommander.Server.Providers;
|
|
using LANCommander.Server.Services.Abstractions;
|
|
using LANCommander.Server.Services.Extensions;
|
|
using LANCommander.Server.Services.Providers;
|
|
using LANCommander.UI.Extensions;
|
|
|
|
namespace LANCommander.Server.Startup;
|
|
|
|
public static class Services
|
|
{
|
|
public static WebApplicationBuilder AddLANCommanderServices(this WebApplicationBuilder builder)
|
|
{
|
|
builder.Services.AddSingleton<IServerAddressProvider, ServerAddressProvider>();
|
|
builder.Services.AddSingleton<IVersionProvider, VersionProvider>();
|
|
builder.Services.AddScoped<IChatClient, ServerChatClient>();
|
|
builder.Services.AddScoped<LANCommander.Server.Endpoints.DownloadThrottle>();
|
|
|
|
builder.Services.AddLANCommanderClient<Settings.Settings>();
|
|
builder.Services.AddLANCommanderServer();
|
|
builder.Services.AddLANCommanderImportExport();
|
|
builder.Services.AddLANCommanderUI();
|
|
|
|
builder.Services.AddAntDesign();
|
|
builder.Services.AddHttpClient();
|
|
builder.Services.AddHttpContextAccessor();
|
|
builder.AddServiceDefaults();
|
|
|
|
// Plugin framework: discover drop-in plugins and let them register services. Must run last,
|
|
// while the service collection is still open (the provider is built immediately after).
|
|
PluginBootstrap.ConfigurePlugins(builder.Services, PluginHost.Server);
|
|
|
|
return builder;
|
|
}
|
|
} |