Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Program.cs 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using Diligent.WebAPI.Business.Services;
  2. using Diligent.WebAPI.Data.Entities;
  3. using Diligent.WebAPI.Data.HelperModels;
  4. using Diligent.WebAPI.Host.Hubs;
  5. using Microsoft.AspNetCore.Identity;
  6. using Serilog;
  7. using Serilog.Formatting.Json;
  8. var builder = WebApplication.CreateBuilder(args);
  9. builder.ConfigureData(builder.Configuration);
  10. var collection = builder.Services;
  11. Diligent.WebAPI.Host.Extensions.ApiConfiguration.ConfigureServices(collection);
  12. builder.ConfigureValidationMiddleware();
  13. var app = builder.Build();
  14. using (var serviceScope = app.Services.CreateScope())
  15. {
  16. var roleManager = serviceScope.ServiceProvider.GetRequiredService<RoleManager<Roles>>();
  17. var requestService = serviceScope.ServiceProvider.GetRequiredService<RequestService>();
  18. var roomService = serviceScope.ServiceProvider.GetRequiredService<RoomService>();
  19. var customerManager = serviceScope.ServiceProvider.GetRequiredService<UserManager<Customer>>();
  20. if (!await roleManager.RoleExistsAsync("Support"))
  21. {
  22. await roleManager.CreateAsync(new Roles() { Name = "Support" });
  23. }
  24. if (!await roleManager.RoleExistsAsync("Customer"))
  25. {
  26. await roleManager.CreateAsync(new Roles() { Name = "Customer" });
  27. }
  28. if ((await roomService.GetRoomsAsync()).Count() == 0)
  29. {
  30. await roomService.CreateRoomAsync(new Room { Id = "61da70bbde07582b720e056d", Name = "Room1", Customers = new List<CustomerDTO>(), Messages = new List<Message>(), CreatedBy = "8a781b04-8d3a-4d65-98ab-77b832a6dd06" });
  31. await roomService.CreateRoomAsync(new Room { Id = "61da61cbde07582b720e056d", Name = "Room2", Customers = new List<CustomerDTO>(), Messages = new List<Message>(), CreatedBy = "8a781b04-8d3a-4d65-98ab-77b832a6dd06" });
  32. }
  33. if ((await requestService.GetRequestsAsync()).Count() == 0)
  34. {
  35. await requestService.CreateRequestAsync(new Request { Id = "62fb60badc07582b720e056d", RoomId = "61da70bbde07582b720e056d", SenderId = "8a781b04-3d3a-4d65-98ab-77b532a6ad06", SenderUsername = "User2", RoomName = "Room1" });
  36. await requestService.CreateRequestAsync(new Request { Id = "62fb31bbde12482b720e156f", RoomId = "61da70bbde07582b720e056d", SenderId = "8e781b04-8d4a-4d65-98ab-37b832a6da06", SenderUsername = "User3", RoomName = "Room2" });
  37. }
  38. if (await customerManager.FindByEmailAsync("user1@gmail.com") == null)
  39. {
  40. Customer customer = new()
  41. {
  42. Id = new Guid("8a781b04-8d3a-4d65-98ab-77b832a6dd06"),
  43. FirstName = "User1",
  44. LastName = "User1",
  45. Email = "user1@gmail.com",
  46. UserName = "user1"
  47. };
  48. await customerManager.CreateAsync(customer, "Nekasifra123!");
  49. await customerManager.AddToRoleAsync(customer, "Support");
  50. }
  51. if (await customerManager.FindByEmailAsync("user2@gmail.com") == null)
  52. {
  53. Customer customer = new()
  54. {
  55. Id = new Guid("8a781b04-3d3a-4d65-98ab-77b532a6ad06"),
  56. FirstName = "User2",
  57. LastName = "User2",
  58. Email = "user2@gmail.com",
  59. UserName = "user2"
  60. };
  61. await customerManager.CreateAsync(customer, "Nekasifra123!");
  62. await customerManager.AddToRoleAsync(customer, "Customer");
  63. }
  64. if (await customerManager.FindByEmailAsync("user3@gmail.com") == null)
  65. {
  66. Customer customer = new()
  67. {
  68. Id = new Guid("8e781b04-8d4a-4d65-98ab-37b832a6da06"),
  69. FirstName = "User3",
  70. LastName = "User3",
  71. Email = "user3@gmail.com",
  72. UserName = "user3"
  73. };
  74. await customerManager.CreateAsync(customer, "Nekasifra123!");
  75. await customerManager.AddToRoleAsync(customer, "Customer");
  76. }
  77. }
  78. app.UseCors("ClientPermission");
  79. app.MapControllers();
  80. app.UseAuthentication();
  81. app.UseAuthorization();
  82. app.SetupData();
  83. app.MapHub<ChatHub>("/chatHub");
  84. app.MapHub<ConnectionHub>("/statusHub");
  85. app.Run();