From f35a7aecd313547a6f6478a056fb2d5593f1c07b Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 15 May 2021 22:20:53 +0300 Subject: Big daddy refactor --- ExamTemplate/Web/Startup.cs | 134 -------------------------------------------- 1 file changed, 134 deletions(-) delete mode 100644 ExamTemplate/Web/Startup.cs (limited to 'ExamTemplate/Web/Startup.cs') diff --git a/ExamTemplate/Web/Startup.cs b/ExamTemplate/Web/Startup.cs deleted file mode 100644 index c18bca6..0000000 --- a/ExamTemplate/Web/Startup.cs +++ /dev/null @@ -1,134 +0,0 @@ -using System; -using System.Linq; -using ExamTemplate.Common; -using ExamTemplate.Data; -using ExamTemplate.Data.Models; -using ExamTemplate.Services.Services; -using ExamTemplate.Services.Interfaces; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Identity; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; - -namespace ExamTemplate.Web -{ - public class Startup - { - public Startup(IConfiguration configuration) - { - Configuration = configuration; - } - - public IConfiguration Configuration { get; } - - // This method gets called by the runtime. Use this method to add services to the container. - public void ConfigureServices(IServiceCollection services) - { - services.AddControllersWithViews(); - services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); - - /* - * Dependency Injection configuration - */ - - services.AddTransient(options => - new CloudinaryService( - cloudName: this.Configuration.GetSection("Cloud").GetSection("cloudName").Value, - apiKey: this.Configuration.GetSection("Cloud").GetSection("apiKey").Value, - apiSecret: this.Configuration.GetSection("Cloud").GetSection("apiSecret").Value)); - services.AddTransient(); - - /* - * Database configuration - */ - - services.AddDbContext(options => - options.UseNpgsql(this.Configuration.GetConnectionString("LocalDBConnection"))); - - // Needed for SignInManager and UserManager - services.AddIdentity>(options => - { - options.SignIn.RequireConfirmedAccount = false; - - // Password settings - options.Password.RequireDigit = false; - options.Password.RequireLowercase = false; - options.Password.RequireNonAlphanumeric = false; - options.Password.RequireUppercase = false; - options.Password.RequiredLength = 3; - options.Password.RequiredUniqueChars = 0; - }).AddRoles>() - .AddEntityFrameworkStores(); - } - - // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder app, IWebHostEnvironment env) - { - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. - app.UseHsts(); - } - - app.UseStaticFiles(); - - app.UseRouting(); - - app.UseAuthentication(); - app.UseAuthorization(); - - app.UseEndpoints(endpoints => - { - endpoints.MapControllerRoute( - name: "default", - pattern: "{controller=Home}/{action=Index}/{id?}"); - endpoints.MapFallbackToController("ErrorNotFound", "Home"); - }); - - /* - * Make sure that the database is migrated - * and that the User and Admin role exist in database - */ - - using var serviceScope = app.ApplicationServices.CreateScope(); - using var dbContext = serviceScope.ServiceProvider.GetRequiredService(); - - dbContext.Database.Migrate(); - - var roleManager = (RoleManager>)serviceScope.ServiceProvider.GetService(typeof(RoleManager>)); - foreach (string name in RoleConst.GetAllNames()) - { - if (!dbContext.Roles.Any(x => x.Name == name)) - { - IdentityRole role = new IdentityRole() { Name = name }; - roleManager.CreateAsync(role).Wait(); - } - } - - /* If you want to create some custom database values at startup - * uncomment the following code - * and replace OBJCONST_ with your static class with constants (e.g. RoleConst) - * replace OBJS_ with the name of the DbSet of your database model (e.g. Roles) - * replace OBJ_ with the name of your database model (e.g. Role) - - foreach (string name in OBJCONST_.GetAllNames()) - { - if (!dbContext.OBJS_.Any(x => x.Name == name)) - { - var entity = new OBJ_() { Id = Guid.NewGuid(), Name = name }; - dbContext.OBJS_.Add(entity); - dbContext.SaveChanges(); - } - } - */ - } - } -} -- cgit v1.2.3