using LANCommander.Launcher.Data; using LANCommander.Launcher.Services; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LANCommander.Launcher.Extensions { public static class ServiceCollectionExtensions { public static IServiceCollection AddLANCommander(this IServiceCollection services) { var settings = SettingService.GetSettings(); services.AddDbContext(); #region Register Client var client = new SDK.Client(settings.Authentication.ServerAddress, settings.Games.DefaultInstallDirectory); client.UseToken(new SDK.Models.AuthToken { AccessToken = settings.Authentication.AccessToken, RefreshToken = settings.Authentication.RefreshToken, }); services.AddSingleton(client); services.AddSingleton(); #endregion services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); return services; } } }