Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

Program.cs 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using Microsoft.AspNetCore.Authentication.Google;
  2. using Microsoft.AspNetCore.Identity;
  3. using Quartz;
  4. using Quartz.Impl;
  5. using Quartz.Spi;
  6. using SecureSharing.Business.Infrastructure;
  7. using SecureSharing.Business.Infrastructure.Extensions;
  8. using SecureSharing.Business.Infrastructure.Settings;
  9. using SecureSharing.Business.Interfaces;
  10. using SecureSharing.Business.Services;
  11. using SecureSharing.Data.DbContexts;
  12. using SecureSharing.Infrastructure;
  13. using SecureSharing.Infrastructure.Middleware;
  14. using SecureSharing.Quartz;
  15. var builder = WebApplication.CreateBuilder(args);
  16. var configuration = builder.Configuration;
  17. var services = builder.Services;
  18. StartupConfiguration.ConfigureStartupConfig<EmailSettings>(services, configuration);
  19. services.AddControllersWithViews();
  20. services.AddRazorPages();
  21. StartupExtensions.ConfigureServices(services);
  22. services.AddDefaultIdentity<IdentityUser>(options => { options.SignIn.RequireConfirmedAccount = false; })
  23. .AddDefaultUI()
  24. .AddRoles<IdentityRole>()
  25. .AddEntityFrameworkStores<AppDbContext>();
  26. services.AddScoped<IMessageService, MessageService>();
  27. services.AddScoped<IModelFactory, ModelFactory>();
  28. services.AddAuthentication(o => { o.DefaultScheme = GoogleDefaults.AuthenticationScheme; })
  29. .AddGoogle(options =>
  30. {
  31. options.ClientId = configuration["EmailSettings:ClientId"];
  32. options.ClientSecret = configuration["EmailSettings:ClientSecret"];
  33. });
  34. // Add Quartz services
  35. services.AddSingleton<IJobFactory, JobFactory>();
  36. services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();
  37. // Add our jobs
  38. services.AddScoped<MessageDeletionJob>();
  39. services.AddSingleton(new JobMetadata(
  40. typeof(MessageDeletionJob),
  41. "0 10 09 * * ?"));
  42. services.AddHostedService<JobsService>();
  43. var app = builder.Build();
  44. if (builder.Environment.IsDevelopment())
  45. {
  46. app.UseDeveloperExceptionPage();
  47. }
  48. else
  49. {
  50. app.UseExceptionHandler("/Home/Error");
  51. // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
  52. app.UseHsts();
  53. }
  54. app.UseCookiePolicy(new CookiePolicyOptions
  55. {
  56. MinimumSameSitePolicy = SameSiteMode.Lax
  57. });
  58. app.UseHttpsRedirection();
  59. app.UseStaticFiles();
  60. app.UseRouting();
  61. app.UseAuthentication();
  62. app.UseAuthorization();
  63. app.UseMiddleware(typeof(ExceptionHandlingMiddleware));
  64. app.UseEndpoints(endpoints =>
  65. {
  66. endpoints.MapControllerRoute(
  67. "default",
  68. "{controller=Home}/{action=Index}/{id?}");
  69. endpoints.MapRazorPages();
  70. });
  71. app.Run();