using Database.Entities; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace Database; public static class DatabaseDependencyInjection { public static IServiceCollection AddDatabase(this IServiceCollection services, IConfiguration configuration) { services.AddDbContext(options => { options.UseSqlServer(configuration.GetConnectionString("ApplicationDbConnection")); }); services.AddIdentityCore(options => { options.Password.RequiredLength = 7; options.Password.RequireDigit = true; options.Password.RequireLowercase = true; options.Password.RequireUppercase = true; options.Password.RequireNonAlphanumeric = true; options.User.RequireUniqueEmail = true; }) .AddRoles>() .AddTokenProvider>("PlayerManagerApi") .AddEntityFrameworkStores() .AddDefaultTokenProviders(); services.Configure(options => { options.TokenLifespan = TimeSpan.FromHours(2); }); return services; } }